packages feed

gi-gst 1.0.18 → 1.0.19

raw patch · 191 files changed

+110/−113053 lines, 191 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,3 +1,7 @@+### 1.0.19+++ List autogenerated modules in .cabal file+ ### 1.0.18  + Update to haskell-gi(-base) 0.22
− GI/Gst.hs
@@ -1,60 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst-    (     module GI.Gst.Callbacks                 ,-    module GI.Gst.Constants                 ,-    module GI.Gst.Enums                     ,-    module GI.Gst.Flags                     ,-    module GI.Gst.Functions                 ,-    module GI.Gst.Interfaces                ,-    module GI.Gst.Objects                   ,-    module GI.Gst.Structs                   ,----    module Data.GI.Base                     ,---    ) where--import GI.Gst.Callbacks-import GI.Gst.Constants-import GI.Gst.Enums-import GI.Gst.Flags-import GI.Gst.Functions-import GI.Gst.Interfaces-import GI.Gst.Objects-import GI.Gst.Structs--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL---import Data.GI.Base-
− GI/Gst/Callbacks.hs
@@ -1,7052 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Callbacks-    ( -- -- * Signals--- ** BufferForeachMetaFunc #signal:BufferForeachMetaFunc#--    BufferForeachMetaFunc                   ,-    BufferForeachMetaFunc_WithClosures      ,-    C_BufferForeachMetaFunc                 ,-    drop_closures_BufferForeachMetaFunc     ,-    dynamic_BufferForeachMetaFunc           ,-    genClosure_BufferForeachMetaFunc        ,-    mk_BufferForeachMetaFunc                ,-    noBufferForeachMetaFunc                 ,-    noBufferForeachMetaFunc_WithClosures    ,-    wrap_BufferForeachMetaFunc              ,----- ** BufferListFunc #signal:BufferListFunc#--    BufferListFunc                          ,-    BufferListFunc_WithClosures             ,-    C_BufferListFunc                        ,-    drop_closures_BufferListFunc            ,-    dynamic_BufferListFunc                  ,-    genClosure_BufferListFunc               ,-    mk_BufferListFunc                       ,-    noBufferListFunc                        ,-    noBufferListFunc_WithClosures           ,-    wrap_BufferListFunc                     ,----- ** BusFunc #signal:BusFunc#--    BusFunc                                 ,-    BusFunc_WithClosures                    ,-    C_BusFunc                               ,-    drop_closures_BusFunc                   ,-    dynamic_BusFunc                         ,-    genClosure_BusFunc                      ,-    mk_BusFunc                              ,-    noBusFunc                               ,-    noBusFunc_WithClosures                  ,-    wrap_BusFunc                            ,----- ** BusSyncHandler #signal:BusSyncHandler#--    BusSyncHandler                          ,-    BusSyncHandler_WithClosures             ,-    C_BusSyncHandler                        ,-    drop_closures_BusSyncHandler            ,-    dynamic_BusSyncHandler                  ,-    genClosure_BusSyncHandler               ,-    mk_BusSyncHandler                       ,-    noBusSyncHandler                        ,-    noBusSyncHandler_WithClosures           ,-    wrap_BusSyncHandler                     ,----- ** CapsFilterMapFunc #signal:CapsFilterMapFunc#--    C_CapsFilterMapFunc                     ,-    CapsFilterMapFunc                       ,-    CapsFilterMapFunc_WithClosures          ,-    drop_closures_CapsFilterMapFunc         ,-    dynamic_CapsFilterMapFunc               ,-    genClosure_CapsFilterMapFunc            ,-    mk_CapsFilterMapFunc                    ,-    noCapsFilterMapFunc                     ,-    noCapsFilterMapFunc_WithClosures        ,-    wrap_CapsFilterMapFunc                  ,----- ** CapsForeachFunc #signal:CapsForeachFunc#--    C_CapsForeachFunc                       ,-    CapsForeachFunc                         ,-    CapsForeachFunc_WithClosures            ,-    drop_closures_CapsForeachFunc           ,-    dynamic_CapsForeachFunc                 ,-    genClosure_CapsForeachFunc              ,-    mk_CapsForeachFunc                      ,-    noCapsForeachFunc                       ,-    noCapsForeachFunc_WithClosures          ,-    wrap_CapsForeachFunc                    ,----- ** CapsMapFunc #signal:CapsMapFunc#--    C_CapsMapFunc                           ,-    CapsMapFunc                             ,-    CapsMapFunc_WithClosures                ,-    drop_closures_CapsMapFunc               ,-    dynamic_CapsMapFunc                     ,-    genClosure_CapsMapFunc                  ,-    mk_CapsMapFunc                          ,-    noCapsMapFunc                           ,-    noCapsMapFunc_WithClosures              ,-    wrap_CapsMapFunc                        ,----- ** ClockCallback #signal:ClockCallback#--    C_ClockCallback                         ,-    ClockCallback                           ,-    ClockCallback_WithClosures              ,-    drop_closures_ClockCallback             ,-    dynamic_ClockCallback                   ,-    genClosure_ClockCallback                ,-    mk_ClockCallback                        ,-    noClockCallback                         ,-    noClockCallback_WithClosures            ,-    wrap_ClockCallback                      ,----- ** ControlBindingConvert #signal:ControlBindingConvert#--    C_ControlBindingConvert                 ,-    ControlBindingConvert                   ,-    dynamic_ControlBindingConvert           ,-    genClosure_ControlBindingConvert        ,-    mk_ControlBindingConvert                ,-    noControlBindingConvert                 ,-    wrap_ControlBindingConvert              ,----- ** ControlSourceGetValue #signal:ControlSourceGetValue#--    C_ControlSourceGetValue                 ,-    ControlSourceGetValue                   ,-    dynamic_ControlSourceGetValue           ,-    genClosure_ControlSourceGetValue        ,-    mk_ControlSourceGetValue                ,-    noControlSourceGetValue                 ,-    wrap_ControlSourceGetValue              ,----- ** ControlSourceGetValueArray #signal:ControlSourceGetValueArray#--    C_ControlSourceGetValueArray            ,-    ControlSourceGetValueArray              ,-    dynamic_ControlSourceGetValueArray      ,-    genClosure_ControlSourceGetValueArray   ,-    mk_ControlSourceGetValueArray           ,-    noControlSourceGetValueArray            ,-    wrap_ControlSourceGetValueArray         ,----- ** DebugFuncPtr #signal:DebugFuncPtr#--    C_DebugFuncPtr                          ,-    DebugFuncPtr                            ,-    dynamic_DebugFuncPtr                    ,-    genClosure_DebugFuncPtr                 ,-    mk_DebugFuncPtr                         ,-    noDebugFuncPtr                          ,-    wrap_DebugFuncPtr                       ,----- ** ElementCallAsyncFunc #signal:ElementCallAsyncFunc#--    C_ElementCallAsyncFunc                  ,-    ElementCallAsyncFunc                    ,-    ElementCallAsyncFunc_WithClosures       ,-    drop_closures_ElementCallAsyncFunc      ,-    dynamic_ElementCallAsyncFunc            ,-    genClosure_ElementCallAsyncFunc         ,-    mk_ElementCallAsyncFunc                 ,-    noElementCallAsyncFunc                  ,-    noElementCallAsyncFunc_WithClosures     ,-    wrap_ElementCallAsyncFunc               ,----- ** ElementForeachPadFunc #signal:ElementForeachPadFunc#--    C_ElementForeachPadFunc                 ,-    ElementForeachPadFunc                   ,-    ElementForeachPadFunc_WithClosures      ,-    drop_closures_ElementForeachPadFunc     ,-    dynamic_ElementForeachPadFunc           ,-    genClosure_ElementForeachPadFunc        ,-    mk_ElementForeachPadFunc                ,-    noElementForeachPadFunc                 ,-    noElementForeachPadFunc_WithClosures    ,-    wrap_ElementForeachPadFunc              ,----- ** IteratorCopyFunction #signal:IteratorCopyFunction#--    C_IteratorCopyFunction                  ,-    IteratorCopyFunction                    ,-    dynamic_IteratorCopyFunction            ,-    genClosure_IteratorCopyFunction         ,-    mk_IteratorCopyFunction                 ,-    noIteratorCopyFunction                  ,-    wrap_IteratorCopyFunction               ,----- ** IteratorFoldFunction #signal:IteratorFoldFunction#--    C_IteratorFoldFunction                  ,-    IteratorFoldFunction                    ,-    IteratorFoldFunction_WithClosures       ,-    drop_closures_IteratorFoldFunction      ,-    dynamic_IteratorFoldFunction            ,-    genClosure_IteratorFoldFunction         ,-    mk_IteratorFoldFunction                 ,-    noIteratorFoldFunction                  ,-    noIteratorFoldFunction_WithClosures     ,-    wrap_IteratorFoldFunction               ,----- ** IteratorForeachFunction #signal:IteratorForeachFunction#--    C_IteratorForeachFunction               ,-    IteratorForeachFunction                 ,-    IteratorForeachFunction_WithClosures    ,-    drop_closures_IteratorForeachFunction   ,-    dynamic_IteratorForeachFunction         ,-    genClosure_IteratorForeachFunction      ,-    mk_IteratorForeachFunction              ,-    noIteratorForeachFunction               ,-    noIteratorForeachFunction_WithClosures  ,-    wrap_IteratorForeachFunction            ,----- ** IteratorFreeFunction #signal:IteratorFreeFunction#--    C_IteratorFreeFunction                  ,-    IteratorFreeFunction                    ,-    dynamic_IteratorFreeFunction            ,-    genClosure_IteratorFreeFunction         ,-    mk_IteratorFreeFunction                 ,-    noIteratorFreeFunction                  ,-    wrap_IteratorFreeFunction               ,----- ** IteratorItemFunction #signal:IteratorItemFunction#--    C_IteratorItemFunction                  ,-    IteratorItemFunction                    ,-    dynamic_IteratorItemFunction            ,-    genClosure_IteratorItemFunction         ,-    mk_IteratorItemFunction                 ,-    noIteratorItemFunction                  ,-    wrap_IteratorItemFunction               ,----- ** IteratorNextFunction #signal:IteratorNextFunction#--    C_IteratorNextFunction                  ,-    IteratorNextFunction                    ,-    dynamic_IteratorNextFunction            ,-    genClosure_IteratorNextFunction         ,-    mk_IteratorNextFunction                 ,-    noIteratorNextFunction                  ,-    wrap_IteratorNextFunction               ,----- ** IteratorResyncFunction #signal:IteratorResyncFunction#--    C_IteratorResyncFunction                ,-    IteratorResyncFunction                  ,-    dynamic_IteratorResyncFunction          ,-    genClosure_IteratorResyncFunction       ,-    mk_IteratorResyncFunction               ,-    noIteratorResyncFunction                ,-    wrap_IteratorResyncFunction             ,----- ** LogFunction #signal:LogFunction#--    C_LogFunction                           ,-    LogFunction                             ,-    LogFunction_WithClosures                ,-    drop_closures_LogFunction               ,-    dynamic_LogFunction                     ,-    genClosure_LogFunction                  ,-    mk_LogFunction                          ,-    noLogFunction                           ,-    noLogFunction_WithClosures              ,-    wrap_LogFunction                        ,----- ** MemoryCopyFunction #signal:MemoryCopyFunction#--    C_MemoryCopyFunction                    ,-    MemoryCopyFunction                      ,-    dynamic_MemoryCopyFunction              ,-    genClosure_MemoryCopyFunction           ,-    mk_MemoryCopyFunction                   ,-    noMemoryCopyFunction                    ,-    wrap_MemoryCopyFunction                 ,----- ** MemoryIsSpanFunction #signal:MemoryIsSpanFunction#--    C_MemoryIsSpanFunction                  ,-    MemoryIsSpanFunction                    ,-    dynamic_MemoryIsSpanFunction            ,-    genClosure_MemoryIsSpanFunction         ,-    mk_MemoryIsSpanFunction                 ,-    noMemoryIsSpanFunction                  ,-    wrap_MemoryIsSpanFunction               ,----- ** MemoryMapFullFunction #signal:MemoryMapFullFunction#--    C_MemoryMapFullFunction                 ,-    MemoryMapFullFunction                   ,-    dynamic_MemoryMapFullFunction           ,-    genClosure_MemoryMapFullFunction        ,-    mk_MemoryMapFullFunction                ,-    noMemoryMapFullFunction                 ,-    wrap_MemoryMapFullFunction              ,----- ** MemoryMapFunction #signal:MemoryMapFunction#--    C_MemoryMapFunction                     ,-    MemoryMapFunction                       ,-    dynamic_MemoryMapFunction               ,-    genClosure_MemoryMapFunction            ,-    mk_MemoryMapFunction                    ,-    noMemoryMapFunction                     ,-    wrap_MemoryMapFunction                  ,----- ** MemoryShareFunction #signal:MemoryShareFunction#--    C_MemoryShareFunction                   ,-    MemoryShareFunction                     ,-    dynamic_MemoryShareFunction             ,-    genClosure_MemoryShareFunction          ,-    mk_MemoryShareFunction                  ,-    noMemoryShareFunction                   ,-    wrap_MemoryShareFunction                ,----- ** MemoryUnmapFullFunction #signal:MemoryUnmapFullFunction#--    C_MemoryUnmapFullFunction               ,-    MemoryUnmapFullFunction                 ,-    dynamic_MemoryUnmapFullFunction         ,-    genClosure_MemoryUnmapFullFunction      ,-    mk_MemoryUnmapFullFunction              ,-    noMemoryUnmapFullFunction               ,-    wrap_MemoryUnmapFullFunction            ,----- ** MemoryUnmapFunction #signal:MemoryUnmapFunction#--    C_MemoryUnmapFunction                   ,-    MemoryUnmapFunction                     ,-    dynamic_MemoryUnmapFunction             ,-    genClosure_MemoryUnmapFunction          ,-    mk_MemoryUnmapFunction                  ,-    noMemoryUnmapFunction                   ,-    wrap_MemoryUnmapFunction                ,----- ** MetaFreeFunction #signal:MetaFreeFunction#--    C_MetaFreeFunction                      ,-    MetaFreeFunction                        ,-    dynamic_MetaFreeFunction                ,-    genClosure_MetaFreeFunction             ,-    mk_MetaFreeFunction                     ,-    noMetaFreeFunction                      ,-    wrap_MetaFreeFunction                   ,----- ** MetaInitFunction #signal:MetaInitFunction#--    C_MetaInitFunction                      ,-    MetaInitFunction                        ,-    dynamic_MetaInitFunction                ,-    genClosure_MetaInitFunction             ,-    mk_MetaInitFunction                     ,-    noMetaInitFunction                      ,-    wrap_MetaInitFunction                   ,----- ** MetaTransformFunction #signal:MetaTransformFunction#--    C_MetaTransformFunction                 ,-    MetaTransformFunction                   ,-    dynamic_MetaTransformFunction           ,-    genClosure_MetaTransformFunction        ,-    mk_MetaTransformFunction                ,-    noMetaTransformFunction                 ,-    wrap_MetaTransformFunction              ,----- ** MiniObjectDisposeFunction #signal:MiniObjectDisposeFunction#--    C_MiniObjectDisposeFunction             ,-    MiniObjectDisposeFunction               ,-    dynamic_MiniObjectDisposeFunction       ,-    genClosure_MiniObjectDisposeFunction    ,-    mk_MiniObjectDisposeFunction            ,-    noMiniObjectDisposeFunction             ,-    wrap_MiniObjectDisposeFunction          ,----- ** MiniObjectFreeFunction #signal:MiniObjectFreeFunction#--    C_MiniObjectFreeFunction                ,-    MiniObjectFreeFunction                  ,-    dynamic_MiniObjectFreeFunction          ,-    genClosure_MiniObjectFreeFunction       ,-    mk_MiniObjectFreeFunction               ,-    noMiniObjectFreeFunction                ,-    wrap_MiniObjectFreeFunction             ,----- ** MiniObjectNotify #signal:MiniObjectNotify#--    C_MiniObjectNotify                      ,-    MiniObjectNotify                        ,-    MiniObjectNotify_WithClosures           ,-    drop_closures_MiniObjectNotify          ,-    dynamic_MiniObjectNotify                ,-    genClosure_MiniObjectNotify             ,-    mk_MiniObjectNotify                     ,-    noMiniObjectNotify                      ,-    noMiniObjectNotify_WithClosures         ,-    wrap_MiniObjectNotify                   ,----- ** PadActivateFunction #signal:PadActivateFunction#--    C_PadActivateFunction                   ,-    PadActivateFunction                     ,-    dynamic_PadActivateFunction             ,-    genClosure_PadActivateFunction          ,-    mk_PadActivateFunction                  ,-    noPadActivateFunction                   ,-    wrap_PadActivateFunction                ,----- ** PadActivateModeFunction #signal:PadActivateModeFunction#--    C_PadActivateModeFunction               ,-    PadActivateModeFunction                 ,-    dynamic_PadActivateModeFunction         ,-    genClosure_PadActivateModeFunction      ,-    mk_PadActivateModeFunction              ,-    noPadActivateModeFunction               ,-    wrap_PadActivateModeFunction            ,----- ** PadChainFunction #signal:PadChainFunction#--    C_PadChainFunction                      ,-    PadChainFunction                        ,-    dynamic_PadChainFunction                ,-    genClosure_PadChainFunction             ,-    mk_PadChainFunction                     ,-    noPadChainFunction                      ,-    wrap_PadChainFunction                   ,----- ** PadChainListFunction #signal:PadChainListFunction#--    C_PadChainListFunction                  ,-    PadChainListFunction                    ,-    dynamic_PadChainListFunction            ,-    genClosure_PadChainListFunction         ,-    mk_PadChainListFunction                 ,-    noPadChainListFunction                  ,-    wrap_PadChainListFunction               ,----- ** PadEventFullFunction #signal:PadEventFullFunction#--    C_PadEventFullFunction                  ,-    PadEventFullFunction                    ,-    dynamic_PadEventFullFunction            ,-    genClosure_PadEventFullFunction         ,-    mk_PadEventFullFunction                 ,-    noPadEventFullFunction                  ,-    wrap_PadEventFullFunction               ,----- ** PadEventFunction #signal:PadEventFunction#--    C_PadEventFunction                      ,-    PadEventFunction                        ,-    dynamic_PadEventFunction                ,-    genClosure_PadEventFunction             ,-    mk_PadEventFunction                     ,-    noPadEventFunction                      ,-    wrap_PadEventFunction                   ,----- ** PadForwardFunction #signal:PadForwardFunction#--    C_PadForwardFunction                    ,-    PadForwardFunction                      ,-    PadForwardFunction_WithClosures         ,-    drop_closures_PadForwardFunction        ,-    dynamic_PadForwardFunction              ,-    genClosure_PadForwardFunction           ,-    mk_PadForwardFunction                   ,-    noPadForwardFunction                    ,-    noPadForwardFunction_WithClosures       ,-    wrap_PadForwardFunction                 ,----- ** PadGetRangeFunction #signal:PadGetRangeFunction#--    C_PadGetRangeFunction                   ,-    PadGetRangeFunction                     ,-    dynamic_PadGetRangeFunction             ,-    genClosure_PadGetRangeFunction          ,-    mk_PadGetRangeFunction                  ,-    noPadGetRangeFunction                   ,-    wrap_PadGetRangeFunction                ,----- ** PadIterIntLinkFunction #signal:PadIterIntLinkFunction#--    C_PadIterIntLinkFunction                ,-    PadIterIntLinkFunction                  ,-    dynamic_PadIterIntLinkFunction          ,-    genClosure_PadIterIntLinkFunction       ,-    mk_PadIterIntLinkFunction               ,-    noPadIterIntLinkFunction                ,-    wrap_PadIterIntLinkFunction             ,----- ** PadLinkFunction #signal:PadLinkFunction#--    C_PadLinkFunction                       ,-    PadLinkFunction                         ,-    dynamic_PadLinkFunction                 ,-    genClosure_PadLinkFunction              ,-    mk_PadLinkFunction                      ,-    noPadLinkFunction                       ,-    wrap_PadLinkFunction                    ,----- ** PadProbeCallback #signal:PadProbeCallback#--    C_PadProbeCallback                      ,-    PadProbeCallback                        ,-    PadProbeCallback_WithClosures           ,-    drop_closures_PadProbeCallback          ,-    dynamic_PadProbeCallback                ,-    genClosure_PadProbeCallback             ,-    mk_PadProbeCallback                     ,-    noPadProbeCallback                      ,-    noPadProbeCallback_WithClosures         ,-    wrap_PadProbeCallback                   ,----- ** PadQueryFunction #signal:PadQueryFunction#--    C_PadQueryFunction                      ,-    PadQueryFunction                        ,-    dynamic_PadQueryFunction                ,-    genClosure_PadQueryFunction             ,-    mk_PadQueryFunction                     ,-    noPadQueryFunction                      ,-    wrap_PadQueryFunction                   ,----- ** PadStickyEventsForeachFunction #signal:PadStickyEventsForeachFunction#--    C_PadStickyEventsForeachFunction        ,-    PadStickyEventsForeachFunction          ,-    PadStickyEventsForeachFunction_WithClosures,-    drop_closures_PadStickyEventsForeachFunction,-    dynamic_PadStickyEventsForeachFunction  ,-    genClosure_PadStickyEventsForeachFunction,-    mk_PadStickyEventsForeachFunction       ,-    noPadStickyEventsForeachFunction        ,-    noPadStickyEventsForeachFunction_WithClosures,-    wrap_PadStickyEventsForeachFunction     ,----- ** PadUnlinkFunction #signal:PadUnlinkFunction#--    C_PadUnlinkFunction                     ,-    PadUnlinkFunction                       ,-    dynamic_PadUnlinkFunction               ,-    genClosure_PadUnlinkFunction            ,-    mk_PadUnlinkFunction                    ,-    noPadUnlinkFunction                     ,-    wrap_PadUnlinkFunction                  ,----- ** PluginFeatureFilter #signal:PluginFeatureFilter#--    C_PluginFeatureFilter                   ,-    PluginFeatureFilter                     ,-    PluginFeatureFilter_WithClosures        ,-    drop_closures_PluginFeatureFilter       ,-    dynamic_PluginFeatureFilter             ,-    genClosure_PluginFeatureFilter          ,-    mk_PluginFeatureFilter                  ,-    noPluginFeatureFilter                   ,-    noPluginFeatureFilter_WithClosures      ,-    wrap_PluginFeatureFilter                ,----- ** PluginFilter #signal:PluginFilter#--    C_PluginFilter                          ,-    PluginFilter                            ,-    PluginFilter_WithClosures               ,-    drop_closures_PluginFilter              ,-    dynamic_PluginFilter                    ,-    genClosure_PluginFilter                 ,-    mk_PluginFilter                         ,-    noPluginFilter                          ,-    noPluginFilter_WithClosures             ,-    wrap_PluginFilter                       ,----- ** PluginInitFullFunc #signal:PluginInitFullFunc#--    C_PluginInitFullFunc                    ,-    PluginInitFullFunc                      ,-    PluginInitFullFunc_WithClosures         ,-    drop_closures_PluginInitFullFunc        ,-    dynamic_PluginInitFullFunc              ,-    genClosure_PluginInitFullFunc           ,-    mk_PluginInitFullFunc                   ,-    noPluginInitFullFunc                    ,-    noPluginInitFullFunc_WithClosures       ,-    wrap_PluginInitFullFunc                 ,----- ** PluginInitFunc #signal:PluginInitFunc#--    C_PluginInitFunc                        ,-    PluginInitFunc                          ,-    dynamic_PluginInitFunc                  ,-    genClosure_PluginInitFunc               ,-    mk_PluginInitFunc                       ,-    noPluginInitFunc                        ,-    wrap_PluginInitFunc                     ,----- ** PromiseChangeFunc #signal:PromiseChangeFunc#--    C_PromiseChangeFunc                     ,-    PromiseChangeFunc                       ,-    PromiseChangeFunc_WithClosures          ,-    drop_closures_PromiseChangeFunc         ,-    dynamic_PromiseChangeFunc               ,-    genClosure_PromiseChangeFunc            ,-    mk_PromiseChangeFunc                    ,-    noPromiseChangeFunc                     ,-    noPromiseChangeFunc_WithClosures        ,-    wrap_PromiseChangeFunc                  ,----- ** StructureFilterMapFunc #signal:StructureFilterMapFunc#--    C_StructureFilterMapFunc                ,-    StructureFilterMapFunc                  ,-    StructureFilterMapFunc_WithClosures     ,-    drop_closures_StructureFilterMapFunc    ,-    dynamic_StructureFilterMapFunc          ,-    genClosure_StructureFilterMapFunc       ,-    mk_StructureFilterMapFunc               ,-    noStructureFilterMapFunc                ,-    noStructureFilterMapFunc_WithClosures   ,-    wrap_StructureFilterMapFunc             ,----- ** StructureForeachFunc #signal:StructureForeachFunc#--    C_StructureForeachFunc                  ,-    StructureForeachFunc                    ,-    StructureForeachFunc_WithClosures       ,-    drop_closures_StructureForeachFunc      ,-    dynamic_StructureForeachFunc            ,-    genClosure_StructureForeachFunc         ,-    mk_StructureForeachFunc                 ,-    noStructureForeachFunc                  ,-    noStructureForeachFunc_WithClosures     ,-    wrap_StructureForeachFunc               ,----- ** StructureMapFunc #signal:StructureMapFunc#--    C_StructureMapFunc                      ,-    StructureMapFunc                        ,-    StructureMapFunc_WithClosures           ,-    drop_closures_StructureMapFunc          ,-    dynamic_StructureMapFunc                ,-    genClosure_StructureMapFunc             ,-    mk_StructureMapFunc                     ,-    noStructureMapFunc                      ,-    noStructureMapFunc_WithClosures         ,-    wrap_StructureMapFunc                   ,----- ** TagForeachFunc #signal:TagForeachFunc#--    C_TagForeachFunc                        ,-    TagForeachFunc                          ,-    TagForeachFunc_WithClosures             ,-    drop_closures_TagForeachFunc            ,-    dynamic_TagForeachFunc                  ,-    genClosure_TagForeachFunc               ,-    mk_TagForeachFunc                       ,-    noTagForeachFunc                        ,-    noTagForeachFunc_WithClosures           ,-    wrap_TagForeachFunc                     ,----- ** TagMergeFunc #signal:TagMergeFunc#--    C_TagMergeFunc                          ,-    TagMergeFunc                            ,-    dynamic_TagMergeFunc                    ,-    genClosure_TagMergeFunc                 ,-    mk_TagMergeFunc                         ,-    noTagMergeFunc                          ,-    wrap_TagMergeFunc                       ,----- ** TaskFunction #signal:TaskFunction#--    C_TaskFunction                          ,-    TaskFunction                            ,-    TaskFunction_WithClosures               ,-    drop_closures_TaskFunction              ,-    dynamic_TaskFunction                    ,-    genClosure_TaskFunction                 ,-    mk_TaskFunction                         ,-    noTaskFunction                          ,-    noTaskFunction_WithClosures             ,-    wrap_TaskFunction                       ,----- ** TaskPoolFunction #signal:TaskPoolFunction#--    C_TaskPoolFunction                      ,-    TaskPoolFunction                        ,-    TaskPoolFunction_WithClosures           ,-    drop_closures_TaskPoolFunction          ,-    dynamic_TaskPoolFunction                ,-    genClosure_TaskPoolFunction             ,-    mk_TaskPoolFunction                     ,-    noTaskPoolFunction                      ,-    noTaskPoolFunction_WithClosures         ,-    wrap_TaskPoolFunction                   ,----- ** TaskThreadFunc #signal:TaskThreadFunc#--    C_TaskThreadFunc                        ,-    TaskThreadFunc                          ,-    TaskThreadFunc_WithClosures             ,-    drop_closures_TaskThreadFunc            ,-    dynamic_TaskThreadFunc                  ,-    genClosure_TaskThreadFunc               ,-    mk_TaskThreadFunc                       ,-    noTaskThreadFunc                        ,-    noTaskThreadFunc_WithClosures           ,-    wrap_TaskThreadFunc                     ,----- ** TypeFindFunction #signal:TypeFindFunction#--    C_TypeFindFunction                      ,-    TypeFindFunction                        ,-    TypeFindFunction_WithClosures           ,-    drop_closures_TypeFindFunction          ,-    dynamic_TypeFindFunction                ,-    genClosure_TypeFindFunction             ,-    mk_TypeFindFunction                     ,-    noTypeFindFunction                      ,-    noTypeFindFunction_WithClosures         ,-    wrap_TypeFindFunction                   ,----- ** TypeFindGetLengthFieldCallback #signal:TypeFindGetLengthFieldCallback#--    C_TypeFindGetLengthFieldCallback        ,-    TypeFindGetLengthFieldCallback          ,-    dynamic_TypeFindGetLengthFieldCallback  ,-    genClosure_TypeFindGetLengthFieldCallback,-    mk_TypeFindGetLengthFieldCallback       ,-    noTypeFindGetLengthFieldCallback        ,-    wrap_TypeFindGetLengthFieldCallback     ,----- ** TypeFindPeekFieldCallback #signal:TypeFindPeekFieldCallback#--    C_TypeFindPeekFieldCallback             ,-    TypeFindPeekFieldCallback               ,-    dynamic_TypeFindPeekFieldCallback       ,-    genClosure_TypeFindPeekFieldCallback    ,-    mk_TypeFindPeekFieldCallback            ,-    noTypeFindPeekFieldCallback             ,-    wrap_TypeFindPeekFieldCallback          ,----- ** TypeFindSuggestFieldCallback #signal:TypeFindSuggestFieldCallback#--    C_TypeFindSuggestFieldCallback          ,-    TypeFindSuggestFieldCallback            ,-    dynamic_TypeFindSuggestFieldCallback    ,-    genClosure_TypeFindSuggestFieldCallback ,-    mk_TypeFindSuggestFieldCallback         ,-    noTypeFindSuggestFieldCallback          ,-    wrap_TypeFindSuggestFieldCallback       ,----- ** ValueCompareFunc #signal:ValueCompareFunc#--    C_ValueCompareFunc                      ,-    ValueCompareFunc                        ,-    dynamic_ValueCompareFunc                ,-    genClosure_ValueCompareFunc             ,-    mk_ValueCompareFunc                     ,-    noValueCompareFunc                      ,-    wrap_ValueCompareFunc                   ,----- ** ValueDeserializeFunc #signal:ValueDeserializeFunc#--    C_ValueDeserializeFunc                  ,-    ValueDeserializeFunc                    ,-    dynamic_ValueDeserializeFunc            ,-    genClosure_ValueDeserializeFunc         ,-    mk_ValueDeserializeFunc                 ,-    noValueDeserializeFunc                  ,-    wrap_ValueDeserializeFunc               ,----- ** ValueSerializeFunc #signal:ValueSerializeFunc#--    C_ValueSerializeFunc                    ,-    ValueSerializeFunc                      ,-    dynamic_ValueSerializeFunc              ,-    genClosure_ValueSerializeFunc           ,-    mk_ValueSerializeFunc                   ,-    noValueSerializeFunc                    ,-    wrap_ValueSerializeFunc                 ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Structs.Thread as GLib.Thread-import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Bus as Gst.Bus-import {-# SOURCE #-} qualified GI.Gst.Objects.Clock as Gst.Clock-import {-# SOURCE #-} qualified GI.Gst.Objects.ControlBinding as Gst.ControlBinding-import {-# SOURCE #-} qualified GI.Gst.Objects.ControlSource as Gst.ControlSource-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Pad as Gst.Pad-import {-# SOURCE #-} qualified GI.Gst.Objects.Plugin as Gst.Plugin-import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature-import {-# SOURCE #-} qualified GI.Gst.Objects.Task as Gst.Task-import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.Gst.Structs.BufferList as Gst.BufferList-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.CapsFeatures as Gst.CapsFeatures-import {-# SOURCE #-} qualified GI.Gst.Structs.DebugCategory as Gst.DebugCategory-import {-# SOURCE #-} qualified GI.Gst.Structs.DebugMessage as Gst.DebugMessage-import {-# SOURCE #-} qualified GI.Gst.Structs.Event as Gst.Event-import {-# SOURCE #-} qualified GI.Gst.Structs.Iterator as Gst.Iterator-import {-# SOURCE #-} qualified GI.Gst.Structs.MapInfo as Gst.MapInfo-import {-# SOURCE #-} qualified GI.Gst.Structs.Memory as Gst.Memory-import {-# SOURCE #-} qualified GI.Gst.Structs.Message as Gst.Message-import {-# SOURCE #-} qualified GI.Gst.Structs.Meta as Gst.Meta-import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject-import {-# SOURCE #-} qualified GI.Gst.Structs.PadProbeInfo as Gst.PadProbeInfo-import {-# SOURCE #-} qualified GI.Gst.Structs.Promise as Gst.Promise-import {-# SOURCE #-} qualified GI.Gst.Structs.Query as Gst.Query-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure-import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList-import {-# SOURCE #-} qualified GI.Gst.Structs.TypeFind as Gst.TypeFind---- callback ValueSerializeFunc---          -> Callable {returnType = Just (TBasicType TUTF8), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Just "the string representation of the value", sinceVersion = Nothing}, args = [Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Used by gst_value_serialize() to obtain a non-binary form of the #GValue.\n\nFree-function: g_free", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ValueSerializeFunc =-    Ptr GValue ->-    IO CString---- Args : [Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ValueSerializeFunc :: FunPtr C_ValueSerializeFunc -> C_ValueSerializeFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ValueSerializeFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_ValueSerializeFunc-    -> GValue-    {- ^ /@value1@/: a 'GI.GObject.Structs.Value.Value' -}-    -> m T.Text-    {- ^ __Returns:__ the string representation of the value -}-dynamic_ValueSerializeFunc __funPtr value1 = liftIO $ do-    value1' <- unsafeManagedPtrGetPtr value1-    result <- (__dynamic_C_ValueSerializeFunc __funPtr) value1'-    checkUnexpectedReturnNULL "valueSerializeFunc" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr value1-    return result'---- | Generate a function pointer callable from C code, from a `C_ValueSerializeFunc`.-foreign import ccall "wrapper"-    mk_ValueSerializeFunc :: C_ValueSerializeFunc -> IO (FunPtr C_ValueSerializeFunc)--{- |-Used by 'GI.Gst.Functions.valueSerialize' to obtain a non-binary form of the 'GI.GObject.Structs.Value.Value'.--Free-function: g_free--}-type ValueSerializeFunc =-    GValue-    {- ^ /@value1@/: a 'GI.GObject.Structs.Value.Value' -}-    -> IO T.Text-    {- ^ __Returns:__ the string representation of the value -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ValueSerializeFunc`@.-noValueSerializeFunc :: Maybe ValueSerializeFunc-noValueSerializeFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_ValueSerializeFunc :: MonadIO m => ValueSerializeFunc -> m (GClosure C_ValueSerializeFunc)-genClosure_ValueSerializeFunc cb = liftIO $ do-    let cb' = wrap_ValueSerializeFunc Nothing cb-    mk_ValueSerializeFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `ValueSerializeFunc` into a `C_ValueSerializeFunc`.-wrap_ValueSerializeFunc ::-    Maybe (Ptr (FunPtr C_ValueSerializeFunc)) ->-    ValueSerializeFunc ->-    C_ValueSerializeFunc-wrap_ValueSerializeFunc funptrptr _cb value1 = do-    B.ManagedPtr.withTransient GValue value1 $ \value1' -> do-        result <- _cb  value1'-        maybeReleaseFunPtr funptrptr-        result' <- textToCString result-        return result'----- callback ValueDeserializeFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE for success", sinceVersion = Nothing}, args = [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Used by gst_value_deserialize() to parse a non-binary form into the #GValue.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ValueDeserializeFunc =-    Ptr GValue ->-    CString ->-    IO CInt---- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ValueDeserializeFunc :: FunPtr C_ValueDeserializeFunc -> C_ValueDeserializeFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ValueDeserializeFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_ValueDeserializeFunc-    -> GValue-    {- ^ /@dest@/: a 'GI.GObject.Structs.Value.Value' -}-    -> T.Text-    {- ^ /@s@/: a string -}-    -> m Bool-    {- ^ __Returns:__ 'True' for success -}-dynamic_ValueDeserializeFunc __funPtr dest s = liftIO $ do-    dest' <- unsafeManagedPtrGetPtr dest-    s' <- textToCString s-    result <- (__dynamic_C_ValueDeserializeFunc __funPtr) dest' s'-    let result' = (/= 0) result-    touchManagedPtr dest-    freeMem s'-    return result'---- | Generate a function pointer callable from C code, from a `C_ValueDeserializeFunc`.-foreign import ccall "wrapper"-    mk_ValueDeserializeFunc :: C_ValueDeserializeFunc -> IO (FunPtr C_ValueDeserializeFunc)--{- |-Used by 'GI.Gst.Functions.valueDeserialize' to parse a non-binary form into the 'GI.GObject.Structs.Value.Value'.--}-type ValueDeserializeFunc =-    GValue-    {- ^ /@dest@/: a 'GI.GObject.Structs.Value.Value' -}-    -> T.Text-    {- ^ /@s@/: a string -}-    -> IO Bool-    {- ^ __Returns:__ 'True' for success -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ValueDeserializeFunc`@.-noValueDeserializeFunc :: Maybe ValueDeserializeFunc-noValueDeserializeFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_ValueDeserializeFunc :: MonadIO m => ValueDeserializeFunc -> m (GClosure C_ValueDeserializeFunc)-genClosure_ValueDeserializeFunc cb = liftIO $ do-    let cb' = wrap_ValueDeserializeFunc Nothing cb-    mk_ValueDeserializeFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `ValueDeserializeFunc` into a `C_ValueDeserializeFunc`.-wrap_ValueDeserializeFunc ::-    Maybe (Ptr (FunPtr C_ValueDeserializeFunc)) ->-    ValueDeserializeFunc ->-    C_ValueDeserializeFunc-wrap_ValueDeserializeFunc funptrptr _cb dest s = do-    B.ManagedPtr.withTransient GValue dest $ \dest' -> do-        s' <- cstringToText s-        result <- _cb  dest' s'-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback ValueCompareFunc---          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN\nor GST_VALUE_UNORDERED", sinceVersion = Nothing}, args = [Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "first value for comparison", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "second value for comparison", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Used together with gst_value_compare() to compare #GValue items.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ValueCompareFunc =-    Ptr GValue ->-    Ptr GValue ->-    IO Int32---- Args : [Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "first value for comparison", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "second value for comparison", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ValueCompareFunc :: FunPtr C_ValueCompareFunc -> C_ValueCompareFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ValueCompareFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_ValueCompareFunc-    -> GValue-    {- ^ /@value1@/: first value for comparison -}-    -> GValue-    {- ^ /@value2@/: second value for comparison -}-    -> m Int32-    {- ^ __Returns:__ one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN-or GST_VALUE_UNORDERED -}-dynamic_ValueCompareFunc __funPtr value1 value2 = liftIO $ do-    value1' <- unsafeManagedPtrGetPtr value1-    value2' <- unsafeManagedPtrGetPtr value2-    result <- (__dynamic_C_ValueCompareFunc __funPtr) value1' value2'-    touchManagedPtr value1-    touchManagedPtr value2-    return result---- | Generate a function pointer callable from C code, from a `C_ValueCompareFunc`.-foreign import ccall "wrapper"-    mk_ValueCompareFunc :: C_ValueCompareFunc -> IO (FunPtr C_ValueCompareFunc)--{- |-Used together with 'GI.Gst.Functions.valueCompare' to compare 'GI.GObject.Structs.Value.Value' items.--}-type ValueCompareFunc =-    GValue-    {- ^ /@value1@/: first value for comparison -}-    -> GValue-    {- ^ /@value2@/: second value for comparison -}-    -> IO Int32-    {- ^ __Returns:__ one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN-or GST_VALUE_UNORDERED -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ValueCompareFunc`@.-noValueCompareFunc :: Maybe ValueCompareFunc-noValueCompareFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_ValueCompareFunc :: MonadIO m => ValueCompareFunc -> m (GClosure C_ValueCompareFunc)-genClosure_ValueCompareFunc cb = liftIO $ do-    let cb' = wrap_ValueCompareFunc Nothing cb-    mk_ValueCompareFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `ValueCompareFunc` into a `C_ValueCompareFunc`.-wrap_ValueCompareFunc ::-    Maybe (Ptr (FunPtr C_ValueCompareFunc)) ->-    ValueCompareFunc ->-    C_ValueCompareFunc-wrap_ValueCompareFunc funptrptr _cb value1 value2 = do-    B.ManagedPtr.withTransient GValue value1 $ \value1' -> do-        B.ManagedPtr.withTransient GValue value2 $ \value2' -> do-            result <- _cb  value1' value2'-            maybeReleaseFunPtr funptrptr-            return result----- callback TypeFindSuggestFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "probability", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TypeFindSuggestFieldCallback =-    Ptr () ->-    Word32 ->-    Ptr Gst.Caps.Caps ->-    IO ()---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "probability", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TypeFindSuggestFieldCallback :: FunPtr C_TypeFindSuggestFieldCallback -> C_TypeFindSuggestFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TypeFindSuggestFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TypeFindSuggestFieldCallback-    -> Ptr ()-    -> Word32-    -> Gst.Caps.Caps-    -> m ()-dynamic_TypeFindSuggestFieldCallback __funPtr data_ probability caps = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    (__dynamic_C_TypeFindSuggestFieldCallback __funPtr) data_ probability caps'-    touchManagedPtr caps-    return ()---- | Generate a function pointer callable from C code, from a `C_TypeFindSuggestFieldCallback`.-foreign import ccall "wrapper"-    mk_TypeFindSuggestFieldCallback :: C_TypeFindSuggestFieldCallback -> IO (FunPtr C_TypeFindSuggestFieldCallback)--{- |-/No description available in the introspection data./--}-type TypeFindSuggestFieldCallback =-    Ptr ()-    -> Word32-    -> Gst.Caps.Caps-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TypeFindSuggestFieldCallback`@.-noTypeFindSuggestFieldCallback :: Maybe TypeFindSuggestFieldCallback-noTypeFindSuggestFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_TypeFindSuggestFieldCallback :: MonadIO m => TypeFindSuggestFieldCallback -> m (GClosure C_TypeFindSuggestFieldCallback)-genClosure_TypeFindSuggestFieldCallback cb = liftIO $ do-    let cb' = wrap_TypeFindSuggestFieldCallback Nothing cb-    mk_TypeFindSuggestFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `TypeFindSuggestFieldCallback` into a `C_TypeFindSuggestFieldCallback`.-wrap_TypeFindSuggestFieldCallback ::-    Maybe (Ptr (FunPtr C_TypeFindSuggestFieldCallback)) ->-    TypeFindSuggestFieldCallback ->-    C_TypeFindSuggestFieldCallback-wrap_TypeFindSuggestFieldCallback funptrptr _cb data_ probability caps = do-    B.ManagedPtr.withTransient Gst.Caps.Caps caps $ \caps' -> do-        _cb  data_ probability caps'-        maybeReleaseFunPtr funptrptr----- callback TypeFindPeekFieldCallback---          -> Callable {returnType = Just (TBasicType TUInt8), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TypeFindPeekFieldCallback =-    Ptr () ->-    Int64 ->-    Word32 ->-    IO Word8---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt8)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TypeFindPeekFieldCallback :: FunPtr C_TypeFindPeekFieldCallback -> C_TypeFindPeekFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TypeFindPeekFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TypeFindPeekFieldCallback-    -> Ptr ()-    -> Int64-    -> Word32-    -> m Word8-dynamic_TypeFindPeekFieldCallback __funPtr data_ offset size = liftIO $ do-    result <- (__dynamic_C_TypeFindPeekFieldCallback __funPtr) data_ offset size-    return result---- | Generate a function pointer callable from C code, from a `C_TypeFindPeekFieldCallback`.-foreign import ccall "wrapper"-    mk_TypeFindPeekFieldCallback :: C_TypeFindPeekFieldCallback -> IO (FunPtr C_TypeFindPeekFieldCallback)--{- |-/No description available in the introspection data./--}-type TypeFindPeekFieldCallback =-    Ptr ()-    -> Int64-    -> Word32-    -> IO Word8---- | A convenience synonym for @`Nothing` :: `Maybe` `TypeFindPeekFieldCallback`@.-noTypeFindPeekFieldCallback :: Maybe TypeFindPeekFieldCallback-noTypeFindPeekFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_TypeFindPeekFieldCallback :: MonadIO m => TypeFindPeekFieldCallback -> m (GClosure C_TypeFindPeekFieldCallback)-genClosure_TypeFindPeekFieldCallback cb = liftIO $ do-    let cb' = wrap_TypeFindPeekFieldCallback Nothing cb-    mk_TypeFindPeekFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `TypeFindPeekFieldCallback` into a `C_TypeFindPeekFieldCallback`.-wrap_TypeFindPeekFieldCallback ::-    Maybe (Ptr (FunPtr C_TypeFindPeekFieldCallback)) ->-    TypeFindPeekFieldCallback ->-    C_TypeFindPeekFieldCallback-wrap_TypeFindPeekFieldCallback funptrptr _cb data_ offset size = do-    result <- _cb  data_ offset size-    maybeReleaseFunPtr funptrptr-    return result----- callback TypeFindGetLengthFieldCallback---          -> Callable {returnType = Just (TBasicType TUInt64), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TypeFindGetLengthFieldCallback =-    Ptr () ->-    IO Word64---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TypeFindGetLengthFieldCallback :: FunPtr C_TypeFindGetLengthFieldCallback -> C_TypeFindGetLengthFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TypeFindGetLengthFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TypeFindGetLengthFieldCallback-    -> Ptr ()-    -> m Word64-dynamic_TypeFindGetLengthFieldCallback __funPtr data_ = liftIO $ do-    result <- (__dynamic_C_TypeFindGetLengthFieldCallback __funPtr) data_-    return result---- | Generate a function pointer callable from C code, from a `C_TypeFindGetLengthFieldCallback`.-foreign import ccall "wrapper"-    mk_TypeFindGetLengthFieldCallback :: C_TypeFindGetLengthFieldCallback -> IO (FunPtr C_TypeFindGetLengthFieldCallback)--{- |-/No description available in the introspection data./--}-type TypeFindGetLengthFieldCallback =-    Ptr ()-    -> IO Word64---- | A convenience synonym for @`Nothing` :: `Maybe` `TypeFindGetLengthFieldCallback`@.-noTypeFindGetLengthFieldCallback :: Maybe TypeFindGetLengthFieldCallback-noTypeFindGetLengthFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_TypeFindGetLengthFieldCallback :: MonadIO m => TypeFindGetLengthFieldCallback -> m (GClosure C_TypeFindGetLengthFieldCallback)-genClosure_TypeFindGetLengthFieldCallback cb = liftIO $ do-    let cb' = wrap_TypeFindGetLengthFieldCallback Nothing cb-    mk_TypeFindGetLengthFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `TypeFindGetLengthFieldCallback` into a `C_TypeFindGetLengthFieldCallback`.-wrap_TypeFindGetLengthFieldCallback ::-    Maybe (Ptr (FunPtr C_TypeFindGetLengthFieldCallback)) ->-    TypeFindGetLengthFieldCallback ->-    C_TypeFindGetLengthFieldCallback-wrap_TypeFindGetLengthFieldCallback funptrptr _cb data_ = do-    result <- _cb  data_-    maybeReleaseFunPtr funptrptr-    return result----- callback TypeFindFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "find", argType = TInterface (Name {namespace = "Gst", name = "TypeFind"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTypeFind structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "optional data to pass to the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called by typefinding.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TypeFindFunction =-    Ptr Gst.TypeFind.TypeFind ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "find", argType = TInterface (Name {namespace = "Gst", name = "TypeFind"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTypeFind structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "optional data to pass to the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TypeFindFunction :: FunPtr C_TypeFindFunction -> C_TypeFindFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TypeFindFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TypeFindFunction-    -> Gst.TypeFind.TypeFind-    {- ^ /@find@/: A 'GI.Gst.Structs.TypeFind.TypeFind' structure -}-    -> Ptr ()-    {- ^ /@userData@/: optional data to pass to the function -}-    -> m ()-dynamic_TypeFindFunction __funPtr find userData = liftIO $ do-    find' <- unsafeManagedPtrGetPtr find-    (__dynamic_C_TypeFindFunction __funPtr) find' userData-    touchManagedPtr find-    return ()---- | Generate a function pointer callable from C code, from a `C_TypeFindFunction`.-foreign import ccall "wrapper"-    mk_TypeFindFunction :: C_TypeFindFunction -> IO (FunPtr C_TypeFindFunction)--{- |-A function that will be called by typefinding.--}-type TypeFindFunction =-    Gst.TypeFind.TypeFind-    {- ^ /@find@/: A 'GI.Gst.Structs.TypeFind.TypeFind' structure -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TypeFindFunction`@.-noTypeFindFunction :: Maybe TypeFindFunction-noTypeFindFunction = Nothing--{- |-A function that will be called by typefinding.--}-type TypeFindFunction_WithClosures =-    Gst.TypeFind.TypeFind-    {- ^ /@find@/: A 'GI.Gst.Structs.TypeFind.TypeFind' structure -}-    -> Ptr ()-    {- ^ /@userData@/: optional data to pass to the function -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TypeFindFunction_WithClosures`@.-noTypeFindFunction_WithClosures :: Maybe TypeFindFunction_WithClosures-noTypeFindFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_TypeFindFunction :: TypeFindFunction -> TypeFindFunction_WithClosures-drop_closures_TypeFindFunction _f find _ = _f find---- | Wrap the callback into a `GClosure`.-genClosure_TypeFindFunction :: MonadIO m => TypeFindFunction -> m (GClosure C_TypeFindFunction)-genClosure_TypeFindFunction cb = liftIO $ do-    let cb' = drop_closures_TypeFindFunction cb-    let cb'' = wrap_TypeFindFunction Nothing cb'-    mk_TypeFindFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `TypeFindFunction` into a `C_TypeFindFunction`.-wrap_TypeFindFunction ::-    Maybe (Ptr (FunPtr C_TypeFindFunction)) ->-    TypeFindFunction_WithClosures ->-    C_TypeFindFunction-wrap_TypeFindFunction funptrptr _cb find userData = do-    find' <- (newPtr Gst.TypeFind.TypeFind) find-    _cb  find' userData-    maybeReleaseFunPtr funptrptr----- callback TaskThreadFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "thread", argType = TInterface (Name {namespace = "GLib", name = "Thread"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GThread", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Custom GstTask thread callback functions that can be installed.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TaskThreadFunc =-    Ptr Gst.Task.Task ->-    Ptr GLib.Thread.Thread ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "thread", argType = TInterface (Name {namespace = "GLib", name = "Thread"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GThread", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TaskThreadFunc :: FunPtr C_TaskThreadFunc -> C_TaskThreadFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TaskThreadFunc ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Task.IsTask a) =>-    FunPtr C_TaskThreadFunc-    -> a-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' -}-    -> GLib.Thread.Thread-    {- ^ /@thread@/: The 'GI.GLib.Structs.Thread.Thread' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m ()-dynamic_TaskThreadFunc __funPtr task thread userData = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    thread' <- unsafeManagedPtrGetPtr thread-    (__dynamic_C_TaskThreadFunc __funPtr) task' thread' userData-    touchManagedPtr task-    touchManagedPtr thread-    return ()---- | Generate a function pointer callable from C code, from a `C_TaskThreadFunc`.-foreign import ccall "wrapper"-    mk_TaskThreadFunc :: C_TaskThreadFunc -> IO (FunPtr C_TaskThreadFunc)--{- |-Custom GstTask thread callback functions that can be installed.--}-type TaskThreadFunc =-    Gst.Task.Task-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' -}-    -> GLib.Thread.Thread-    {- ^ /@thread@/: The 'GI.GLib.Structs.Thread.Thread' -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TaskThreadFunc`@.-noTaskThreadFunc :: Maybe TaskThreadFunc-noTaskThreadFunc = Nothing--{- |-Custom GstTask thread callback functions that can be installed.--}-type TaskThreadFunc_WithClosures =-    Gst.Task.Task-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' -}-    -> GLib.Thread.Thread-    {- ^ /@thread@/: The 'GI.GLib.Structs.Thread.Thread' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TaskThreadFunc_WithClosures`@.-noTaskThreadFunc_WithClosures :: Maybe TaskThreadFunc_WithClosures-noTaskThreadFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_TaskThreadFunc :: TaskThreadFunc -> TaskThreadFunc_WithClosures-drop_closures_TaskThreadFunc _f task thread _ = _f task thread---- | Wrap the callback into a `GClosure`.-genClosure_TaskThreadFunc :: MonadIO m => TaskThreadFunc -> m (GClosure C_TaskThreadFunc)-genClosure_TaskThreadFunc cb = liftIO $ do-    let cb' = drop_closures_TaskThreadFunc cb-    let cb'' = wrap_TaskThreadFunc Nothing cb'-    mk_TaskThreadFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `TaskThreadFunc` into a `C_TaskThreadFunc`.-wrap_TaskThreadFunc ::-    Maybe (Ptr (FunPtr C_TaskThreadFunc)) ->-    TaskThreadFunc_WithClosures ->-    C_TaskThreadFunc-wrap_TaskThreadFunc funptrptr _cb task thread userData = do-    task' <- (newObject Gst.Task.Task) task-    B.ManagedPtr.withTransient GLib.Thread.Thread thread $ \thread' -> do-        _cb  task' thread' userData-        maybeReleaseFunPtr funptrptr----- callback TaskPoolFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for the task function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Task function, see gst_task_pool_push().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TaskPoolFunction =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for the task function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TaskPoolFunction :: FunPtr C_TaskPoolFunction -> C_TaskPoolFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TaskPoolFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TaskPoolFunction-    -> Ptr ()-    {- ^ /@userData@/: user data for the task function -}-    -> m ()-dynamic_TaskPoolFunction __funPtr userData = liftIO $ do-    (__dynamic_C_TaskPoolFunction __funPtr) userData-    return ()---- | Generate a function pointer callable from C code, from a `C_TaskPoolFunction`.-foreign import ccall "wrapper"-    mk_TaskPoolFunction :: C_TaskPoolFunction -> IO (FunPtr C_TaskPoolFunction)--{- |-Task function, see 'GI.Gst.Objects.TaskPool.taskPoolPush'.--}-type TaskPoolFunction =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TaskPoolFunction`@.-noTaskPoolFunction :: Maybe TaskPoolFunction-noTaskPoolFunction = Nothing--{- |-Task function, see 'GI.Gst.Objects.TaskPool.taskPoolPush'.--}-type TaskPoolFunction_WithClosures =-    Ptr ()-    {- ^ /@userData@/: user data for the task function -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TaskPoolFunction_WithClosures`@.-noTaskPoolFunction_WithClosures :: Maybe TaskPoolFunction_WithClosures-noTaskPoolFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_TaskPoolFunction :: TaskPoolFunction -> TaskPoolFunction_WithClosures-drop_closures_TaskPoolFunction _f _ = _f ---- | Wrap the callback into a `GClosure`.-genClosure_TaskPoolFunction :: MonadIO m => TaskPoolFunction -> m (GClosure C_TaskPoolFunction)-genClosure_TaskPoolFunction cb = liftIO $ do-    let cb' = drop_closures_TaskPoolFunction cb-    let cb'' = wrap_TaskPoolFunction Nothing cb'-    mk_TaskPoolFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `TaskPoolFunction` into a `C_TaskPoolFunction`.-wrap_TaskPoolFunction ::-    Maybe (Ptr (FunPtr C_TaskPoolFunction)) ->-    TaskPoolFunction_WithClosures ->-    C_TaskPoolFunction-wrap_TaskPoolFunction funptrptr _cb userData = do-    _cb  userData-    maybeReleaseFunPtr funptrptr----- callback TaskFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will repeatedly be called in the thread created by\na #GstTask.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TaskFunction =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TaskFunction :: FunPtr C_TaskFunction -> C_TaskFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TaskFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TaskFunction-    -> Ptr ()-    {- ^ /@userData@/: user data passed to the function -}-    -> m ()-dynamic_TaskFunction __funPtr userData = liftIO $ do-    (__dynamic_C_TaskFunction __funPtr) userData-    return ()---- | Generate a function pointer callable from C code, from a `C_TaskFunction`.-foreign import ccall "wrapper"-    mk_TaskFunction :: C_TaskFunction -> IO (FunPtr C_TaskFunction)--{- |-A function that will repeatedly be called in the thread created by-a 'GI.Gst.Objects.Task.Task'.--}-type TaskFunction =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TaskFunction`@.-noTaskFunction :: Maybe TaskFunction-noTaskFunction = Nothing--{- |-A function that will repeatedly be called in the thread created by-a 'GI.Gst.Objects.Task.Task'.--}-type TaskFunction_WithClosures =-    Ptr ()-    {- ^ /@userData@/: user data passed to the function -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TaskFunction_WithClosures`@.-noTaskFunction_WithClosures :: Maybe TaskFunction_WithClosures-noTaskFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_TaskFunction :: TaskFunction -> TaskFunction_WithClosures-drop_closures_TaskFunction _f _ = _f ---- | Wrap the callback into a `GClosure`.-genClosure_TaskFunction :: MonadIO m => TaskFunction -> m (GClosure C_TaskFunction)-genClosure_TaskFunction cb = liftIO $ do-    let cb' = drop_closures_TaskFunction cb-    let cb'' = wrap_TaskFunction Nothing cb'-    mk_TaskFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `TaskFunction` into a `C_TaskFunction`.-wrap_TaskFunction ::-    Maybe (Ptr (FunPtr C_TaskFunction)) ->-    TaskFunction_WithClosures ->-    C_TaskFunction-wrap_TaskFunction funptrptr _cb userData = do-    _cb  userData-    maybeReleaseFunPtr funptrptr----- callback TagMergeFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the destination #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function for merging multiple values of a tag used when registering\ntags.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TagMergeFunc =-    Ptr GValue ->-    Ptr GValue ->-    IO ()---- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the destination #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TagMergeFunc :: FunPtr C_TagMergeFunc -> C_TagMergeFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TagMergeFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TagMergeFunc-    -> GValue-    {- ^ /@dest@/: the destination 'GI.GObject.Structs.Value.Value' -}-    -> GValue-    {- ^ /@src@/: the source 'GI.GObject.Structs.Value.Value' -}-    -> m ()-dynamic_TagMergeFunc __funPtr dest src = liftIO $ do-    dest' <- unsafeManagedPtrGetPtr dest-    src' <- unsafeManagedPtrGetPtr src-    (__dynamic_C_TagMergeFunc __funPtr) dest' src'-    touchManagedPtr dest-    touchManagedPtr src-    return ()---- | Generate a function pointer callable from C code, from a `C_TagMergeFunc`.-foreign import ccall "wrapper"-    mk_TagMergeFunc :: C_TagMergeFunc -> IO (FunPtr C_TagMergeFunc)--{- |-A function for merging multiple values of a tag used when registering-tags.--}-type TagMergeFunc =-    GValue-    {- ^ /@dest@/: the destination 'GI.GObject.Structs.Value.Value' -}-    -> GValue-    {- ^ /@src@/: the source 'GI.GObject.Structs.Value.Value' -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TagMergeFunc`@.-noTagMergeFunc :: Maybe TagMergeFunc-noTagMergeFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_TagMergeFunc :: MonadIO m => TagMergeFunc -> m (GClosure C_TagMergeFunc)-genClosure_TagMergeFunc cb = liftIO $ do-    let cb' = wrap_TagMergeFunc Nothing cb-    mk_TagMergeFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `TagMergeFunc` into a `C_TagMergeFunc`.-wrap_TagMergeFunc ::-    Maybe (Ptr (FunPtr C_TagMergeFunc)) ->-    TagMergeFunc ->-    C_TagMergeFunc-wrap_TagMergeFunc funptrptr _cb dest src = do-    B.ManagedPtr.withTransient GValue dest $ \dest' -> do-        B.ManagedPtr.withTransient GValue src $ \src' -> do-            _cb  dest' src'-            maybeReleaseFunPtr funptrptr----- callback TagForeachFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstTagList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a name of a tag in @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called in gst_tag_list_foreach(). The function may\nnot modify the tag list.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TagForeachFunc =-    Ptr Gst.TagList.TagList ->-    CString ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstTagList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a name of a tag in @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TagForeachFunc :: FunPtr C_TagForeachFunc -> C_TagForeachFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TagForeachFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TagForeachFunc-    -> Gst.TagList.TagList-    {- ^ /@list@/: the 'GI.Gst.Structs.TagList.TagList' -}-    -> T.Text-    {- ^ /@tag@/: a name of a tag in /@list@/ -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m ()-dynamic_TagForeachFunc __funPtr list tag userData = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    (__dynamic_C_TagForeachFunc __funPtr) list' tag' userData-    touchManagedPtr list-    freeMem tag'-    return ()---- | Generate a function pointer callable from C code, from a `C_TagForeachFunc`.-foreign import ccall "wrapper"-    mk_TagForeachFunc :: C_TagForeachFunc -> IO (FunPtr C_TagForeachFunc)--{- |-A function that will be called in 'GI.Gst.Structs.TagList.tagListForeach'. The function may-not modify the tag list.--}-type TagForeachFunc =-    Gst.TagList.TagList-    {- ^ /@list@/: the 'GI.Gst.Structs.TagList.TagList' -}-    -> T.Text-    {- ^ /@tag@/: a name of a tag in /@list@/ -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TagForeachFunc`@.-noTagForeachFunc :: Maybe TagForeachFunc-noTagForeachFunc = Nothing--{- |-A function that will be called in 'GI.Gst.Structs.TagList.tagListForeach'. The function may-not modify the tag list.--}-type TagForeachFunc_WithClosures =-    Gst.TagList.TagList-    {- ^ /@list@/: the 'GI.Gst.Structs.TagList.TagList' -}-    -> T.Text-    {- ^ /@tag@/: a name of a tag in /@list@/ -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TagForeachFunc_WithClosures`@.-noTagForeachFunc_WithClosures :: Maybe TagForeachFunc_WithClosures-noTagForeachFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_TagForeachFunc :: TagForeachFunc -> TagForeachFunc_WithClosures-drop_closures_TagForeachFunc _f list tag _ = _f list tag---- | Wrap the callback into a `GClosure`.-genClosure_TagForeachFunc :: MonadIO m => TagForeachFunc -> m (GClosure C_TagForeachFunc)-genClosure_TagForeachFunc cb = liftIO $ do-    let cb' = drop_closures_TagForeachFunc cb-    let cb'' = wrap_TagForeachFunc Nothing cb'-    mk_TagForeachFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `TagForeachFunc` into a `C_TagForeachFunc`.-wrap_TagForeachFunc ::-    Maybe (Ptr (FunPtr C_TagForeachFunc)) ->-    TagForeachFunc_WithClosures ->-    C_TagForeachFunc-wrap_TagForeachFunc funptrptr _cb list tag userData = do-    B.ManagedPtr.withTransient Gst.TagList.TagList list $ \list' -> do-        tag' <- cstringToText tag-        _cb  list' tag' userData-        maybeReleaseFunPtr funptrptr----- callback StructureMapFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the map operation should continue, %FALSE if\nthe map operation should stop with %FALSE.", sinceVersion = Nothing}, args = [Arg {argCName = "field_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark of the field name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called in gst_structure_map_in_place(). The function\nmay modify @value.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_StructureMapFunc =-    Word32 ->-    Ptr GValue ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "field_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark of the field name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_StructureMapFunc :: FunPtr C_StructureMapFunc -> C_StructureMapFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_StructureMapFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_StructureMapFunc-    -> Word32-    {- ^ /@fieldId@/: the @/GQuark/@ of the field name -}-    -> GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' of the field -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the map operation should continue, 'False' if-the map operation should stop with 'False'. -}-dynamic_StructureMapFunc __funPtr fieldId value userData = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- (__dynamic_C_StructureMapFunc __funPtr) fieldId value' userData-    let result' = (/= 0) result-    touchManagedPtr value-    return result'---- | Generate a function pointer callable from C code, from a `C_StructureMapFunc`.-foreign import ccall "wrapper"-    mk_StructureMapFunc :: C_StructureMapFunc -> IO (FunPtr C_StructureMapFunc)--{- |-A function that will be called in 'GI.Gst.Structs.Structure.structureMapInPlace'. The function-may modify /@value@/.--}-type StructureMapFunc =-    Word32-    {- ^ /@fieldId@/: the @/GQuark/@ of the field name -}-    -> GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' of the field -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the map operation should continue, 'False' if-the map operation should stop with 'False'. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `StructureMapFunc`@.-noStructureMapFunc :: Maybe StructureMapFunc-noStructureMapFunc = Nothing--{- |-A function that will be called in 'GI.Gst.Structs.Structure.structureMapInPlace'. The function-may modify /@value@/.--}-type StructureMapFunc_WithClosures =-    Word32-    {- ^ /@fieldId@/: the @/GQuark/@ of the field name -}-    -> GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' of the field -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the map operation should continue, 'False' if-the map operation should stop with 'False'. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `StructureMapFunc_WithClosures`@.-noStructureMapFunc_WithClosures :: Maybe StructureMapFunc_WithClosures-noStructureMapFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_StructureMapFunc :: StructureMapFunc -> StructureMapFunc_WithClosures-drop_closures_StructureMapFunc _f fieldId value _ = _f fieldId value---- | Wrap the callback into a `GClosure`.-genClosure_StructureMapFunc :: MonadIO m => StructureMapFunc -> m (GClosure C_StructureMapFunc)-genClosure_StructureMapFunc cb = liftIO $ do-    let cb' = drop_closures_StructureMapFunc cb-    let cb'' = wrap_StructureMapFunc Nothing cb'-    mk_StructureMapFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `StructureMapFunc` into a `C_StructureMapFunc`.-wrap_StructureMapFunc ::-    Maybe (Ptr (FunPtr C_StructureMapFunc)) ->-    StructureMapFunc_WithClosures ->-    C_StructureMapFunc-wrap_StructureMapFunc funptrptr _cb fieldId value userData = do-    B.ManagedPtr.withTransient GValue value $ \value' -> do-        result <- _cb  fieldId value' userData-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback StructureForeachFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the foreach operation should continue, %FALSE if\nthe foreach operation should stop with %FALSE.", sinceVersion = Nothing}, args = [Arg {argCName = "field_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark of the field name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called in gst_structure_foreach(). The function may\nnot modify @value.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_StructureForeachFunc =-    Word32 ->-    Ptr GValue ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "field_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark of the field name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_StructureForeachFunc :: FunPtr C_StructureForeachFunc -> C_StructureForeachFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_StructureForeachFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_StructureForeachFunc-    -> Word32-    {- ^ /@fieldId@/: the @/GQuark/@ of the field name -}-    -> GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' of the field -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the foreach operation should continue, 'False' if-the foreach operation should stop with 'False'. -}-dynamic_StructureForeachFunc __funPtr fieldId value userData = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- (__dynamic_C_StructureForeachFunc __funPtr) fieldId value' userData-    let result' = (/= 0) result-    touchManagedPtr value-    return result'---- | Generate a function pointer callable from C code, from a `C_StructureForeachFunc`.-foreign import ccall "wrapper"-    mk_StructureForeachFunc :: C_StructureForeachFunc -> IO (FunPtr C_StructureForeachFunc)--{- |-A function that will be called in 'GI.Gst.Structs.Structure.structureForeach'. The function may-not modify /@value@/.--}-type StructureForeachFunc =-    Word32-    {- ^ /@fieldId@/: the @/GQuark/@ of the field name -}-    -> GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' of the field -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the foreach operation should continue, 'False' if-the foreach operation should stop with 'False'. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `StructureForeachFunc`@.-noStructureForeachFunc :: Maybe StructureForeachFunc-noStructureForeachFunc = Nothing--{- |-A function that will be called in 'GI.Gst.Structs.Structure.structureForeach'. The function may-not modify /@value@/.--}-type StructureForeachFunc_WithClosures =-    Word32-    {- ^ /@fieldId@/: the @/GQuark/@ of the field name -}-    -> GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' of the field -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the foreach operation should continue, 'False' if-the foreach operation should stop with 'False'. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `StructureForeachFunc_WithClosures`@.-noStructureForeachFunc_WithClosures :: Maybe StructureForeachFunc_WithClosures-noStructureForeachFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_StructureForeachFunc :: StructureForeachFunc -> StructureForeachFunc_WithClosures-drop_closures_StructureForeachFunc _f fieldId value _ = _f fieldId value---- | Wrap the callback into a `GClosure`.-genClosure_StructureForeachFunc :: MonadIO m => StructureForeachFunc -> m (GClosure C_StructureForeachFunc)-genClosure_StructureForeachFunc cb = liftIO $ do-    let cb' = drop_closures_StructureForeachFunc cb-    let cb'' = wrap_StructureForeachFunc Nothing cb'-    mk_StructureForeachFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `StructureForeachFunc` into a `C_StructureForeachFunc`.-wrap_StructureForeachFunc ::-    Maybe (Ptr (FunPtr C_StructureForeachFunc)) ->-    StructureForeachFunc_WithClosures ->-    C_StructureForeachFunc-wrap_StructureForeachFunc funptrptr _cb fieldId value userData = do-    B.ManagedPtr.withTransient GValue value $ \value' -> do-        result <- _cb  fieldId value' userData-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback StructureFilterMapFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the field should be preserved, %FALSE if it\nshould be removed.", sinceVersion = Nothing}, args = [Arg {argCName = "field_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark of the field name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called in gst_structure_filter_and_map_in_place().\nThe function may modify @value, and the value will be removed from\nthe structure if %FALSE is returned.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_StructureFilterMapFunc =-    Word32 ->-    Ptr GValue ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "field_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark of the field name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_StructureFilterMapFunc :: FunPtr C_StructureFilterMapFunc -> C_StructureFilterMapFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_StructureFilterMapFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_StructureFilterMapFunc-    -> Word32-    {- ^ /@fieldId@/: the @/GQuark/@ of the field name -}-    -> GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' of the field -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the field should be preserved, 'False' if it-should be removed. -}-dynamic_StructureFilterMapFunc __funPtr fieldId value userData = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- (__dynamic_C_StructureFilterMapFunc __funPtr) fieldId value' userData-    let result' = (/= 0) result-    touchManagedPtr value-    return result'---- | Generate a function pointer callable from C code, from a `C_StructureFilterMapFunc`.-foreign import ccall "wrapper"-    mk_StructureFilterMapFunc :: C_StructureFilterMapFunc -> IO (FunPtr C_StructureFilterMapFunc)--{- |-A function that will be called in 'GI.Gst.Structs.Structure.structureFilterAndMapInPlace'.-The function may modify /@value@/, and the value will be removed from-the structure if 'False' is returned.--}-type StructureFilterMapFunc =-    Word32-    {- ^ /@fieldId@/: the @/GQuark/@ of the field name -}-    -> GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' of the field -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the field should be preserved, 'False' if it-should be removed. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `StructureFilterMapFunc`@.-noStructureFilterMapFunc :: Maybe StructureFilterMapFunc-noStructureFilterMapFunc = Nothing--{- |-A function that will be called in 'GI.Gst.Structs.Structure.structureFilterAndMapInPlace'.-The function may modify /@value@/, and the value will be removed from-the structure if 'False' is returned.--}-type StructureFilterMapFunc_WithClosures =-    Word32-    {- ^ /@fieldId@/: the @/GQuark/@ of the field name -}-    -> GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' of the field -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the field should be preserved, 'False' if it-should be removed. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `StructureFilterMapFunc_WithClosures`@.-noStructureFilterMapFunc_WithClosures :: Maybe StructureFilterMapFunc_WithClosures-noStructureFilterMapFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_StructureFilterMapFunc :: StructureFilterMapFunc -> StructureFilterMapFunc_WithClosures-drop_closures_StructureFilterMapFunc _f fieldId value _ = _f fieldId value---- | Wrap the callback into a `GClosure`.-genClosure_StructureFilterMapFunc :: MonadIO m => StructureFilterMapFunc -> m (GClosure C_StructureFilterMapFunc)-genClosure_StructureFilterMapFunc cb = liftIO $ do-    let cb' = drop_closures_StructureFilterMapFunc cb-    let cb'' = wrap_StructureFilterMapFunc Nothing cb'-    mk_StructureFilterMapFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `StructureFilterMapFunc` into a `C_StructureFilterMapFunc`.-wrap_StructureFilterMapFunc ::-    Maybe (Ptr (FunPtr C_StructureFilterMapFunc)) ->-    StructureFilterMapFunc_WithClosures ->-    C_StructureFilterMapFunc-wrap_StructureFilterMapFunc funptrptr _cb fieldId value userData = do-    B.ManagedPtr.withTransient GValue value $ \value' -> do-        result <- _cb  fieldId value' userData-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback PromiseChangeFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "promise", argType = TInterface (Name {namespace = "Gst", name = "Promise"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPromise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Just "1.14"}}--- | Type for the callback on the (unwrapped) C side.-type C_PromiseChangeFunc =-    Ptr Gst.Promise.Promise ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "promise", argType = TInterface (Name {namespace = "Gst", name = "Promise"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPromise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PromiseChangeFunc :: FunPtr C_PromiseChangeFunc -> C_PromiseChangeFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PromiseChangeFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_PromiseChangeFunc-    -> Gst.Promise.Promise-    {- ^ /@promise@/: a 'GI.Gst.Structs.Promise.Promise' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m ()-dynamic_PromiseChangeFunc __funPtr promise userData = liftIO $ do-    promise' <- unsafeManagedPtrGetPtr promise-    (__dynamic_C_PromiseChangeFunc __funPtr) promise' userData-    touchManagedPtr promise-    return ()---- | Generate a function pointer callable from C code, from a `C_PromiseChangeFunc`.-foreign import ccall "wrapper"-    mk_PromiseChangeFunc :: C_PromiseChangeFunc -> IO (FunPtr C_PromiseChangeFunc)--{- |-/No description available in the introspection data./--/Since: 1.14/--}-type PromiseChangeFunc =-    Gst.Promise.Promise-    {- ^ /@promise@/: a 'GI.Gst.Structs.Promise.Promise' -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `PromiseChangeFunc`@.-noPromiseChangeFunc :: Maybe PromiseChangeFunc-noPromiseChangeFunc = Nothing--{- |-/No description available in the introspection data./--/Since: 1.14/--}-type PromiseChangeFunc_WithClosures =-    Gst.Promise.Promise-    {- ^ /@promise@/: a 'GI.Gst.Structs.Promise.Promise' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `PromiseChangeFunc_WithClosures`@.-noPromiseChangeFunc_WithClosures :: Maybe PromiseChangeFunc_WithClosures-noPromiseChangeFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_PromiseChangeFunc :: PromiseChangeFunc -> PromiseChangeFunc_WithClosures-drop_closures_PromiseChangeFunc _f promise _ = _f promise---- | Wrap the callback into a `GClosure`.-genClosure_PromiseChangeFunc :: MonadIO m => PromiseChangeFunc -> m (GClosure C_PromiseChangeFunc)-genClosure_PromiseChangeFunc cb = liftIO $ do-    let cb' = drop_closures_PromiseChangeFunc cb-    let cb'' = wrap_PromiseChangeFunc Nothing cb'-    mk_PromiseChangeFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `PromiseChangeFunc` into a `C_PromiseChangeFunc`.-wrap_PromiseChangeFunc ::-    Maybe (Ptr (FunPtr C_PromiseChangeFunc)) ->-    PromiseChangeFunc_WithClosures ->-    C_PromiseChangeFunc-wrap_PromiseChangeFunc funptrptr _cb promise userData = do-    B.ManagedPtr.withTransient Gst.Promise.Promise promise $ \promise' -> do-        _cb  promise' userData-        maybeReleaseFunPtr funptrptr----- callback PluginInitFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if plugin initialised successfully", sinceVersion = Nothing}, args = [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The plugin object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A plugin should provide a pointer to a function of this type in the\nplugin_desc struct.\nThis function will be called by the loader at startup. One would then\nregister each #GstPluginFeature.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PluginInitFunc =-    Ptr Gst.Plugin.Plugin ->-    IO CInt---- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The plugin object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PluginInitFunc :: FunPtr C_PluginInitFunc -> C_PluginInitFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PluginInitFunc ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Plugin.IsPlugin a) =>-    FunPtr C_PluginInitFunc-    -> a-    {- ^ /@plugin@/: The plugin object -}-    -> m Bool-    {- ^ __Returns:__ 'True' if plugin initialised successfully -}-dynamic_PluginInitFunc __funPtr plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- (__dynamic_C_PluginInitFunc __funPtr) plugin'-    let result' = (/= 0) result-    touchManagedPtr plugin-    return result'---- | Generate a function pointer callable from C code, from a `C_PluginInitFunc`.-foreign import ccall "wrapper"-    mk_PluginInitFunc :: C_PluginInitFunc -> IO (FunPtr C_PluginInitFunc)--{- |-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 'GI.Gst.Objects.PluginFeature.PluginFeature'.--}-type PluginInitFunc =-    Gst.Plugin.Plugin-    {- ^ /@plugin@/: The plugin object -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if plugin initialised successfully -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PluginInitFunc`@.-noPluginInitFunc :: Maybe PluginInitFunc-noPluginInitFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PluginInitFunc :: MonadIO m => PluginInitFunc -> m (GClosure C_PluginInitFunc)-genClosure_PluginInitFunc cb = liftIO $ do-    let cb' = wrap_PluginInitFunc Nothing cb-    mk_PluginInitFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `PluginInitFunc` into a `C_PluginInitFunc`.-wrap_PluginInitFunc ::-    Maybe (Ptr (FunPtr C_PluginInitFunc)) ->-    PluginInitFunc ->-    C_PluginInitFunc-wrap_PluginInitFunc funptrptr _cb plugin = do-    plugin' <- (newObject Gst.Plugin.Plugin) plugin-    result <- _cb  plugin'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PluginInitFullFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if plugin initialised successfully", sinceVersion = Nothing}, args = [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The plugin object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "extra data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A plugin should provide a pointer to a function of either #GstPluginInitFunc\nor this type in the plugin_desc struct.\nThe function will be called by the loader at startup. One would then\nregister each #GstPluginFeature. This version allows\nuser data to be passed to init function (useful for bindings).", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PluginInitFullFunc =-    Ptr Gst.Plugin.Plugin ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The plugin object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "extra data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PluginInitFullFunc :: FunPtr C_PluginInitFullFunc -> C_PluginInitFullFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PluginInitFullFunc ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Plugin.IsPlugin a) =>-    FunPtr C_PluginInitFullFunc-    -> a-    {- ^ /@plugin@/: The plugin object -}-    -> Ptr ()-    {- ^ /@userData@/: extra data -}-    -> m Bool-    {- ^ __Returns:__ 'True' if plugin initialised successfully -}-dynamic_PluginInitFullFunc __funPtr plugin userData = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- (__dynamic_C_PluginInitFullFunc __funPtr) plugin' userData-    let result' = (/= 0) result-    touchManagedPtr plugin-    return result'---- | Generate a function pointer callable from C code, from a `C_PluginInitFullFunc`.-foreign import ccall "wrapper"-    mk_PluginInitFullFunc :: C_PluginInitFullFunc -> IO (FunPtr C_PluginInitFullFunc)--{- |-A plugin should provide a pointer to a function of either 'GI.Gst.Callbacks.PluginInitFunc'-or this type in the plugin_desc struct.-The function will be called by the loader at startup. One would then-register each 'GI.Gst.Objects.PluginFeature.PluginFeature'. This version allows-user data to be passed to init function (useful for bindings).--}-type PluginInitFullFunc =-    Gst.Plugin.Plugin-    {- ^ /@plugin@/: The plugin object -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if plugin initialised successfully -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PluginInitFullFunc`@.-noPluginInitFullFunc :: Maybe PluginInitFullFunc-noPluginInitFullFunc = Nothing--{- |-A plugin should provide a pointer to a function of either 'GI.Gst.Callbacks.PluginInitFunc'-or this type in the plugin_desc struct.-The function will be called by the loader at startup. One would then-register each 'GI.Gst.Objects.PluginFeature.PluginFeature'. This version allows-user data to be passed to init function (useful for bindings).--}-type PluginInitFullFunc_WithClosures =-    Gst.Plugin.Plugin-    {- ^ /@plugin@/: The plugin object -}-    -> Ptr ()-    {- ^ /@userData@/: extra data -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if plugin initialised successfully -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PluginInitFullFunc_WithClosures`@.-noPluginInitFullFunc_WithClosures :: Maybe PluginInitFullFunc_WithClosures-noPluginInitFullFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_PluginInitFullFunc :: PluginInitFullFunc -> PluginInitFullFunc_WithClosures-drop_closures_PluginInitFullFunc _f plugin _ = _f plugin---- | Wrap the callback into a `GClosure`.-genClosure_PluginInitFullFunc :: MonadIO m => PluginInitFullFunc -> m (GClosure C_PluginInitFullFunc)-genClosure_PluginInitFullFunc cb = liftIO $ do-    let cb' = drop_closures_PluginInitFullFunc cb-    let cb'' = wrap_PluginInitFullFunc Nothing cb'-    mk_PluginInitFullFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `PluginInitFullFunc` into a `C_PluginInitFullFunc`.-wrap_PluginInitFullFunc ::-    Maybe (Ptr (FunPtr C_PluginInitFullFunc)) ->-    PluginInitFullFunc_WithClosures ->-    C_PluginInitFullFunc-wrap_PluginInitFullFunc funptrptr _cb plugin userData = do-    plugin' <- (newObject Gst.Plugin.Plugin) plugin-    result <- _cb  plugin' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PluginFilter---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE for a positive match, %FALSE otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the plugin to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the user_data that has been passed on e.g. gst_registry_plugin_filter()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that can be used with e.g. gst_registry_plugin_filter()\nto get a list of plugins that match certain criteria.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PluginFilter =-    Ptr Gst.Plugin.Plugin ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the plugin to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the user_data that has been passed on e.g. gst_registry_plugin_filter()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PluginFilter :: FunPtr C_PluginFilter -> C_PluginFilter---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PluginFilter ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Plugin.IsPlugin a) =>-    FunPtr C_PluginFilter-    -> a-    {- ^ /@plugin@/: the plugin to check -}-    -> Ptr ()-    {- ^ /@userData@/: the user_data that has been passed on e.g. 'GI.Gst.Objects.Registry.registryPluginFilter' -}-    -> m Bool-    {- ^ __Returns:__ 'True' for a positive match, 'False' otherwise -}-dynamic_PluginFilter __funPtr plugin userData = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- (__dynamic_C_PluginFilter __funPtr) plugin' userData-    let result' = (/= 0) result-    touchManagedPtr plugin-    return result'---- | Generate a function pointer callable from C code, from a `C_PluginFilter`.-foreign import ccall "wrapper"-    mk_PluginFilter :: C_PluginFilter -> IO (FunPtr C_PluginFilter)--{- |-A function that can be used with e.g. 'GI.Gst.Objects.Registry.registryPluginFilter'-to get a list of plugins that match certain criteria.--}-type PluginFilter =-    Gst.Plugin.Plugin-    {- ^ /@plugin@/: the plugin to check -}-    -> IO Bool-    {- ^ __Returns:__ 'True' for a positive match, 'False' otherwise -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PluginFilter`@.-noPluginFilter :: Maybe PluginFilter-noPluginFilter = Nothing--{- |-A function that can be used with e.g. 'GI.Gst.Objects.Registry.registryPluginFilter'-to get a list of plugins that match certain criteria.--}-type PluginFilter_WithClosures =-    Gst.Plugin.Plugin-    {- ^ /@plugin@/: the plugin to check -}-    -> Ptr ()-    {- ^ /@userData@/: the user_data that has been passed on e.g. 'GI.Gst.Objects.Registry.registryPluginFilter' -}-    -> IO Bool-    {- ^ __Returns:__ 'True' for a positive match, 'False' otherwise -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PluginFilter_WithClosures`@.-noPluginFilter_WithClosures :: Maybe PluginFilter_WithClosures-noPluginFilter_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_PluginFilter :: PluginFilter -> PluginFilter_WithClosures-drop_closures_PluginFilter _f plugin _ = _f plugin---- | Wrap the callback into a `GClosure`.-genClosure_PluginFilter :: MonadIO m => PluginFilter -> m (GClosure C_PluginFilter)-genClosure_PluginFilter cb = liftIO $ do-    let cb' = drop_closures_PluginFilter cb-    let cb'' = wrap_PluginFilter Nothing cb'-    mk_PluginFilter cb'' >>= B.GClosure.newGClosure----- | Wrap a `PluginFilter` into a `C_PluginFilter`.-wrap_PluginFilter ::-    Maybe (Ptr (FunPtr C_PluginFilter)) ->-    PluginFilter_WithClosures ->-    C_PluginFilter-wrap_PluginFilter funptrptr _cb plugin userData = do-    plugin' <- (newObject Gst.Plugin.Plugin) plugin-    result <- _cb  plugin' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PluginFeatureFilter---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE for a positive match, %FALSE otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pluginfeature to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the user_data that has been passed on e.g.\n gst_registry_feature_filter()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that can be used with e.g. gst_registry_feature_filter()\nto get a list of pluginfeature that match certain criteria.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PluginFeatureFilter =-    Ptr Gst.PluginFeature.PluginFeature ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pluginfeature to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the user_data that has been passed on e.g.\n gst_registry_feature_filter()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PluginFeatureFilter :: FunPtr C_PluginFeatureFilter -> C_PluginFeatureFilter---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PluginFeatureFilter ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.PluginFeature.IsPluginFeature a) =>-    FunPtr C_PluginFeatureFilter-    -> a-    {- ^ /@feature@/: the pluginfeature to check -}-    -> Ptr ()-    {- ^ /@userData@/: the user_data that has been passed on e.g.- 'GI.Gst.Objects.Registry.registryFeatureFilter' -}-    -> m Bool-    {- ^ __Returns:__ 'True' for a positive match, 'False' otherwise -}-dynamic_PluginFeatureFilter __funPtr feature userData = liftIO $ do-    feature' <- unsafeManagedPtrCastPtr feature-    result <- (__dynamic_C_PluginFeatureFilter __funPtr) feature' userData-    let result' = (/= 0) result-    touchManagedPtr feature-    return result'---- | Generate a function pointer callable from C code, from a `C_PluginFeatureFilter`.-foreign import ccall "wrapper"-    mk_PluginFeatureFilter :: C_PluginFeatureFilter -> IO (FunPtr C_PluginFeatureFilter)--{- |-A function that can be used with e.g. 'GI.Gst.Objects.Registry.registryFeatureFilter'-to get a list of pluginfeature that match certain criteria.--}-type PluginFeatureFilter =-    Gst.PluginFeature.PluginFeature-    {- ^ /@feature@/: the pluginfeature to check -}-    -> IO Bool-    {- ^ __Returns:__ 'True' for a positive match, 'False' otherwise -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PluginFeatureFilter`@.-noPluginFeatureFilter :: Maybe PluginFeatureFilter-noPluginFeatureFilter = Nothing--{- |-A function that can be used with e.g. 'GI.Gst.Objects.Registry.registryFeatureFilter'-to get a list of pluginfeature that match certain criteria.--}-type PluginFeatureFilter_WithClosures =-    Gst.PluginFeature.PluginFeature-    {- ^ /@feature@/: the pluginfeature to check -}-    -> Ptr ()-    {- ^ /@userData@/: the user_data that has been passed on e.g.- 'GI.Gst.Objects.Registry.registryFeatureFilter' -}-    -> IO Bool-    {- ^ __Returns:__ 'True' for a positive match, 'False' otherwise -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PluginFeatureFilter_WithClosures`@.-noPluginFeatureFilter_WithClosures :: Maybe PluginFeatureFilter_WithClosures-noPluginFeatureFilter_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_PluginFeatureFilter :: PluginFeatureFilter -> PluginFeatureFilter_WithClosures-drop_closures_PluginFeatureFilter _f feature _ = _f feature---- | Wrap the callback into a `GClosure`.-genClosure_PluginFeatureFilter :: MonadIO m => PluginFeatureFilter -> m (GClosure C_PluginFeatureFilter)-genClosure_PluginFeatureFilter cb = liftIO $ do-    let cb' = drop_closures_PluginFeatureFilter cb-    let cb'' = wrap_PluginFeatureFilter Nothing cb'-    mk_PluginFeatureFilter cb'' >>= B.GClosure.newGClosure----- | Wrap a `PluginFeatureFilter` into a `C_PluginFeatureFilter`.-wrap_PluginFeatureFilter ::-    Maybe (Ptr (FunPtr C_PluginFeatureFilter)) ->-    PluginFeatureFilter_WithClosures ->-    C_PluginFeatureFilter-wrap_PluginFeatureFilter funptrptr _cb feature userData = do-    feature' <- (newObject Gst.PluginFeature.PluginFeature) feature-    result <- _cb  feature' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadUnlinkFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that is linked.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function signature to handle a unlinking the pad prom its peer.\n\nThe pad's lock is already held when the unlink function is called, so most\npad functions cannot be called from within the callback.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadUnlinkFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    IO ()---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that is linked.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadUnlinkFunction :: FunPtr C_PadUnlinkFunction -> C_PadUnlinkFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadUnlinkFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadUnlinkFunction-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is linked. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> m ()-dynamic_PadUnlinkFunction __funPtr pad parent = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    (__dynamic_C_PadUnlinkFunction __funPtr) pad' maybeParent-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    return ()---- | Generate a function pointer callable from C code, from a `C_PadUnlinkFunction`.-foreign import ccall "wrapper"-    mk_PadUnlinkFunction :: C_PadUnlinkFunction -> IO (FunPtr C_PadUnlinkFunction)--{- |-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.--}-type PadUnlinkFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is linked. -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `PadUnlinkFunction`@.-noPadUnlinkFunction :: Maybe PadUnlinkFunction-noPadUnlinkFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadUnlinkFunction :: MonadIO m => PadUnlinkFunction -> m (GClosure C_PadUnlinkFunction)-genClosure_PadUnlinkFunction cb = liftIO $ do-    let cb' = wrap_PadUnlinkFunction Nothing cb-    mk_PadUnlinkFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadUnlinkFunction` into a `C_PadUnlinkFunction`.-wrap_PadUnlinkFunction ::-    Maybe (Ptr (FunPtr C_PadUnlinkFunction)) ->-    PadUnlinkFunction ->-    C_PadUnlinkFunction-wrap_PadUnlinkFunction funptrptr _cb pad parent = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    _cb  pad' maybeParent-    maybeReleaseFunPtr funptrptr----- callback PadStickyEventsForeachFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the iteration should continue", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a sticky #GstEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #gpointer to optional user data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Callback used by gst_pad_sticky_events_foreach().\n\nWhen this function returns %TRUE, the next event will be\nreturned. When %FALSE is returned, gst_pad_sticky_events_foreach() will return.\n\nWhen @event is set to %NULL, the item will be removed from the list of sticky events.\n@event can be replaced by assigning a new reference to it.\nThis function is responsible for unreffing the old event when\nremoving or modifying.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadStickyEventsForeachFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Event.Event ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a sticky #GstEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #gpointer to optional user data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadStickyEventsForeachFunction :: FunPtr C_PadStickyEventsForeachFunction -> C_PadStickyEventsForeachFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadStickyEventsForeachFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a) =>-    FunPtr C_PadStickyEventsForeachFunction-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad'. -}-    -> Maybe (Gst.Event.Event)-    {- ^ /@event@/: a sticky 'GI.Gst.Structs.Event.Event'. -}-    -> Ptr ()-    {- ^ /@userData@/: the @/gpointer/@ to optional user data. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the iteration should continue -}-dynamic_PadStickyEventsForeachFunction __funPtr pad event userData = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeEvent <- case event of-        Nothing -> return nullPtr-        Just jEvent -> do-            jEvent' <- unsafeManagedPtrGetPtr jEvent-            return jEvent'-    result <- (__dynamic_C_PadStickyEventsForeachFunction __funPtr) pad' maybeEvent userData-    let result' = (/= 0) result-    touchManagedPtr pad-    whenJust event touchManagedPtr-    return result'---- | Generate a function pointer callable from C code, from a `C_PadStickyEventsForeachFunction`.-foreign import ccall "wrapper"-    mk_PadStickyEventsForeachFunction :: C_PadStickyEventsForeachFunction -> IO (FunPtr C_PadStickyEventsForeachFunction)--{- |-Callback used by 'GI.Gst.Objects.Pad.padStickyEventsForeach'.--When this function returns 'True', the next event will be-returned. When 'False' is returned, 'GI.Gst.Objects.Pad.padStickyEventsForeach' will return.--When /@event@/ is set to 'Nothing', 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.--}-type PadStickyEventsForeachFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad'. -}-    -> Maybe Gst.Event.Event-    {- ^ /@event@/: a sticky 'GI.Gst.Structs.Event.Event'. -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the iteration should continue -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadStickyEventsForeachFunction`@.-noPadStickyEventsForeachFunction :: Maybe PadStickyEventsForeachFunction-noPadStickyEventsForeachFunction = Nothing--{- |-Callback used by 'GI.Gst.Objects.Pad.padStickyEventsForeach'.--When this function returns 'True', the next event will be-returned. When 'False' is returned, 'GI.Gst.Objects.Pad.padStickyEventsForeach' will return.--When /@event@/ is set to 'Nothing', 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.--}-type PadStickyEventsForeachFunction_WithClosures =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad'. -}-    -> Maybe Gst.Event.Event-    {- ^ /@event@/: a sticky 'GI.Gst.Structs.Event.Event'. -}-    -> Ptr ()-    {- ^ /@userData@/: the @/gpointer/@ to optional user data. -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the iteration should continue -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadStickyEventsForeachFunction_WithClosures`@.-noPadStickyEventsForeachFunction_WithClosures :: Maybe PadStickyEventsForeachFunction_WithClosures-noPadStickyEventsForeachFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_PadStickyEventsForeachFunction :: PadStickyEventsForeachFunction -> PadStickyEventsForeachFunction_WithClosures-drop_closures_PadStickyEventsForeachFunction _f pad event _ = _f pad event---- | Wrap the callback into a `GClosure`.-genClosure_PadStickyEventsForeachFunction :: MonadIO m => PadStickyEventsForeachFunction -> m (GClosure C_PadStickyEventsForeachFunction)-genClosure_PadStickyEventsForeachFunction cb = liftIO $ do-    let cb' = drop_closures_PadStickyEventsForeachFunction cb-    let cb'' = wrap_PadStickyEventsForeachFunction Nothing cb'-    mk_PadStickyEventsForeachFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `PadStickyEventsForeachFunction` into a `C_PadStickyEventsForeachFunction`.-wrap_PadStickyEventsForeachFunction ::-    Maybe (Ptr (FunPtr C_PadStickyEventsForeachFunction)) ->-    PadStickyEventsForeachFunction_WithClosures ->-    C_PadStickyEventsForeachFunction-wrap_PadStickyEventsForeachFunction funptrptr _cb pad event userData = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeEvent <--        if event == nullPtr-        then return Nothing-        else do-            B.ManagedPtr.withTransient Gst.Event.Event event $ \event' -> do-                return $ Just event'-    result <- _cb  pad' maybeEvent userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadQueryFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the query could be performed.", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to query.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstQuery object to execute", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The signature of the query function.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadQueryFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    Ptr Gst.Query.Query ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to query.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstQuery object to execute", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadQueryFunction :: FunPtr C_PadQueryFunction -> C_PadQueryFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadQueryFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadQueryFunction-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to query. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.Query.Query-    {- ^ /@query@/: the 'GI.Gst.Structs.Query.Query' object to execute -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the query could be performed. -}-dynamic_PadQueryFunction __funPtr pad parent query = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    query' <- unsafeManagedPtrGetPtr query-    result <- (__dynamic_C_PadQueryFunction __funPtr) pad' maybeParent query'-    let result' = (/= 0) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr query-    return result'---- | Generate a function pointer callable from C code, from a `C_PadQueryFunction`.-foreign import ccall "wrapper"-    mk_PadQueryFunction :: C_PadQueryFunction -> IO (FunPtr C_PadQueryFunction)--{- |-The signature of the query function.--}-type PadQueryFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to query. -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.Query.Query-    {- ^ /@query@/: the 'GI.Gst.Structs.Query.Query' object to execute -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the query could be performed. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadQueryFunction`@.-noPadQueryFunction :: Maybe PadQueryFunction-noPadQueryFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadQueryFunction :: MonadIO m => PadQueryFunction -> m (GClosure C_PadQueryFunction)-genClosure_PadQueryFunction cb = liftIO $ do-    let cb' = wrap_PadQueryFunction Nothing cb-    mk_PadQueryFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadQueryFunction` into a `C_PadQueryFunction`.-wrap_PadQueryFunction ::-    Maybe (Ptr (FunPtr C_PadQueryFunction)) ->-    PadQueryFunction ->-    C_PadQueryFunction-wrap_PadQueryFunction funptrptr _cb pad parent query = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    B.ManagedPtr.withTransient Gst.Query.Query query $ \query' -> do-        result <- _cb  pad' maybeParent query'-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback PadProbeCallback---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "PadProbeReturn"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a #GstPadProbeReturn", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that is blocked", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "PadProbeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstPadProbeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the gpointer to optional user data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Callback used by gst_pad_add_probe(). Gets called to notify about the current\nblocking type.\n\nThe callback is allowed to modify the data pointer in @info.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadProbeCallback =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.PadProbeInfo.PadProbeInfo ->-    Ptr () ->-    IO CUInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that is blocked", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "PadProbeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstPadProbeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the gpointer to optional user data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadProbeReturn"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadProbeCallback :: FunPtr C_PadProbeCallback -> C_PadProbeCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadProbeCallback ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a) =>-    FunPtr C_PadProbeCallback-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is blocked -}-    -> Gst.PadProbeInfo.PadProbeInfo-    {- ^ /@info@/: 'GI.Gst.Structs.PadProbeInfo.PadProbeInfo' -}-    -> Ptr ()-    {- ^ /@userData@/: the gpointer to optional user data. -}-    -> m Gst.Enums.PadProbeReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.PadProbeReturn' -}-dynamic_PadProbeCallback __funPtr pad info userData = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    info' <- unsafeManagedPtrGetPtr info-    result <- (__dynamic_C_PadProbeCallback __funPtr) pad' info' userData-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    touchManagedPtr info-    return result'---- | Generate a function pointer callable from C code, from a `C_PadProbeCallback`.-foreign import ccall "wrapper"-    mk_PadProbeCallback :: C_PadProbeCallback -> IO (FunPtr C_PadProbeCallback)--{- |-Callback used by 'GI.Gst.Objects.Pad.padAddProbe'. Gets called to notify about the current-blocking type.--The callback is allowed to modify the data pointer in /@info@/.--}-type PadProbeCallback =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is blocked -}-    -> Gst.PadProbeInfo.PadProbeInfo-    {- ^ /@info@/: 'GI.Gst.Structs.PadProbeInfo.PadProbeInfo' -}-    -> IO Gst.Enums.PadProbeReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.PadProbeReturn' -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadProbeCallback`@.-noPadProbeCallback :: Maybe PadProbeCallback-noPadProbeCallback = Nothing--{- |-Callback used by 'GI.Gst.Objects.Pad.padAddProbe'. Gets called to notify about the current-blocking type.--The callback is allowed to modify the data pointer in /@info@/.--}-type PadProbeCallback_WithClosures =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is blocked -}-    -> Gst.PadProbeInfo.PadProbeInfo-    {- ^ /@info@/: 'GI.Gst.Structs.PadProbeInfo.PadProbeInfo' -}-    -> Ptr ()-    {- ^ /@userData@/: the gpointer to optional user data. -}-    -> IO Gst.Enums.PadProbeReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.PadProbeReturn' -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadProbeCallback_WithClosures`@.-noPadProbeCallback_WithClosures :: Maybe PadProbeCallback_WithClosures-noPadProbeCallback_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_PadProbeCallback :: PadProbeCallback -> PadProbeCallback_WithClosures-drop_closures_PadProbeCallback _f pad info _ = _f pad info---- | Wrap the callback into a `GClosure`.-genClosure_PadProbeCallback :: MonadIO m => PadProbeCallback -> m (GClosure C_PadProbeCallback)-genClosure_PadProbeCallback cb = liftIO $ do-    let cb' = drop_closures_PadProbeCallback cb-    let cb'' = wrap_PadProbeCallback Nothing cb'-    mk_PadProbeCallback cb'' >>= B.GClosure.newGClosure----- | Wrap a `PadProbeCallback` into a `C_PadProbeCallback`.-wrap_PadProbeCallback ::-    Maybe (Ptr (FunPtr C_PadProbeCallback)) ->-    PadProbeCallback_WithClosures ->-    C_PadProbeCallback-wrap_PadProbeCallback funptrptr _cb pad info userData = do-    pad' <- (newObject Gst.Pad.Pad) pad-    info' <- (newPtr Gst.PadProbeInfo.PadProbeInfo) info-    result <- _cb  pad' info' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadLinkFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "PadLinkReturn"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "the result of the link with the specified peer.", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that is linked.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "peer", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the peer #GstPad of the link", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function signature to handle a new link on the pad.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadLinkFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    Ptr Gst.Pad.Pad ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that is linked.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "peer", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the peer #GstPad of the link", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadLinkReturn"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadLinkFunction :: FunPtr C_PadLinkFunction -> C_PadLinkFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadLinkFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b, Gst.Pad.IsPad c) =>-    FunPtr C_PadLinkFunction-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is linked. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> c-    {- ^ /@peer@/: the peer 'GI.Gst.Objects.Pad.Pad' of the link -}-    -> m Gst.Enums.PadLinkReturn-    {- ^ __Returns:__ the result of the link with the specified peer. -}-dynamic_PadLinkFunction __funPtr pad parent peer = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    peer' <- unsafeManagedPtrCastPtr peer-    result <- (__dynamic_C_PadLinkFunction __funPtr) pad' maybeParent peer'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr peer-    return result'---- | Generate a function pointer callable from C code, from a `C_PadLinkFunction`.-foreign import ccall "wrapper"-    mk_PadLinkFunction :: C_PadLinkFunction -> IO (FunPtr C_PadLinkFunction)--{- |-Function signature to handle a new link on the pad.--}-type PadLinkFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is linked. -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.Pad.Pad-    {- ^ /@peer@/: the peer 'GI.Gst.Objects.Pad.Pad' of the link -}-    -> IO Gst.Enums.PadLinkReturn-    {- ^ __Returns:__ the result of the link with the specified peer. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadLinkFunction`@.-noPadLinkFunction :: Maybe PadLinkFunction-noPadLinkFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadLinkFunction :: MonadIO m => PadLinkFunction -> m (GClosure C_PadLinkFunction)-genClosure_PadLinkFunction cb = liftIO $ do-    let cb' = wrap_PadLinkFunction Nothing cb-    mk_PadLinkFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadLinkFunction` into a `C_PadLinkFunction`.-wrap_PadLinkFunction ::-    Maybe (Ptr (FunPtr C_PadLinkFunction)) ->-    PadLinkFunction ->-    C_PadLinkFunction-wrap_PadLinkFunction funptrptr _cb pad parent peer = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    peer' <- (newObject Gst.Pad.Pad) peer-    result <- _cb  pad' maybeParent peer'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadIterIntLinkFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "Iterator"})), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Just "a new #GstIterator that will iterate over all pads that are\nlinked to the given pad on the inside of the parent element.\n\nthe caller must call gst_iterator_free() after usage.", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstPad to query.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The signature of the internal pad link iterator function.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadIterIntLinkFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    IO (Ptr Gst.Iterator.Iterator)---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstPad to query.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadIterIntLinkFunction :: FunPtr C_PadIterIntLinkFunction -> C_PadIterIntLinkFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadIterIntLinkFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadIterIntLinkFunction-    -> a-    {- ^ /@pad@/: The 'GI.Gst.Objects.Pad.Pad' to query. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> m Gst.Iterator.Iterator-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Iterator.Iterator' that will iterate over all pads that are-linked to the given pad on the inside of the parent element.--the caller must call 'GI.Gst.Structs.Iterator.iteratorFree' after usage. -}-dynamic_PadIterIntLinkFunction __funPtr pad parent = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    result <- (__dynamic_C_PadIterIntLinkFunction __funPtr) pad' maybeParent-    checkUnexpectedReturnNULL "padIterIntLinkFunction" result-    result' <- (wrapBoxed Gst.Iterator.Iterator) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    return result'---- | Generate a function pointer callable from C code, from a `C_PadIterIntLinkFunction`.-foreign import ccall "wrapper"-    mk_PadIterIntLinkFunction :: C_PadIterIntLinkFunction -> IO (FunPtr C_PadIterIntLinkFunction)--{- |-The signature of the internal pad link iterator function.--}-type PadIterIntLinkFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: The 'GI.Gst.Objects.Pad.Pad' to query. -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> IO Gst.Iterator.Iterator-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Iterator.Iterator' that will iterate over all pads that are-linked to the given pad on the inside of the parent element.--the caller must call 'GI.Gst.Structs.Iterator.iteratorFree' after usage. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadIterIntLinkFunction`@.-noPadIterIntLinkFunction :: Maybe PadIterIntLinkFunction-noPadIterIntLinkFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadIterIntLinkFunction :: MonadIO m => PadIterIntLinkFunction -> m (GClosure C_PadIterIntLinkFunction)-genClosure_PadIterIntLinkFunction cb = liftIO $ do-    let cb' = wrap_PadIterIntLinkFunction Nothing cb-    mk_PadIterIntLinkFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadIterIntLinkFunction` into a `C_PadIterIntLinkFunction`.-wrap_PadIterIntLinkFunction ::-    Maybe (Ptr (FunPtr C_PadIterIntLinkFunction)) ->-    PadIterIntLinkFunction ->-    C_PadIterIntLinkFunction-wrap_PadIterIntLinkFunction funptrptr _cb pad parent = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    result <- _cb  pad' maybeParent-    maybeReleaseFunPtr funptrptr-    result' <- B.ManagedPtr.disownBoxed result-    return result'----- callback PadGetRangeFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "#GST_FLOW_OK for success and a valid buffer in @buffer. Any other\nreturn value leaves @buffer undefined.", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the src #GstPad to perform the getrange on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a memory location to hold the result buffer, cannot be %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This function will be called on source pads when a peer element\nrequest a buffer at the specified @offset and @length. If this function\nreturns #GST_FLOW_OK, the result buffer will be stored in @buffer. The\ncontents of @buffer is invalid for any other return value.\n\nThis function is installed on a source pad with\ngst_pad_set_getrange_function() and can only be called on source pads after\nthey are successfully activated with gst_pad_activate_mode() with the\n#GST_PAD_MODE_PULL.\n\n@offset and @length are always given in byte units. @offset must normally be a value\nbetween 0 and the length in bytes of the data available on @pad. The\nlength (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a\n#GST_QUERY_SEEKING.\n\nAny @offset larger or equal than the length will make the function return\n#GST_FLOW_EOS, which corresponds to EOS. In this case @buffer does not\ncontain a valid buffer.\n\nThe buffer size of @buffer will only be smaller than @length when @offset is\nnear the end of the stream. In all other cases, the size of @buffer must be\nexactly the requested size.\n\nIt is allowed to call this function with a 0 @length and valid @offset, in\nwhich case @buffer will contain a 0-sized buffer and the function returns\n#GST_FLOW_OK.\n\nWhen this function is called with a -1 @offset, the sequentially next buffer\nof length @length in the stream is returned.\n\nWhen this function is called with a -1 @length, a buffer with a default\noptimal length is returned in @buffer. The length might depend on the value\nof @offset.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadGetRangeFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    Word64 ->-    Word32 ->-    Ptr Gst.Buffer.Buffer ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the src #GstPad to perform the getrange on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a memory location to hold the result buffer, cannot be %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadGetRangeFunction :: FunPtr C_PadGetRangeFunction -> C_PadGetRangeFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadGetRangeFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadGetRangeFunction-    -> a-    {- ^ /@pad@/: the src 'GI.Gst.Objects.Pad.Pad' to perform the getrange on. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Word64-    {- ^ /@offset@/: the offset of the range -}-    -> Word32-    {- ^ /@length@/: the length of the range -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a memory location to hold the result buffer, cannot be 'Nothing'. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ @/GST_FLOW_OK/@ for success and a valid buffer in /@buffer@/. Any other-return value leaves /@buffer@/ undefined. -}-dynamic_PadGetRangeFunction __funPtr pad parent offset length_ buffer = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- (__dynamic_C_PadGetRangeFunction __funPtr) pad' maybeParent offset length_ buffer'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr buffer-    return result'---- | Generate a function pointer callable from C code, from a `C_PadGetRangeFunction`.-foreign import ccall "wrapper"-    mk_PadGetRangeFunction :: C_PadGetRangeFunction -> IO (FunPtr C_PadGetRangeFunction)--{- |-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 'GI.Gst.Objects.Pad.padActivateMode' 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@/.--}-type PadGetRangeFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the src 'GI.Gst.Objects.Pad.Pad' to perform the getrange on. -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Word64-    {- ^ /@offset@/: the offset of the range -}-    -> Word32-    {- ^ /@length@/: the length of the range -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a memory location to hold the result buffer, cannot be 'Nothing'. -}-    -> IO Gst.Enums.FlowReturn-    {- ^ __Returns:__ @/GST_FLOW_OK/@ for success and a valid buffer in /@buffer@/. Any other-return value leaves /@buffer@/ undefined. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadGetRangeFunction`@.-noPadGetRangeFunction :: Maybe PadGetRangeFunction-noPadGetRangeFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadGetRangeFunction :: MonadIO m => PadGetRangeFunction -> m (GClosure C_PadGetRangeFunction)-genClosure_PadGetRangeFunction cb = liftIO $ do-    let cb' = wrap_PadGetRangeFunction Nothing cb-    mk_PadGetRangeFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadGetRangeFunction` into a `C_PadGetRangeFunction`.-wrap_PadGetRangeFunction ::-    Maybe (Ptr (FunPtr C_PadGetRangeFunction)) ->-    PadGetRangeFunction ->-    C_PadGetRangeFunction-wrap_PadGetRangeFunction funptrptr _cb pad parent offset length_ buffer = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    B.ManagedPtr.withTransient Gst.Buffer.Buffer buffer $ \buffer' -> do-        result <- _cb  pad' maybeParent offset length_ buffer'-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback PadForwardFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the dispatching procedure has to be stopped.", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that is forwarded.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the gpointer to optional user data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A forward function is called for all internally linked pads, see\ngst_pad_forward().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadForwardFunction =-    Ptr Gst.Pad.Pad ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that is forwarded.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the gpointer to optional user data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadForwardFunction :: FunPtr C_PadForwardFunction -> C_PadForwardFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadForwardFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a) =>-    FunPtr C_PadForwardFunction-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is forwarded. -}-    -> Ptr ()-    {- ^ /@userData@/: the gpointer to optional user data. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the dispatching procedure has to be stopped. -}-dynamic_PadForwardFunction __funPtr pad userData = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- (__dynamic_C_PadForwardFunction __funPtr) pad' userData-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'---- | Generate a function pointer callable from C code, from a `C_PadForwardFunction`.-foreign import ccall "wrapper"-    mk_PadForwardFunction :: C_PadForwardFunction -> IO (FunPtr C_PadForwardFunction)--{- |-A forward function is called for all internally linked pads, see-'GI.Gst.Objects.Pad.padForward'.--}-type PadForwardFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is forwarded. -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the dispatching procedure has to be stopped. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadForwardFunction`@.-noPadForwardFunction :: Maybe PadForwardFunction-noPadForwardFunction = Nothing--{- |-A forward function is called for all internally linked pads, see-'GI.Gst.Objects.Pad.padForward'.--}-type PadForwardFunction_WithClosures =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is forwarded. -}-    -> Ptr ()-    {- ^ /@userData@/: the gpointer to optional user data. -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the dispatching procedure has to be stopped. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadForwardFunction_WithClosures`@.-noPadForwardFunction_WithClosures :: Maybe PadForwardFunction_WithClosures-noPadForwardFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_PadForwardFunction :: PadForwardFunction -> PadForwardFunction_WithClosures-drop_closures_PadForwardFunction _f pad _ = _f pad---- | Wrap the callback into a `GClosure`.-genClosure_PadForwardFunction :: MonadIO m => PadForwardFunction -> m (GClosure C_PadForwardFunction)-genClosure_PadForwardFunction cb = liftIO $ do-    let cb' = drop_closures_PadForwardFunction cb-    let cb'' = wrap_PadForwardFunction Nothing cb'-    mk_PadForwardFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `PadForwardFunction` into a `C_PadForwardFunction`.-wrap_PadForwardFunction ::-    Maybe (Ptr (FunPtr C_PadForwardFunction)) ->-    PadForwardFunction_WithClosures ->-    C_PadForwardFunction-wrap_PadForwardFunction funptrptr _cb pad userData = do-    pad' <- (newObject Gst.Pad.Pad) pad-    result <- _cb  pad' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadEventFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the pad could handle the event.", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to handle the event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstEvent to handle.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function signature to handle an event for the pad.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadEventFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    Ptr Gst.Event.Event ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to handle the event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstEvent to handle.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadEventFunction :: FunPtr C_PadEventFunction -> C_PadEventFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadEventFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadEventFunction-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to handle the event. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' to handle. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad could handle the event. -}-dynamic_PadEventFunction __funPtr pad parent event = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    event' <- B.ManagedPtr.disownBoxed event-    result <- (__dynamic_C_PadEventFunction __funPtr) pad' maybeParent event'-    let result' = (/= 0) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr event-    return result'---- | Generate a function pointer callable from C code, from a `C_PadEventFunction`.-foreign import ccall "wrapper"-    mk_PadEventFunction :: C_PadEventFunction -> IO (FunPtr C_PadEventFunction)--{- |-Function signature to handle an event for the pad.--}-type PadEventFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to handle the event. -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' to handle. -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the pad could handle the event. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadEventFunction`@.-noPadEventFunction :: Maybe PadEventFunction-noPadEventFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadEventFunction :: MonadIO m => PadEventFunction -> m (GClosure C_PadEventFunction)-genClosure_PadEventFunction cb = liftIO $ do-    let cb' = wrap_PadEventFunction Nothing cb-    mk_PadEventFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadEventFunction` into a `C_PadEventFunction`.-wrap_PadEventFunction ::-    Maybe (Ptr (FunPtr C_PadEventFunction)) ->-    PadEventFunction ->-    C_PadEventFunction-wrap_PadEventFunction funptrptr _cb pad parent event = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    event' <- (wrapBoxed Gst.Event.Event) event-    result <- _cb  pad' maybeParent event'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadEventFullFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%GST_FLOW_OK if the event was handled properly, or any other\n#GstFlowReturn dependent on downstream state.", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to handle the event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstEvent to handle.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function signature to handle an event for the pad.\n\nThis variant is for specific elements that will take into account the\nlast downstream flow return (from a pad push), in which case they can\nreturn it.", sinceVersion = Just "1.8"}}--- | Type for the callback on the (unwrapped) C side.-type C_PadEventFullFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    Ptr Gst.Event.Event ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to handle the event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstEvent to handle.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadEventFullFunction :: FunPtr C_PadEventFullFunction -> C_PadEventFullFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadEventFullFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadEventFullFunction-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to handle the event. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' to handle. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' if the event was handled properly, or any other-'GI.Gst.Enums.FlowReturn' dependent on downstream state. -}-dynamic_PadEventFullFunction __funPtr pad parent event = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    event' <- B.ManagedPtr.disownBoxed event-    result <- (__dynamic_C_PadEventFullFunction __funPtr) pad' maybeParent event'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr event-    return result'---- | Generate a function pointer callable from C code, from a `C_PadEventFullFunction`.-foreign import ccall "wrapper"-    mk_PadEventFullFunction :: C_PadEventFullFunction -> IO (FunPtr C_PadEventFullFunction)--{- |-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.--/Since: 1.8/--}-type PadEventFullFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to handle the event. -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' to handle. -}-    -> IO Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' if the event was handled properly, or any other-'GI.Gst.Enums.FlowReturn' dependent on downstream state. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadEventFullFunction`@.-noPadEventFullFunction :: Maybe PadEventFullFunction-noPadEventFullFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadEventFullFunction :: MonadIO m => PadEventFullFunction -> m (GClosure C_PadEventFullFunction)-genClosure_PadEventFullFunction cb = liftIO $ do-    let cb' = wrap_PadEventFullFunction Nothing cb-    mk_PadEventFullFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadEventFullFunction` into a `C_PadEventFullFunction`.-wrap_PadEventFullFunction ::-    Maybe (Ptr (FunPtr C_PadEventFullFunction)) ->-    PadEventFullFunction ->-    C_PadEventFullFunction-wrap_PadEventFullFunction funptrptr _cb pad parent event = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    event' <- (wrapBoxed Gst.Event.Event) event-    result <- _cb  pad' maybeParent event'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadChainListFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "#GST_FLOW_OK for success", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink #GstPad that performed the chain.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBufferList that is chained, not %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called on sinkpads when chaining buffer lists.\nThe function typically processes the data contained in the buffer list and\neither consumes the data or passes it on to the internally linked pad(s).\n\nThe implementer of this function receives a refcount to @list and\nshould gst_buffer_list_unref() when the list is no longer needed.\n\nWhen a chainlist function detects an error in the data stream, it must\npost an error on the bus and return an appropriate #GstFlowReturn value.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadChainListFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    Ptr Gst.BufferList.BufferList ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink #GstPad that performed the chain.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBufferList that is chained, not %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadChainListFunction :: FunPtr C_PadChainListFunction -> C_PadChainListFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadChainListFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadChainListFunction-    -> a-    {- ^ /@pad@/: the sink 'GI.Gst.Objects.Pad.Pad' that performed the chain. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.BufferList.BufferList-    {- ^ /@list@/: the 'GI.Gst.Structs.BufferList.BufferList' that is chained, not 'Nothing'. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ @/GST_FLOW_OK/@ for success -}-dynamic_PadChainListFunction __funPtr pad parent list = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    list' <- B.ManagedPtr.disownBoxed list-    result <- (__dynamic_C_PadChainListFunction __funPtr) pad' maybeParent list'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr list-    return result'---- | Generate a function pointer callable from C code, from a `C_PadChainListFunction`.-foreign import ccall "wrapper"-    mk_PadChainListFunction :: C_PadChainListFunction -> IO (FunPtr C_PadChainListFunction)--{- |-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 'GI.Gst.Enums.FlowReturn' value.--}-type PadChainListFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the sink 'GI.Gst.Objects.Pad.Pad' that performed the chain. -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.BufferList.BufferList-    {- ^ /@list@/: the 'GI.Gst.Structs.BufferList.BufferList' that is chained, not 'Nothing'. -}-    -> IO Gst.Enums.FlowReturn-    {- ^ __Returns:__ @/GST_FLOW_OK/@ for success -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadChainListFunction`@.-noPadChainListFunction :: Maybe PadChainListFunction-noPadChainListFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadChainListFunction :: MonadIO m => PadChainListFunction -> m (GClosure C_PadChainListFunction)-genClosure_PadChainListFunction cb = liftIO $ do-    let cb' = wrap_PadChainListFunction Nothing cb-    mk_PadChainListFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadChainListFunction` into a `C_PadChainListFunction`.-wrap_PadChainListFunction ::-    Maybe (Ptr (FunPtr C_PadChainListFunction)) ->-    PadChainListFunction ->-    C_PadChainListFunction-wrap_PadChainListFunction funptrptr _cb pad parent list = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    list' <- (wrapBoxed Gst.BufferList.BufferList) list-    result <- _cb  pad' maybeParent list'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadChainFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "#GST_FLOW_OK for success", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink #GstPad that performed the chain.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBuffer that is chained, not %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called on sinkpads when chaining buffers.\nThe function typically processes the data contained in the buffer and\neither consumes the data or passes it on to the internally linked pad(s).\n\nThe implementer of this function receives a refcount to @buffer and should\ngst_buffer_unref() when the buffer is no longer needed.\n\nWhen a chain function detects an error in the data stream, it must post an\nerror on the bus and return an appropriate #GstFlowReturn value.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadChainFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    Ptr Gst.Buffer.Buffer ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink #GstPad that performed the chain.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT\n         flag is set, @parent is guaranteed to be not-%NULL and remain valid\n         during the execution of this function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBuffer that is chained, not %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadChainFunction :: FunPtr C_PadChainFunction -> C_PadChainFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadChainFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadChainFunction-    -> a-    {- ^ /@pad@/: the sink 'GI.Gst.Objects.Pad.Pad' that performed the chain. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: the 'GI.Gst.Structs.Buffer.Buffer' that is chained, not 'Nothing'. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ @/GST_FLOW_OK/@ for success -}-dynamic_PadChainFunction __funPtr pad parent buffer = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    buffer' <- B.ManagedPtr.disownBoxed buffer-    result <- (__dynamic_C_PadChainFunction __funPtr) pad' maybeParent buffer'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr buffer-    return result'---- | Generate a function pointer callable from C code, from a `C_PadChainFunction`.-foreign import ccall "wrapper"-    mk_PadChainFunction :: C_PadChainFunction -> IO (FunPtr C_PadChainFunction)--{- |-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 'GI.Gst.Enums.FlowReturn' value.--}-type PadChainFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: the sink 'GI.Gst.Objects.Pad.Pad' that performed the chain. -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/. If the @/GST_PAD_FLAG_NEED_PARENT/@-         flag is set, /@parent@/ is guaranteed to be not-'Nothing' and remain valid-         during the execution of this function. -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: the 'GI.Gst.Structs.Buffer.Buffer' that is chained, not 'Nothing'. -}-    -> IO Gst.Enums.FlowReturn-    {- ^ __Returns:__ @/GST_FLOW_OK/@ for success -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadChainFunction`@.-noPadChainFunction :: Maybe PadChainFunction-noPadChainFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadChainFunction :: MonadIO m => PadChainFunction -> m (GClosure C_PadChainFunction)-genClosure_PadChainFunction cb = liftIO $ do-    let cb' = wrap_PadChainFunction Nothing cb-    mk_PadChainFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadChainFunction` into a `C_PadChainFunction`.-wrap_PadChainFunction ::-    Maybe (Ptr (FunPtr C_PadChainFunction)) ->-    PadChainFunction ->-    C_PadChainFunction-wrap_PadChainFunction funptrptr _cb pad parent buffer = do-    pad' <- (newObject Gst.Pad.Pad) pad-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    buffer' <- (wrapBoxed Gst.Buffer.Buffer) buffer-    result <- _cb  pad' maybeParent buffer'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadActivateModeFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the pad could be activated or deactivated.", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent of @pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "PadMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested activation mode of @pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "activate or deactivate the pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The prototype of the push and pull activate functions.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadActivateModeFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    CUInt ->-    CInt ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent of @pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "PadMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested activation mode of @pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "activate or deactivate the pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadActivateModeFunction :: FunPtr C_PadActivateModeFunction -> C_PadActivateModeFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadActivateModeFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadActivateModeFunction-    -> a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> b-    {- ^ /@parent@/: the parent of /@pad@/ -}-    -> Gst.Enums.PadMode-    {- ^ /@mode@/: the requested activation mode of /@pad@/ -}-    -> Bool-    {- ^ /@active@/: activate or deactivate the pad. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad could be activated or deactivated. -}-dynamic_PadActivateModeFunction __funPtr pad parent mode active = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    parent' <- unsafeManagedPtrCastPtr parent-    let mode' = (fromIntegral . fromEnum) mode-    let active' = (fromIntegral . fromEnum) active-    result <- (__dynamic_C_PadActivateModeFunction __funPtr) pad' parent' mode' active'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr parent-    return result'---- | Generate a function pointer callable from C code, from a `C_PadActivateModeFunction`.-foreign import ccall "wrapper"-    mk_PadActivateModeFunction :: C_PadActivateModeFunction -> IO (FunPtr C_PadActivateModeFunction)--{- |-The prototype of the push and pull activate functions.--}-type PadActivateModeFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/ -}-    -> Gst.Enums.PadMode-    {- ^ /@mode@/: the requested activation mode of /@pad@/ -}-    -> Bool-    {- ^ /@active@/: activate or deactivate the pad. -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the pad could be activated or deactivated. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadActivateModeFunction`@.-noPadActivateModeFunction :: Maybe PadActivateModeFunction-noPadActivateModeFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadActivateModeFunction :: MonadIO m => PadActivateModeFunction -> m (GClosure C_PadActivateModeFunction)-genClosure_PadActivateModeFunction cb = liftIO $ do-    let cb' = wrap_PadActivateModeFunction Nothing cb-    mk_PadActivateModeFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadActivateModeFunction` into a `C_PadActivateModeFunction`.-wrap_PadActivateModeFunction ::-    Maybe (Ptr (FunPtr C_PadActivateModeFunction)) ->-    PadActivateModeFunction ->-    C_PadActivateModeFunction-wrap_PadActivateModeFunction funptrptr _cb pad parent mode active = do-    pad' <- (newObject Gst.Pad.Pad) pad-    parent' <- (newObject Gst.Object.Object) parent-    let mode' = (toEnum . fromIntegral) mode-    let active' = (/= 0) active-    result <- _cb  pad' parent' mode' active'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback PadActivateFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the pad could be activated.", sinceVersion = Nothing}, args = [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent of @pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This function is called when the pad is activated during the element\nREADY to PAUSED state change. By default this function will call the\nactivate function that puts the pad in push mode but elements can\noverride this function to activate the pad in pull mode if they wish.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PadActivateFunction =-    Ptr Gst.Pad.Pad ->-    Ptr Gst.Object.Object ->-    IO CInt---- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent of @pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PadActivateFunction :: FunPtr C_PadActivateFunction -> C_PadActivateFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PadActivateFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    FunPtr C_PadActivateFunction-    -> a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> b-    {- ^ /@parent@/: the parent of /@pad@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad could be activated. -}-dynamic_PadActivateFunction __funPtr pad parent = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    parent' <- unsafeManagedPtrCastPtr parent-    result <- (__dynamic_C_PadActivateFunction __funPtr) pad' parent'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr parent-    return result'---- | Generate a function pointer callable from C code, from a `C_PadActivateFunction`.-foreign import ccall "wrapper"-    mk_PadActivateFunction :: C_PadActivateFunction -> IO (FunPtr C_PadActivateFunction)--{- |-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.--}-type PadActivateFunction =-    Gst.Pad.Pad-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> Gst.Object.Object-    {- ^ /@parent@/: the parent of /@pad@/ -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the pad could be activated. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PadActivateFunction`@.-noPadActivateFunction :: Maybe PadActivateFunction-noPadActivateFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PadActivateFunction :: MonadIO m => PadActivateFunction -> m (GClosure C_PadActivateFunction)-genClosure_PadActivateFunction cb = liftIO $ do-    let cb' = wrap_PadActivateFunction Nothing cb-    mk_PadActivateFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `PadActivateFunction` into a `C_PadActivateFunction`.-wrap_PadActivateFunction ::-    Maybe (Ptr (FunPtr C_PadActivateFunction)) ->-    PadActivateFunction ->-    C_PadActivateFunction-wrap_PadActivateFunction funptrptr _cb pad parent = do-    pad' <- (newObject Gst.Pad.Pad) pad-    parent' <- (newObject Gst.Object.Object) parent-    result <- _cb  pad' parent'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback MiniObjectNotify---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data that was provided when the notify was added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mini object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A #GstMiniObjectNotify function can be added to a mini object as a\ncallback that gets triggered when gst_mini_object_unref() drops the\nlast ref and @obj is about to be freed.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MiniObjectNotify =-    Ptr () ->-    Ptr Gst.MiniObject.MiniObject ->-    IO ()---- Args : [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data that was provided when the notify was added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mini object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MiniObjectNotify :: FunPtr C_MiniObjectNotify -> C_MiniObjectNotify---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MiniObjectNotify ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MiniObjectNotify-    -> Ptr ()-    {- ^ /@userData@/: data that was provided when the notify was added -}-    -> Gst.MiniObject.MiniObject-    {- ^ /@obj@/: the mini object -}-    -> m ()-dynamic_MiniObjectNotify __funPtr userData obj = liftIO $ do-    obj' <- unsafeManagedPtrGetPtr obj-    (__dynamic_C_MiniObjectNotify __funPtr) userData obj'-    touchManagedPtr obj-    return ()---- | Generate a function pointer callable from C code, from a `C_MiniObjectNotify`.-foreign import ccall "wrapper"-    mk_MiniObjectNotify :: C_MiniObjectNotify -> IO (FunPtr C_MiniObjectNotify)--{- |-A 'GI.Gst.Callbacks.MiniObjectNotify' 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.--}-type MiniObjectNotify =-    Gst.MiniObject.MiniObject-    {- ^ /@obj@/: the mini object -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `MiniObjectNotify`@.-noMiniObjectNotify :: Maybe MiniObjectNotify-noMiniObjectNotify = Nothing--{- |-A 'GI.Gst.Callbacks.MiniObjectNotify' 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.--}-type MiniObjectNotify_WithClosures =-    Ptr ()-    {- ^ /@userData@/: data that was provided when the notify was added -}-    -> Gst.MiniObject.MiniObject-    {- ^ /@obj@/: the mini object -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `MiniObjectNotify_WithClosures`@.-noMiniObjectNotify_WithClosures :: Maybe MiniObjectNotify_WithClosures-noMiniObjectNotify_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_MiniObjectNotify :: MiniObjectNotify -> MiniObjectNotify_WithClosures-drop_closures_MiniObjectNotify _f _ obj = _f obj---- | Wrap the callback into a `GClosure`.-genClosure_MiniObjectNotify :: MonadIO m => MiniObjectNotify -> m (GClosure C_MiniObjectNotify)-genClosure_MiniObjectNotify cb = liftIO $ do-    let cb' = drop_closures_MiniObjectNotify cb-    let cb'' = wrap_MiniObjectNotify Nothing cb'-    mk_MiniObjectNotify cb'' >>= B.GClosure.newGClosure----- | Wrap a `MiniObjectNotify` into a `C_MiniObjectNotify`.-wrap_MiniObjectNotify ::-    Maybe (Ptr (FunPtr C_MiniObjectNotify)) ->-    MiniObjectNotify_WithClosures ->-    C_MiniObjectNotify-wrap_MiniObjectNotify funptrptr _cb userData obj = do-    obj' <- (newPtr Gst.MiniObject.MiniObject) obj-    _cb  userData obj'-    maybeReleaseFunPtr funptrptr----- callback MiniObjectFreeFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "MiniObject to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Virtual function prototype for methods to free resources used by\nmini-objects.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MiniObjectFreeFunction =-    Ptr Gst.MiniObject.MiniObject ->-    IO ()---- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "MiniObject to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MiniObjectFreeFunction :: FunPtr C_MiniObjectFreeFunction -> C_MiniObjectFreeFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MiniObjectFreeFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MiniObjectFreeFunction-    -> Gst.MiniObject.MiniObject-    {- ^ /@obj@/: MiniObject to free -}-    -> m ()-dynamic_MiniObjectFreeFunction __funPtr obj = liftIO $ do-    obj' <- unsafeManagedPtrGetPtr obj-    (__dynamic_C_MiniObjectFreeFunction __funPtr) obj'-    touchManagedPtr obj-    return ()---- | Generate a function pointer callable from C code, from a `C_MiniObjectFreeFunction`.-foreign import ccall "wrapper"-    mk_MiniObjectFreeFunction :: C_MiniObjectFreeFunction -> IO (FunPtr C_MiniObjectFreeFunction)--{- |-Virtual function prototype for methods to free resources used by-mini-objects.--}-type MiniObjectFreeFunction =-    Gst.MiniObject.MiniObject-    {- ^ /@obj@/: MiniObject to free -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `MiniObjectFreeFunction`@.-noMiniObjectFreeFunction :: Maybe MiniObjectFreeFunction-noMiniObjectFreeFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MiniObjectFreeFunction :: MonadIO m => MiniObjectFreeFunction -> m (GClosure C_MiniObjectFreeFunction)-genClosure_MiniObjectFreeFunction cb = liftIO $ do-    let cb' = wrap_MiniObjectFreeFunction Nothing cb-    mk_MiniObjectFreeFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MiniObjectFreeFunction` into a `C_MiniObjectFreeFunction`.-wrap_MiniObjectFreeFunction ::-    Maybe (Ptr (FunPtr C_MiniObjectFreeFunction)) ->-    MiniObjectFreeFunction ->-    C_MiniObjectFreeFunction-wrap_MiniObjectFreeFunction funptrptr _cb obj = do-    obj' <- (newPtr Gst.MiniObject.MiniObject) obj-    _cb  obj'-    maybeReleaseFunPtr funptrptr----- callback MiniObjectDisposeFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the object should be cleaned up.", sinceVersion = Nothing}, args = [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "MiniObject to dispose", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function prototype for when a miniobject has lost its last refcount.\nImplementation of the mini object are allowed to revive the\npassed object by doing a gst_mini_object_ref(). If the object is not\nrevived after the dispose function, the function should return %TRUE\nand the memory associated with the object is freed.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MiniObjectDisposeFunction =-    Ptr Gst.MiniObject.MiniObject ->-    IO CInt---- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "MiniObject to dispose", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MiniObjectDisposeFunction :: FunPtr C_MiniObjectDisposeFunction -> C_MiniObjectDisposeFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MiniObjectDisposeFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MiniObjectDisposeFunction-    -> Gst.MiniObject.MiniObject-    {- ^ /@obj@/: MiniObject to dispose -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the object should be cleaned up. -}-dynamic_MiniObjectDisposeFunction __funPtr obj = liftIO $ do-    obj' <- unsafeManagedPtrGetPtr obj-    result <- (__dynamic_C_MiniObjectDisposeFunction __funPtr) obj'-    let result' = (/= 0) result-    touchManagedPtr obj-    return result'---- | Generate a function pointer callable from C code, from a `C_MiniObjectDisposeFunction`.-foreign import ccall "wrapper"-    mk_MiniObjectDisposeFunction :: C_MiniObjectDisposeFunction -> IO (FunPtr C_MiniObjectDisposeFunction)--{- |-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.--}-type MiniObjectDisposeFunction =-    Gst.MiniObject.MiniObject-    {- ^ /@obj@/: MiniObject to dispose -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the object should be cleaned up. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MiniObjectDisposeFunction`@.-noMiniObjectDisposeFunction :: Maybe MiniObjectDisposeFunction-noMiniObjectDisposeFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MiniObjectDisposeFunction :: MonadIO m => MiniObjectDisposeFunction -> m (GClosure C_MiniObjectDisposeFunction)-genClosure_MiniObjectDisposeFunction cb = liftIO $ do-    let cb' = wrap_MiniObjectDisposeFunction Nothing cb-    mk_MiniObjectDisposeFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MiniObjectDisposeFunction` into a `C_MiniObjectDisposeFunction`.-wrap_MiniObjectDisposeFunction ::-    Maybe (Ptr (FunPtr C_MiniObjectDisposeFunction)) ->-    MiniObjectDisposeFunction ->-    C_MiniObjectDisposeFunction-wrap_MiniObjectDisposeFunction funptrptr _cb obj = do-    obj' <- (newPtr Gst.MiniObject.MiniObject) obj-    result <- _cb  obj'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback MetaTransformFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the transform could be performed", sinceVersion = Nothing}, args = [Arg {argCName = "transbuf", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the transform type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "transform specific data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function called for each @meta in @buffer as a result of performing a\ntransformation on @transbuf. Additional @type specific transform data\nis passed to the function as @data.\n\nImplementations should check the @type of the transform and parse\nadditional type specific fields in @data that should be used to update\nthe metadata on @transbuf.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MetaTransformFunction =-    Ptr Gst.Buffer.Buffer ->-    Ptr Gst.Meta.Meta ->-    Ptr Gst.Buffer.Buffer ->-    Word32 ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "transbuf", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the transform type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "transform specific data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MetaTransformFunction :: FunPtr C_MetaTransformFunction -> C_MetaTransformFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MetaTransformFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MetaTransformFunction-    -> Gst.Buffer.Buffer-    {- ^ /@transbuf@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Gst.Meta.Meta-    {- ^ /@meta@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Word32-    {- ^ /@type@/: the transform type -}-    -> Ptr ()-    {- ^ /@data@/: transform specific data. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the transform could be performed -}-dynamic_MetaTransformFunction __funPtr transbuf meta buffer type_ data_ = liftIO $ do-    transbuf' <- unsafeManagedPtrGetPtr transbuf-    meta' <- unsafeManagedPtrGetPtr meta-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- (__dynamic_C_MetaTransformFunction __funPtr) transbuf' meta' buffer' type_ data_-    let result' = (/= 0) result-    touchManagedPtr transbuf-    touchManagedPtr meta-    touchManagedPtr buffer-    return result'---- | Generate a function pointer callable from C code, from a `C_MetaTransformFunction`.-foreign import ccall "wrapper"-    mk_MetaTransformFunction :: C_MetaTransformFunction -> IO (FunPtr C_MetaTransformFunction)--{- |-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@/.--}-type MetaTransformFunction =-    Gst.Buffer.Buffer-    {- ^ /@transbuf@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Gst.Meta.Meta-    {- ^ /@meta@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Word32-    {- ^ /@type@/: the transform type -}-    -> Ptr ()-    {- ^ /@data@/: transform specific data. -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the transform could be performed -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MetaTransformFunction`@.-noMetaTransformFunction :: Maybe MetaTransformFunction-noMetaTransformFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MetaTransformFunction :: MonadIO m => MetaTransformFunction -> m (GClosure C_MetaTransformFunction)-genClosure_MetaTransformFunction cb = liftIO $ do-    let cb' = wrap_MetaTransformFunction Nothing cb-    mk_MetaTransformFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MetaTransformFunction` into a `C_MetaTransformFunction`.-wrap_MetaTransformFunction ::-    Maybe (Ptr (FunPtr C_MetaTransformFunction)) ->-    MetaTransformFunction ->-    C_MetaTransformFunction-wrap_MetaTransformFunction funptrptr _cb transbuf meta buffer type_ data_ = do-    B.ManagedPtr.withTransient Gst.Buffer.Buffer transbuf $ \transbuf' -> do-        meta' <- (newPtr Gst.Meta.Meta) meta-        B.ManagedPtr.withTransient Gst.Buffer.Buffer buffer $ \buffer' -> do-            result <- _cb  transbuf' meta' buffer' type_ data_-            maybeReleaseFunPtr funptrptr-            let result' = (fromIntegral . fromEnum) result-            return result'----- callback MetaInitFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "parameters passed to the init function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function called when @meta is initialized in @buffer.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MetaInitFunction =-    Ptr Gst.Meta.Meta ->-    Ptr () ->-    Ptr Gst.Buffer.Buffer ->-    IO CInt---- Args : [Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "parameters passed to the init function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MetaInitFunction :: FunPtr C_MetaInitFunction -> C_MetaInitFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MetaInitFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MetaInitFunction-    -> Gst.Meta.Meta-    {- ^ /@meta@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> Ptr ()-    {- ^ /@params@/: parameters passed to the init function -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> m Bool-dynamic_MetaInitFunction __funPtr meta params buffer = liftIO $ do-    meta' <- unsafeManagedPtrGetPtr meta-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- (__dynamic_C_MetaInitFunction __funPtr) meta' params buffer'-    let result' = (/= 0) result-    touchManagedPtr meta-    touchManagedPtr buffer-    return result'---- | Generate a function pointer callable from C code, from a `C_MetaInitFunction`.-foreign import ccall "wrapper"-    mk_MetaInitFunction :: C_MetaInitFunction -> IO (FunPtr C_MetaInitFunction)--{- |-Function called when /@meta@/ is initialized in /@buffer@/.--}-type MetaInitFunction =-    Gst.Meta.Meta-    {- ^ /@meta@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> Ptr ()-    {- ^ /@params@/: parameters passed to the init function -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> IO Bool---- | A convenience synonym for @`Nothing` :: `Maybe` `MetaInitFunction`@.-noMetaInitFunction :: Maybe MetaInitFunction-noMetaInitFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MetaInitFunction :: MonadIO m => MetaInitFunction -> m (GClosure C_MetaInitFunction)-genClosure_MetaInitFunction cb = liftIO $ do-    let cb' = wrap_MetaInitFunction Nothing cb-    mk_MetaInitFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MetaInitFunction` into a `C_MetaInitFunction`.-wrap_MetaInitFunction ::-    Maybe (Ptr (FunPtr C_MetaInitFunction)) ->-    MetaInitFunction ->-    C_MetaInitFunction-wrap_MetaInitFunction funptrptr _cb meta params buffer = do-    meta' <- (newPtr Gst.Meta.Meta) meta-    B.ManagedPtr.withTransient Gst.Buffer.Buffer buffer $ \buffer' -> do-        result <- _cb  meta' params buffer'-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback MetaFreeFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function called when @meta is freed in @buffer.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MetaFreeFunction =-    Ptr Gst.Meta.Meta ->-    Ptr Gst.Buffer.Buffer ->-    IO ()---- Args : [Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MetaFreeFunction :: FunPtr C_MetaFreeFunction -> C_MetaFreeFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MetaFreeFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MetaFreeFunction-    -> Gst.Meta.Meta-    {- ^ /@meta@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> m ()-dynamic_MetaFreeFunction __funPtr meta buffer = liftIO $ do-    meta' <- unsafeManagedPtrGetPtr meta-    buffer' <- unsafeManagedPtrGetPtr buffer-    (__dynamic_C_MetaFreeFunction __funPtr) meta' buffer'-    touchManagedPtr meta-    touchManagedPtr buffer-    return ()---- | Generate a function pointer callable from C code, from a `C_MetaFreeFunction`.-foreign import ccall "wrapper"-    mk_MetaFreeFunction :: C_MetaFreeFunction -> IO (FunPtr C_MetaFreeFunction)--{- |-Function called when /@meta@/ is freed in /@buffer@/.--}-type MetaFreeFunction =-    Gst.Meta.Meta-    {- ^ /@meta@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `MetaFreeFunction`@.-noMetaFreeFunction :: Maybe MetaFreeFunction-noMetaFreeFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MetaFreeFunction :: MonadIO m => MetaFreeFunction -> m (GClosure C_MetaFreeFunction)-genClosure_MetaFreeFunction cb = liftIO $ do-    let cb' = wrap_MetaFreeFunction Nothing cb-    mk_MetaFreeFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MetaFreeFunction` into a `C_MetaFreeFunction`.-wrap_MetaFreeFunction ::-    Maybe (Ptr (FunPtr C_MetaFreeFunction)) ->-    MetaFreeFunction ->-    C_MetaFreeFunction-wrap_MetaFreeFunction funptrptr _cb meta buffer = do-    meta' <- (newPtr Gst.Meta.Meta) meta-    B.ManagedPtr.withTransient Gst.Buffer.Buffer buffer $ \buffer' -> do-        _cb  meta' buffer'-        maybeReleaseFunPtr funptrptr----- callback MemoryUnmapFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Return the pointer previously retrieved with gst_memory_map().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemoryUnmapFunction =-    Ptr Gst.Memory.Memory ->-    IO ()---- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemoryUnmapFunction :: FunPtr C_MemoryUnmapFunction -> C_MemoryUnmapFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemoryUnmapFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemoryUnmapFunction-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> m ()-dynamic_MemoryUnmapFunction __funPtr mem = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    (__dynamic_C_MemoryUnmapFunction __funPtr) mem'-    touchManagedPtr mem-    return ()---- | Generate a function pointer callable from C code, from a `C_MemoryUnmapFunction`.-foreign import ccall "wrapper"-    mk_MemoryUnmapFunction :: C_MemoryUnmapFunction -> IO (FunPtr C_MemoryUnmapFunction)--{- |-Return the pointer previously retrieved with 'GI.Gst.Structs.Memory.memoryMap'.--}-type MemoryUnmapFunction =-    Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `MemoryUnmapFunction`@.-noMemoryUnmapFunction :: Maybe MemoryUnmapFunction-noMemoryUnmapFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemoryUnmapFunction :: MonadIO m => MemoryUnmapFunction -> m (GClosure C_MemoryUnmapFunction)-genClosure_MemoryUnmapFunction cb = liftIO $ do-    let cb' = wrap_MemoryUnmapFunction Nothing cb-    mk_MemoryUnmapFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MemoryUnmapFunction` into a `C_MemoryUnmapFunction`.-wrap_MemoryUnmapFunction ::-    Maybe (Ptr (FunPtr C_MemoryUnmapFunction)) ->-    MemoryUnmapFunction ->-    C_MemoryUnmapFunction-wrap_MemoryUnmapFunction funptrptr _cb mem = do-    B.ManagedPtr.withTransient Gst.Memory.Memory mem $ \mem' -> do-        _cb  mem'-        maybeReleaseFunPtr funptrptr----- callback MemoryUnmapFullFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMapInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Return the pointer previously retrieved with gst_memory_map() with @info.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemoryUnmapFullFunction =-    Ptr Gst.Memory.Memory ->-    Ptr Gst.MapInfo.MapInfo ->-    IO ()---- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMapInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemoryUnmapFullFunction :: FunPtr C_MemoryUnmapFullFunction -> C_MemoryUnmapFullFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemoryUnmapFullFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemoryUnmapFullFunction-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Gst.MapInfo.MapInfo-    {- ^ /@info@/: a 'GI.Gst.Structs.MapInfo.MapInfo' -}-    -> m ()-dynamic_MemoryUnmapFullFunction __funPtr mem info = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    info' <- unsafeManagedPtrGetPtr info-    (__dynamic_C_MemoryUnmapFullFunction __funPtr) mem' info'-    touchManagedPtr mem-    touchManagedPtr info-    return ()---- | Generate a function pointer callable from C code, from a `C_MemoryUnmapFullFunction`.-foreign import ccall "wrapper"-    mk_MemoryUnmapFullFunction :: C_MemoryUnmapFullFunction -> IO (FunPtr C_MemoryUnmapFullFunction)--{- |-Return the pointer previously retrieved with 'GI.Gst.Structs.Memory.memoryMap' with /@info@/.--}-type MemoryUnmapFullFunction =-    Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Gst.MapInfo.MapInfo-    {- ^ /@info@/: a 'GI.Gst.Structs.MapInfo.MapInfo' -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `MemoryUnmapFullFunction`@.-noMemoryUnmapFullFunction :: Maybe MemoryUnmapFullFunction-noMemoryUnmapFullFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemoryUnmapFullFunction :: MonadIO m => MemoryUnmapFullFunction -> m (GClosure C_MemoryUnmapFullFunction)-genClosure_MemoryUnmapFullFunction cb = liftIO $ do-    let cb' = wrap_MemoryUnmapFullFunction Nothing cb-    mk_MemoryUnmapFullFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MemoryUnmapFullFunction` into a `C_MemoryUnmapFullFunction`.-wrap_MemoryUnmapFullFunction ::-    Maybe (Ptr (FunPtr C_MemoryUnmapFullFunction)) ->-    MemoryUnmapFullFunction ->-    C_MemoryUnmapFullFunction-wrap_MemoryUnmapFullFunction funptrptr _cb mem info = do-    B.ManagedPtr.withTransient Gst.Memory.Memory mem $ \mem' -> do-        info' <- (newPtr Gst.MapInfo.MapInfo) info-        _cb  mem' info'-        maybeReleaseFunPtr funptrptr----- callback MemoryShareFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "Memory"})), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Just "a new #GstMemory object sharing the requested region in @mem.", sinceVersion = Nothing}, args = [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a size or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Share @size bytes from @mem starting at @offset and return them wrapped in a\nnew GstMemory object. If @size is set to -1, all bytes starting at @offset are\nshared. This function does not make a copy of the bytes in @mem.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemoryShareFunction =-    Ptr Gst.Memory.Memory ->-    Int64 ->-    Int64 ->-    IO (Ptr Gst.Memory.Memory)---- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a size or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemoryShareFunction :: FunPtr C_MemoryShareFunction -> C_MemoryShareFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemoryShareFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemoryShareFunction-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Int64-    {- ^ /@offset@/: an offset -}-    -> Int64-    {- ^ /@size@/: a size or -1 -}-    -> m Gst.Memory.Memory-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Memory.Memory' object sharing the requested region in /@mem@/. -}-dynamic_MemoryShareFunction __funPtr mem offset size = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    result <- (__dynamic_C_MemoryShareFunction __funPtr) mem' offset size-    checkUnexpectedReturnNULL "memoryShareFunction" result-    result' <- (wrapBoxed Gst.Memory.Memory) result-    touchManagedPtr mem-    return result'---- | Generate a function pointer callable from C code, from a `C_MemoryShareFunction`.-foreign import ccall "wrapper"-    mk_MemoryShareFunction :: C_MemoryShareFunction -> IO (FunPtr C_MemoryShareFunction)--{- |-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@/.--}-type MemoryShareFunction =-    Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Int64-    {- ^ /@offset@/: an offset -}-    -> Int64-    {- ^ /@size@/: a size or -1 -}-    -> IO Gst.Memory.Memory-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Memory.Memory' object sharing the requested region in /@mem@/. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MemoryShareFunction`@.-noMemoryShareFunction :: Maybe MemoryShareFunction-noMemoryShareFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemoryShareFunction :: MonadIO m => MemoryShareFunction -> m (GClosure C_MemoryShareFunction)-genClosure_MemoryShareFunction cb = liftIO $ do-    let cb' = wrap_MemoryShareFunction Nothing cb-    mk_MemoryShareFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MemoryShareFunction` into a `C_MemoryShareFunction`.-wrap_MemoryShareFunction ::-    Maybe (Ptr (FunPtr C_MemoryShareFunction)) ->-    MemoryShareFunction ->-    C_MemoryShareFunction-wrap_MemoryShareFunction funptrptr _cb mem offset size = do-    B.ManagedPtr.withTransient Gst.Memory.Memory mem $ \mem' -> do-        result <- _cb  mem' offset size-        maybeReleaseFunPtr funptrptr-        result' <- B.ManagedPtr.disownBoxed result-        return result'----- callback MemoryMapFunction---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = True, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a pointer to memory of which at least @maxsize bytes can be\naccessed according to the access pattern in @flags.", sinceVersion = Nothing}, args = [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maxsize", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size to map", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "MapFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "access mode for the memory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Get the memory of @mem that can be accessed according to the mode specified\nin @flags. The function should return a pointer that contains at least\n@maxsize bytes.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemoryMapFunction =-    Ptr Gst.Memory.Memory ->-    Word64 ->-    CUInt ->-    IO (Ptr ())---- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maxsize", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size to map", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "MapFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "access mode for the memory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemoryMapFunction :: FunPtr C_MemoryMapFunction -> C_MemoryMapFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemoryMapFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemoryMapFunction-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Word64-    {- ^ /@maxsize@/: size to map -}-    -> [Gst.Flags.MapFlags]-    {- ^ /@flags@/: access mode for the memory -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to memory of which at least /@maxsize@/ bytes can be-accessed according to the access pattern in /@flags@/. -}-dynamic_MemoryMapFunction __funPtr mem maxsize flags = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    let flags' = gflagsToWord flags-    result <- (__dynamic_C_MemoryMapFunction __funPtr) mem' maxsize flags'-    touchManagedPtr mem-    return result---- | Generate a function pointer callable from C code, from a `C_MemoryMapFunction`.-foreign import ccall "wrapper"-    mk_MemoryMapFunction :: C_MemoryMapFunction -> IO (FunPtr C_MemoryMapFunction)--{- |-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.--}-type MemoryMapFunction =-    Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Word64-    {- ^ /@maxsize@/: size to map -}-    -> [Gst.Flags.MapFlags]-    {- ^ /@flags@/: access mode for the memory -}-    -> IO (Ptr ())-    {- ^ __Returns:__ a pointer to memory of which at least /@maxsize@/ bytes can be-accessed according to the access pattern in /@flags@/. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MemoryMapFunction`@.-noMemoryMapFunction :: Maybe MemoryMapFunction-noMemoryMapFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemoryMapFunction :: MonadIO m => MemoryMapFunction -> m (GClosure C_MemoryMapFunction)-genClosure_MemoryMapFunction cb = liftIO $ do-    let cb' = wrap_MemoryMapFunction Nothing cb-    mk_MemoryMapFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MemoryMapFunction` into a `C_MemoryMapFunction`.-wrap_MemoryMapFunction ::-    Maybe (Ptr (FunPtr C_MemoryMapFunction)) ->-    MemoryMapFunction ->-    C_MemoryMapFunction-wrap_MemoryMapFunction funptrptr _cb mem maxsize flags = do-    B.ManagedPtr.withTransient Gst.Memory.Memory mem $ \mem' -> do-        let flags' = wordToGFlags flags-        result <- _cb  mem' maxsize flags'-        maybeReleaseFunPtr funptrptr-        return result----- callback MemoryMapFullFunction---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = True, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a pointer to memory of which at least @maxsize bytes can be\naccessed according to the access pattern in @info's flags.", sinceVersion = Nothing}, args = [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMapInfo to map with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maxsize", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size to map", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Get the memory of @mem that can be accessed according to the mode specified\nin @info's flags. The function should return a pointer that contains at least\n@maxsize bytes.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemoryMapFullFunction =-    Ptr Gst.Memory.Memory ->-    Ptr Gst.MapInfo.MapInfo ->-    Word64 ->-    IO (Ptr ())---- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMapInfo to map with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maxsize", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size to map", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemoryMapFullFunction :: FunPtr C_MemoryMapFullFunction -> C_MemoryMapFullFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemoryMapFullFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemoryMapFullFunction-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Gst.MapInfo.MapInfo-    {- ^ /@info@/: the 'GI.Gst.Structs.MapInfo.MapInfo' to map with -}-    -> Word64-    {- ^ /@maxsize@/: size to map -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to memory of which at least /@maxsize@/ bytes can be-accessed according to the access pattern in /@info@/\'s flags. -}-dynamic_MemoryMapFullFunction __funPtr mem info maxsize = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    info' <- unsafeManagedPtrGetPtr info-    result <- (__dynamic_C_MemoryMapFullFunction __funPtr) mem' info' maxsize-    touchManagedPtr mem-    touchManagedPtr info-    return result---- | Generate a function pointer callable from C code, from a `C_MemoryMapFullFunction`.-foreign import ccall "wrapper"-    mk_MemoryMapFullFunction :: C_MemoryMapFullFunction -> IO (FunPtr C_MemoryMapFullFunction)--{- |-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.--}-type MemoryMapFullFunction =-    Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Gst.MapInfo.MapInfo-    {- ^ /@info@/: the 'GI.Gst.Structs.MapInfo.MapInfo' to map with -}-    -> Word64-    {- ^ /@maxsize@/: size to map -}-    -> IO (Ptr ())-    {- ^ __Returns:__ a pointer to memory of which at least /@maxsize@/ bytes can be-accessed according to the access pattern in /@info@/\'s flags. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MemoryMapFullFunction`@.-noMemoryMapFullFunction :: Maybe MemoryMapFullFunction-noMemoryMapFullFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemoryMapFullFunction :: MonadIO m => MemoryMapFullFunction -> m (GClosure C_MemoryMapFullFunction)-genClosure_MemoryMapFullFunction cb = liftIO $ do-    let cb' = wrap_MemoryMapFullFunction Nothing cb-    mk_MemoryMapFullFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MemoryMapFullFunction` into a `C_MemoryMapFullFunction`.-wrap_MemoryMapFullFunction ::-    Maybe (Ptr (FunPtr C_MemoryMapFullFunction)) ->-    MemoryMapFullFunction ->-    C_MemoryMapFullFunction-wrap_MemoryMapFullFunction funptrptr _cb mem info maxsize = do-    B.ManagedPtr.withTransient Gst.Memory.Memory mem $ \mem' -> do-        info' <- (newPtr Gst.MapInfo.MapInfo) info-        result <- _cb  mem' info' maxsize-        maybeReleaseFunPtr funptrptr-        return result----- callback MemoryIsSpanFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if @mem1 and @mem2 are in contiguous memory.", sinceVersion = Nothing}, args = [Arg {argCName = "mem1", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem2", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a result offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Check if @mem1 and @mem2 occupy contiguous memory and return the offset of\n@mem1 in the parent buffer in @offset.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemoryIsSpanFunction =-    Ptr Gst.Memory.Memory ->-    Ptr Gst.Memory.Memory ->-    Word64 ->-    IO CInt---- Args : [Arg {argCName = "mem1", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem2", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a result offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemoryIsSpanFunction :: FunPtr C_MemoryIsSpanFunction -> C_MemoryIsSpanFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemoryIsSpanFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemoryIsSpanFunction-    -> Gst.Memory.Memory-    {- ^ /@mem1@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Gst.Memory.Memory-    {- ^ /@mem2@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Word64-    {- ^ /@offset@/: a result offset -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@mem1@/ and /@mem2@/ are in contiguous memory. -}-dynamic_MemoryIsSpanFunction __funPtr mem1 mem2 offset = liftIO $ do-    mem1' <- unsafeManagedPtrGetPtr mem1-    mem2' <- unsafeManagedPtrGetPtr mem2-    result <- (__dynamic_C_MemoryIsSpanFunction __funPtr) mem1' mem2' offset-    let result' = (/= 0) result-    touchManagedPtr mem1-    touchManagedPtr mem2-    return result'---- | Generate a function pointer callable from C code, from a `C_MemoryIsSpanFunction`.-foreign import ccall "wrapper"-    mk_MemoryIsSpanFunction :: C_MemoryIsSpanFunction -> IO (FunPtr C_MemoryIsSpanFunction)--{- |-Check if /@mem1@/ and /@mem2@/ occupy contiguous memory and return the offset of-/@mem1@/ in the parent buffer in /@offset@/.--}-type MemoryIsSpanFunction =-    Gst.Memory.Memory-    {- ^ /@mem1@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Gst.Memory.Memory-    {- ^ /@mem2@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Word64-    {- ^ /@offset@/: a result offset -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if /@mem1@/ and /@mem2@/ are in contiguous memory. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MemoryIsSpanFunction`@.-noMemoryIsSpanFunction :: Maybe MemoryIsSpanFunction-noMemoryIsSpanFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemoryIsSpanFunction :: MonadIO m => MemoryIsSpanFunction -> m (GClosure C_MemoryIsSpanFunction)-genClosure_MemoryIsSpanFunction cb = liftIO $ do-    let cb' = wrap_MemoryIsSpanFunction Nothing cb-    mk_MemoryIsSpanFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MemoryIsSpanFunction` into a `C_MemoryIsSpanFunction`.-wrap_MemoryIsSpanFunction ::-    Maybe (Ptr (FunPtr C_MemoryIsSpanFunction)) ->-    MemoryIsSpanFunction ->-    C_MemoryIsSpanFunction-wrap_MemoryIsSpanFunction funptrptr _cb mem1 mem2 offset = do-    B.ManagedPtr.withTransient Gst.Memory.Memory mem1 $ \mem1' -> do-        B.ManagedPtr.withTransient Gst.Memory.Memory mem2 $ \mem2' -> do-            result <- _cb  mem1' mem2' offset-            maybeReleaseFunPtr funptrptr-            let result' = (fromIntegral . fromEnum) result-            return result'----- callback MemoryCopyFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "Memory"})), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Just "a new #GstMemory object wrapping a copy of the requested region in\n@mem.", sinceVersion = Nothing}, args = [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a size or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Copy @size bytes from @mem starting at @offset and return them wrapped in a\nnew GstMemory object.\nIf @size is set to -1, all bytes starting at @offset are copied.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemoryCopyFunction =-    Ptr Gst.Memory.Memory ->-    Int64 ->-    Int64 ->-    IO (Ptr Gst.Memory.Memory)---- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a size or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemoryCopyFunction :: FunPtr C_MemoryCopyFunction -> C_MemoryCopyFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemoryCopyFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemoryCopyFunction-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Int64-    {- ^ /@offset@/: an offset -}-    -> Int64-    {- ^ /@size@/: a size or -1 -}-    -> m Gst.Memory.Memory-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Memory.Memory' object wrapping a copy of the requested region in-/@mem@/. -}-dynamic_MemoryCopyFunction __funPtr mem offset size = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    result <- (__dynamic_C_MemoryCopyFunction __funPtr) mem' offset size-    checkUnexpectedReturnNULL "memoryCopyFunction" result-    result' <- (wrapBoxed Gst.Memory.Memory) result-    touchManagedPtr mem-    return result'---- | Generate a function pointer callable from C code, from a `C_MemoryCopyFunction`.-foreign import ccall "wrapper"-    mk_MemoryCopyFunction :: C_MemoryCopyFunction -> IO (FunPtr C_MemoryCopyFunction)--{- |-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.--}-type MemoryCopyFunction =-    Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Int64-    {- ^ /@offset@/: an offset -}-    -> Int64-    {- ^ /@size@/: a size or -1 -}-    -> IO Gst.Memory.Memory-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Memory.Memory' object wrapping a copy of the requested region in-/@mem@/. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MemoryCopyFunction`@.-noMemoryCopyFunction :: Maybe MemoryCopyFunction-noMemoryCopyFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemoryCopyFunction :: MonadIO m => MemoryCopyFunction -> m (GClosure C_MemoryCopyFunction)-genClosure_MemoryCopyFunction cb = liftIO $ do-    let cb' = wrap_MemoryCopyFunction Nothing cb-    mk_MemoryCopyFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `MemoryCopyFunction` into a `C_MemoryCopyFunction`.-wrap_MemoryCopyFunction ::-    Maybe (Ptr (FunPtr C_MemoryCopyFunction)) ->-    MemoryCopyFunction ->-    C_MemoryCopyFunction-wrap_MemoryCopyFunction funptrptr _cb mem offset size = do-    B.ManagedPtr.withTransient Gst.Memory.Memory mem $ \mem' -> do-        result <- _cb  mem' offset size-        maybeReleaseFunPtr funptrptr-        result' <- B.ManagedPtr.disownBoxed result-        return result'----- callback LogFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugCategory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "level", argType = TInterface (Name {namespace = "Gst", name = "DebugLevel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugLevel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "file name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "line number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "DebugMessage"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for the log function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 7, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function prototype for a logging function that can be registered with\ngst_debug_add_log_function().\nUse G_GNUC_NO_INSTRUMENT on that function.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_LogFunction =-    Ptr Gst.DebugCategory.DebugCategory ->-    CUInt ->-    CString ->-    CString ->-    Int32 ->-    Ptr GObject.Object.Object ->-    Ptr Gst.DebugMessage.DebugMessage ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugCategory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "level", argType = TInterface (Name {namespace = "Gst", name = "DebugLevel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugLevel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "file name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "line number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "DebugMessage"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for the log function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 7, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_LogFunction :: FunPtr C_LogFunction -> C_LogFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_LogFunction ::-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>-    FunPtr C_LogFunction-    -> Gst.DebugCategory.DebugCategory-    {- ^ /@category@/: a 'GI.Gst.Structs.DebugCategory.DebugCategory' -}-    -> Gst.Enums.DebugLevel-    {- ^ /@level@/: a 'GI.Gst.Enums.DebugLevel' -}-    -> T.Text-    {- ^ /@file@/: file name -}-    -> T.Text-    {- ^ /@function@/: function name -}-    -> Int32-    {- ^ /@line@/: line number -}-    -> a-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}-    -> Gst.DebugMessage.DebugMessage-    {- ^ /@message@/: the message -}-    -> Ptr ()-    {- ^ /@userData@/: user data for the log function -}-    -> m ()-dynamic_LogFunction __funPtr category level file function line object message userData = liftIO $ do-    category' <- unsafeManagedPtrGetPtr category-    let level' = (fromIntegral . fromEnum) level-    file' <- textToCString file-    function' <- textToCString function-    object' <- unsafeManagedPtrCastPtr object-    message' <- unsafeManagedPtrGetPtr message-    (__dynamic_C_LogFunction __funPtr) category' level' file' function' line object' message' userData-    touchManagedPtr category-    touchManagedPtr object-    touchManagedPtr message-    freeMem file'-    freeMem function'-    return ()---- | Generate a function pointer callable from C code, from a `C_LogFunction`.-foreign import ccall "wrapper"-    mk_LogFunction :: C_LogFunction -> IO (FunPtr C_LogFunction)--{- |-Function prototype for a logging function that can be registered with-'GI.Gst.Functions.debugAddLogFunction'.-Use G_GNUC_NO_INSTRUMENT on that function.--}-type LogFunction =-    Gst.DebugCategory.DebugCategory-    {- ^ /@category@/: a 'GI.Gst.Structs.DebugCategory.DebugCategory' -}-    -> Gst.Enums.DebugLevel-    {- ^ /@level@/: a 'GI.Gst.Enums.DebugLevel' -}-    -> T.Text-    {- ^ /@file@/: file name -}-    -> T.Text-    {- ^ /@function@/: function name -}-    -> Int32-    {- ^ /@line@/: line number -}-    -> GObject.Object.Object-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}-    -> Gst.DebugMessage.DebugMessage-    {- ^ /@message@/: the message -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `LogFunction`@.-noLogFunction :: Maybe LogFunction-noLogFunction = Nothing--{- |-Function prototype for a logging function that can be registered with-'GI.Gst.Functions.debugAddLogFunction'.-Use G_GNUC_NO_INSTRUMENT on that function.--}-type LogFunction_WithClosures =-    Gst.DebugCategory.DebugCategory-    {- ^ /@category@/: a 'GI.Gst.Structs.DebugCategory.DebugCategory' -}-    -> Gst.Enums.DebugLevel-    {- ^ /@level@/: a 'GI.Gst.Enums.DebugLevel' -}-    -> T.Text-    {- ^ /@file@/: file name -}-    -> T.Text-    {- ^ /@function@/: function name -}-    -> Int32-    {- ^ /@line@/: line number -}-    -> GObject.Object.Object-    {- ^ /@object@/: a 'GI.GObject.Objects.Object.Object' -}-    -> Gst.DebugMessage.DebugMessage-    {- ^ /@message@/: the message -}-    -> Ptr ()-    {- ^ /@userData@/: user data for the log function -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `LogFunction_WithClosures`@.-noLogFunction_WithClosures :: Maybe LogFunction_WithClosures-noLogFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_LogFunction :: LogFunction -> LogFunction_WithClosures-drop_closures_LogFunction _f category level file function line object message _ = _f category level file function line object message---- | Wrap the callback into a `GClosure`.-genClosure_LogFunction :: MonadIO m => LogFunction -> m (GClosure C_LogFunction)-genClosure_LogFunction cb = liftIO $ do-    let cb' = drop_closures_LogFunction cb-    let cb'' = wrap_LogFunction Nothing cb'-    mk_LogFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `LogFunction` into a `C_LogFunction`.-wrap_LogFunction ::-    Maybe (Ptr (FunPtr C_LogFunction)) ->-    LogFunction_WithClosures ->-    C_LogFunction-wrap_LogFunction funptrptr _cb category level file function line object message userData = do-    category' <- (newPtr Gst.DebugCategory.DebugCategory) category-    let level' = (toEnum . fromIntegral) level-    file' <- cstringToText file-    function' <- cstringToText function-    object' <- (newObject GObject.Object.Object) object-    message' <- (newPtr Gst.DebugMessage.DebugMessage) message-    _cb  category' level' file' function' line object' message' userData-    maybeReleaseFunPtr funptrptr----- callback IteratorResyncFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This function will be called whenever a concurrent update happened\nto the iterated datastructure. The implementor of the iterator should\nrestart the iterator from the beginning and clean up any state it might\nhave.\n\nImplementors of a #GstIterator should implement this\nfunction and pass it to the constructor of the custom iterator.\nThe function will be called with the iterator lock held.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IteratorResyncFunction =-    Ptr Gst.Iterator.Iterator ->-    IO ()---- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IteratorResyncFunction :: FunPtr C_IteratorResyncFunction -> C_IteratorResyncFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IteratorResyncFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IteratorResyncFunction-    -> Gst.Iterator.Iterator-    {- ^ /@it@/: the iterator -}-    -> m ()-dynamic_IteratorResyncFunction __funPtr it = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    (__dynamic_C_IteratorResyncFunction __funPtr) it'-    touchManagedPtr it-    return ()---- | Generate a function pointer callable from C code, from a `C_IteratorResyncFunction`.-foreign import ccall "wrapper"-    mk_IteratorResyncFunction :: C_IteratorResyncFunction -> IO (FunPtr C_IteratorResyncFunction)--{- |-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 'GI.Gst.Structs.Iterator.Iterator' should implement this-function and pass it to the constructor of the custom iterator.-The function will be called with the iterator lock held.--}-type IteratorResyncFunction =-    Gst.Iterator.Iterator-    {- ^ /@it@/: the iterator -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `IteratorResyncFunction`@.-noIteratorResyncFunction :: Maybe IteratorResyncFunction-noIteratorResyncFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_IteratorResyncFunction :: MonadIO m => IteratorResyncFunction -> m (GClosure C_IteratorResyncFunction)-genClosure_IteratorResyncFunction cb = liftIO $ do-    let cb' = wrap_IteratorResyncFunction Nothing cb-    mk_IteratorResyncFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `IteratorResyncFunction` into a `C_IteratorResyncFunction`.-wrap_IteratorResyncFunction ::-    Maybe (Ptr (FunPtr C_IteratorResyncFunction)) ->-    IteratorResyncFunction ->-    C_IteratorResyncFunction-wrap_IteratorResyncFunction funptrptr _cb it = do-    B.ManagedPtr.withTransient Gst.Iterator.Iterator it $ \it' -> do-        _cb  it'-        maybeReleaseFunPtr funptrptr----- callback IteratorNextFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "IteratorResult"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "the result of the operation.", sinceVersion = Nothing}, args = [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the next item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The function that will be called when the next element of the iterator\nshould be retrieved.\n\nImplementors of a #GstIterator should implement this\nfunction and pass it to the constructor of the custom iterator.\nThe function will be called with the iterator lock held.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IteratorNextFunction =-    Ptr Gst.Iterator.Iterator ->-    Ptr GValue ->-    IO CUInt---- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the next item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "IteratorResult"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IteratorNextFunction :: FunPtr C_IteratorNextFunction -> C_IteratorNextFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IteratorNextFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IteratorNextFunction-    -> Gst.Iterator.Iterator-    {- ^ /@it@/: the iterator -}-    -> GValue-    {- ^ /@result@/: a pointer to hold the next item -}-    -> m Gst.Enums.IteratorResult-    {- ^ __Returns:__ the result of the operation. -}-dynamic_IteratorNextFunction __funPtr it result_ = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    result_' <- unsafeManagedPtrGetPtr result_-    result <- (__dynamic_C_IteratorNextFunction __funPtr) it' result_'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr it-    touchManagedPtr result_-    return result'---- | Generate a function pointer callable from C code, from a `C_IteratorNextFunction`.-foreign import ccall "wrapper"-    mk_IteratorNextFunction :: C_IteratorNextFunction -> IO (FunPtr C_IteratorNextFunction)--{- |-The function that will be called when the next element of the iterator-should be retrieved.--Implementors of a 'GI.Gst.Structs.Iterator.Iterator' should implement this-function and pass it to the constructor of the custom iterator.-The function will be called with the iterator lock held.--}-type IteratorNextFunction =-    Gst.Iterator.Iterator-    {- ^ /@it@/: the iterator -}-    -> GValue-    {- ^ /@result@/: a pointer to hold the next item -}-    -> IO Gst.Enums.IteratorResult-    {- ^ __Returns:__ the result of the operation. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IteratorNextFunction`@.-noIteratorNextFunction :: Maybe IteratorNextFunction-noIteratorNextFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_IteratorNextFunction :: MonadIO m => IteratorNextFunction -> m (GClosure C_IteratorNextFunction)-genClosure_IteratorNextFunction cb = liftIO $ do-    let cb' = wrap_IteratorNextFunction Nothing cb-    mk_IteratorNextFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `IteratorNextFunction` into a `C_IteratorNextFunction`.-wrap_IteratorNextFunction ::-    Maybe (Ptr (FunPtr C_IteratorNextFunction)) ->-    IteratorNextFunction ->-    C_IteratorNextFunction-wrap_IteratorNextFunction funptrptr _cb it result_ = do-    B.ManagedPtr.withTransient Gst.Iterator.Iterator it $ \it' -> do-        B.ManagedPtr.withTransient GValue result_ $ \result_' -> do-            result <- _cb  it' result_'-            maybeReleaseFunPtr funptrptr-            let result' = (fromIntegral . fromEnum) result-            return result'----- callback IteratorItemFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "IteratorItem"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "the result of the operation.", sinceVersion = Nothing}, args = [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the item being retrieved.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The function that will be called after the next item of the iterator\nhas been retrieved. This function can be used to skip items or stop\nthe iterator.\n\nThe function will be called with the iterator lock held.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IteratorItemFunction =-    Ptr Gst.Iterator.Iterator ->-    Ptr GValue ->-    IO CUInt---- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the item being retrieved.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "IteratorItem"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IteratorItemFunction :: FunPtr C_IteratorItemFunction -> C_IteratorItemFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IteratorItemFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IteratorItemFunction-    -> Gst.Iterator.Iterator-    {- ^ /@it@/: the iterator -}-    -> GValue-    {- ^ /@item@/: the item being retrieved. -}-    -> m Gst.Enums.IteratorItem-    {- ^ __Returns:__ the result of the operation. -}-dynamic_IteratorItemFunction __funPtr it item = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    item' <- unsafeManagedPtrGetPtr item-    result <- (__dynamic_C_IteratorItemFunction __funPtr) it' item'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr it-    touchManagedPtr item-    return result'---- | Generate a function pointer callable from C code, from a `C_IteratorItemFunction`.-foreign import ccall "wrapper"-    mk_IteratorItemFunction :: C_IteratorItemFunction -> IO (FunPtr C_IteratorItemFunction)--{- |-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.--}-type IteratorItemFunction =-    Gst.Iterator.Iterator-    {- ^ /@it@/: the iterator -}-    -> GValue-    {- ^ /@item@/: the item being retrieved. -}-    -> IO Gst.Enums.IteratorItem-    {- ^ __Returns:__ the result of the operation. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IteratorItemFunction`@.-noIteratorItemFunction :: Maybe IteratorItemFunction-noIteratorItemFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_IteratorItemFunction :: MonadIO m => IteratorItemFunction -> m (GClosure C_IteratorItemFunction)-genClosure_IteratorItemFunction cb = liftIO $ do-    let cb' = wrap_IteratorItemFunction Nothing cb-    mk_IteratorItemFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `IteratorItemFunction` into a `C_IteratorItemFunction`.-wrap_IteratorItemFunction ::-    Maybe (Ptr (FunPtr C_IteratorItemFunction)) ->-    IteratorItemFunction ->-    C_IteratorItemFunction-wrap_IteratorItemFunction funptrptr _cb it item = do-    B.ManagedPtr.withTransient Gst.Iterator.Iterator it $ \it' -> do-        B.ManagedPtr.withTransient GValue item $ \item' -> do-            result <- _cb  it' item'-            maybeReleaseFunPtr funptrptr-            let result' = (fromIntegral . fromEnum) result-            return result'----- callback IteratorFreeFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This function will be called when the iterator is freed.\n\nImplementors of a #GstIterator should implement this\nfunction and pass it to the constructor of the custom iterator.\nThe function will be called with the iterator lock held.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IteratorFreeFunction =-    Ptr Gst.Iterator.Iterator ->-    IO ()---- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IteratorFreeFunction :: FunPtr C_IteratorFreeFunction -> C_IteratorFreeFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IteratorFreeFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IteratorFreeFunction-    -> Gst.Iterator.Iterator-    {- ^ /@it@/: the iterator -}-    -> m ()-dynamic_IteratorFreeFunction __funPtr it = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    (__dynamic_C_IteratorFreeFunction __funPtr) it'-    touchManagedPtr it-    return ()---- | Generate a function pointer callable from C code, from a `C_IteratorFreeFunction`.-foreign import ccall "wrapper"-    mk_IteratorFreeFunction :: C_IteratorFreeFunction -> IO (FunPtr C_IteratorFreeFunction)--{- |-This function will be called when the iterator is freed.--Implementors of a 'GI.Gst.Structs.Iterator.Iterator' should implement this-function and pass it to the constructor of the custom iterator.-The function will be called with the iterator lock held.--}-type IteratorFreeFunction =-    Gst.Iterator.Iterator-    {- ^ /@it@/: the iterator -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `IteratorFreeFunction`@.-noIteratorFreeFunction :: Maybe IteratorFreeFunction-noIteratorFreeFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_IteratorFreeFunction :: MonadIO m => IteratorFreeFunction -> m (GClosure C_IteratorFreeFunction)-genClosure_IteratorFreeFunction cb = liftIO $ do-    let cb' = wrap_IteratorFreeFunction Nothing cb-    mk_IteratorFreeFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `IteratorFreeFunction` into a `C_IteratorFreeFunction`.-wrap_IteratorFreeFunction ::-    Maybe (Ptr (FunPtr C_IteratorFreeFunction)) ->-    IteratorFreeFunction ->-    C_IteratorFreeFunction-wrap_IteratorFreeFunction funptrptr _cb it = do-    B.ManagedPtr.withTransient Gst.Iterator.Iterator it $ \it' -> do-        _cb  it'-        maybeReleaseFunPtr funptrptr----- callback IteratorForeachFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that is called by gst_iterator_foreach() for every element.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IteratorForeachFunction =-    Ptr GValue ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IteratorForeachFunction :: FunPtr C_IteratorForeachFunction -> C_IteratorForeachFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IteratorForeachFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IteratorForeachFunction-    -> GValue-    {- ^ /@item@/: The item -}-    -> Ptr ()-    {- ^ /@userData@/: User data -}-    -> m ()-dynamic_IteratorForeachFunction __funPtr item userData = liftIO $ do-    item' <- unsafeManagedPtrGetPtr item-    (__dynamic_C_IteratorForeachFunction __funPtr) item' userData-    touchManagedPtr item-    return ()---- | Generate a function pointer callable from C code, from a `C_IteratorForeachFunction`.-foreign import ccall "wrapper"-    mk_IteratorForeachFunction :: C_IteratorForeachFunction -> IO (FunPtr C_IteratorForeachFunction)--{- |-A function that is called by 'GI.Gst.Structs.Iterator.iteratorForeach' for every element.--}-type IteratorForeachFunction =-    GValue-    {- ^ /@item@/: The item -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `IteratorForeachFunction`@.-noIteratorForeachFunction :: Maybe IteratorForeachFunction-noIteratorForeachFunction = Nothing--{- |-A function that is called by 'GI.Gst.Structs.Iterator.iteratorForeach' for every element.--}-type IteratorForeachFunction_WithClosures =-    GValue-    {- ^ /@item@/: The item -}-    -> Ptr ()-    {- ^ /@userData@/: User data -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `IteratorForeachFunction_WithClosures`@.-noIteratorForeachFunction_WithClosures :: Maybe IteratorForeachFunction_WithClosures-noIteratorForeachFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_IteratorForeachFunction :: IteratorForeachFunction -> IteratorForeachFunction_WithClosures-drop_closures_IteratorForeachFunction _f item _ = _f item---- | Wrap the callback into a `GClosure`.-genClosure_IteratorForeachFunction :: MonadIO m => IteratorForeachFunction -> m (GClosure C_IteratorForeachFunction)-genClosure_IteratorForeachFunction cb = liftIO $ do-    let cb' = drop_closures_IteratorForeachFunction cb-    let cb'' = wrap_IteratorForeachFunction Nothing cb'-    mk_IteratorForeachFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `IteratorForeachFunction` into a `C_IteratorForeachFunction`.-wrap_IteratorForeachFunction ::-    Maybe (Ptr (FunPtr C_IteratorForeachFunction)) ->-    IteratorForeachFunction_WithClosures ->-    C_IteratorForeachFunction-wrap_IteratorForeachFunction funptrptr _cb item userData = do-    B.ManagedPtr.withTransient GValue item $ \item' -> do-        _cb  item' userData-        maybeReleaseFunPtr funptrptr----- callback IteratorFoldFunction---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the fold should continue, %FALSE if it should stop.", sinceVersion = Nothing}, args = [Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the item to fold", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ret", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue collecting the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to gst_iterator_fold()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function to be passed to gst_iterator_fold().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IteratorFoldFunction =-    Ptr GValue ->-    Ptr GValue ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "item", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the item to fold", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ret", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue collecting the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to gst_iterator_fold()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IteratorFoldFunction :: FunPtr C_IteratorFoldFunction -> C_IteratorFoldFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IteratorFoldFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IteratorFoldFunction-    -> GValue-    {- ^ /@item@/: the item to fold -}-    -> GValue-    {- ^ /@ret@/: a 'GI.GObject.Structs.Value.Value' collecting the result -}-    -> Ptr ()-    {- ^ /@userData@/: data passed to 'GI.Gst.Structs.Iterator.iteratorFold' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the fold should continue, 'False' if it should stop. -}-dynamic_IteratorFoldFunction __funPtr item ret userData = liftIO $ do-    item' <- unsafeManagedPtrGetPtr item-    ret' <- unsafeManagedPtrGetPtr ret-    result <- (__dynamic_C_IteratorFoldFunction __funPtr) item' ret' userData-    let result' = (/= 0) result-    touchManagedPtr item-    touchManagedPtr ret-    return result'---- | Generate a function pointer callable from C code, from a `C_IteratorFoldFunction`.-foreign import ccall "wrapper"-    mk_IteratorFoldFunction :: C_IteratorFoldFunction -> IO (FunPtr C_IteratorFoldFunction)--{- |-A function to be passed to 'GI.Gst.Structs.Iterator.iteratorFold'.--}-type IteratorFoldFunction =-    GValue-    {- ^ /@item@/: the item to fold -}-    -> GValue-    {- ^ /@ret@/: a 'GI.GObject.Structs.Value.Value' collecting the result -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the fold should continue, 'False' if it should stop. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IteratorFoldFunction`@.-noIteratorFoldFunction :: Maybe IteratorFoldFunction-noIteratorFoldFunction = Nothing--{- |-A function to be passed to 'GI.Gst.Structs.Iterator.iteratorFold'.--}-type IteratorFoldFunction_WithClosures =-    GValue-    {- ^ /@item@/: the item to fold -}-    -> GValue-    {- ^ /@ret@/: a 'GI.GObject.Structs.Value.Value' collecting the result -}-    -> Ptr ()-    {- ^ /@userData@/: data passed to 'GI.Gst.Structs.Iterator.iteratorFold' -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the fold should continue, 'False' if it should stop. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IteratorFoldFunction_WithClosures`@.-noIteratorFoldFunction_WithClosures :: Maybe IteratorFoldFunction_WithClosures-noIteratorFoldFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_IteratorFoldFunction :: IteratorFoldFunction -> IteratorFoldFunction_WithClosures-drop_closures_IteratorFoldFunction _f item ret _ = _f item ret---- | Wrap the callback into a `GClosure`.-genClosure_IteratorFoldFunction :: MonadIO m => IteratorFoldFunction -> m (GClosure C_IteratorFoldFunction)-genClosure_IteratorFoldFunction cb = liftIO $ do-    let cb' = drop_closures_IteratorFoldFunction cb-    let cb'' = wrap_IteratorFoldFunction Nothing cb'-    mk_IteratorFoldFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `IteratorFoldFunction` into a `C_IteratorFoldFunction`.-wrap_IteratorFoldFunction ::-    Maybe (Ptr (FunPtr C_IteratorFoldFunction)) ->-    IteratorFoldFunction_WithClosures ->-    C_IteratorFoldFunction-wrap_IteratorFoldFunction funptrptr _cb item ret userData = do-    B.ManagedPtr.withTransient GValue item $ \item' -> do-        B.ManagedPtr.withTransient GValue ret $ \ret' -> do-            result <- _cb  item' ret' userData-            maybeReleaseFunPtr funptrptr-            let result' = (fromIntegral . fromEnum) result-            return result'----- callback IteratorCopyFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The original iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "copy", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The copied iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This function will be called when creating a copy of @it and should\ncreate a copy of all custom iterator fields or increase their\nreference counts.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IteratorCopyFunction =-    Ptr Gst.Iterator.Iterator ->-    Ptr Gst.Iterator.Iterator ->-    IO ()---- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The original iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "copy", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The copied iterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IteratorCopyFunction :: FunPtr C_IteratorCopyFunction -> C_IteratorCopyFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IteratorCopyFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IteratorCopyFunction-    -> Gst.Iterator.Iterator-    {- ^ /@it@/: The original iterator -}-    -> Gst.Iterator.Iterator-    {- ^ /@copy@/: The copied iterator -}-    -> m ()-dynamic_IteratorCopyFunction __funPtr it copy = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    copy' <- unsafeManagedPtrGetPtr copy-    (__dynamic_C_IteratorCopyFunction __funPtr) it' copy'-    touchManagedPtr it-    touchManagedPtr copy-    return ()---- | Generate a function pointer callable from C code, from a `C_IteratorCopyFunction`.-foreign import ccall "wrapper"-    mk_IteratorCopyFunction :: C_IteratorCopyFunction -> IO (FunPtr C_IteratorCopyFunction)--{- |-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.--}-type IteratorCopyFunction =-    Gst.Iterator.Iterator-    {- ^ /@it@/: The original iterator -}-    -> Gst.Iterator.Iterator-    {- ^ /@copy@/: The copied iterator -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `IteratorCopyFunction`@.-noIteratorCopyFunction :: Maybe IteratorCopyFunction-noIteratorCopyFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_IteratorCopyFunction :: MonadIO m => IteratorCopyFunction -> m (GClosure C_IteratorCopyFunction)-genClosure_IteratorCopyFunction cb = liftIO $ do-    let cb' = wrap_IteratorCopyFunction Nothing cb-    mk_IteratorCopyFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `IteratorCopyFunction` into a `C_IteratorCopyFunction`.-wrap_IteratorCopyFunction ::-    Maybe (Ptr (FunPtr C_IteratorCopyFunction)) ->-    IteratorCopyFunction ->-    C_IteratorCopyFunction-wrap_IteratorCopyFunction funptrptr _cb it copy = do-    B.ManagedPtr.withTransient Gst.Iterator.Iterator it $ \it' -> do-        B.ManagedPtr.withTransient Gst.Iterator.Iterator copy $ \copy' -> do-            _cb  it' copy'-            maybeReleaseFunPtr funptrptr----- callback ElementForeachPadFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE to stop iterating pads, %TRUE to continue", sinceVersion = Nothing}, args = [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the foreach function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function called for each pad when using gst_element_foreach_sink_pad(),\ngst_element_foreach_src_pad(), or gst_element_foreach_pad().", sinceVersion = Just "1.14"}}--- | Type for the callback on the (unwrapped) C side.-type C_ElementForeachPadFunc =-    Ptr Gst.Element.Element ->-    Ptr Gst.Pad.Pad ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the foreach function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ElementForeachPadFunc :: FunPtr C_ElementForeachPadFunc -> C_ElementForeachPadFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ElementForeachPadFunc ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Element.IsElement a, Gst.Pad.IsPad b) =>-    FunPtr C_ElementForeachPadFunc-    -> a-    {- ^ /@element@/: the 'GI.Gst.Objects.Element.Element' -}-    -> b-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to the foreach function -}-    -> m Bool-    {- ^ __Returns:__ 'False' to stop iterating pads, 'True' to continue -}-dynamic_ElementForeachPadFunc __funPtr element pad userData = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    pad' <- unsafeManagedPtrCastPtr pad-    result <- (__dynamic_C_ElementForeachPadFunc __funPtr) element' pad' userData-    let result' = (/= 0) result-    touchManagedPtr element-    touchManagedPtr pad-    return result'---- | Generate a function pointer callable from C code, from a `C_ElementForeachPadFunc`.-foreign import ccall "wrapper"-    mk_ElementForeachPadFunc :: C_ElementForeachPadFunc -> IO (FunPtr C_ElementForeachPadFunc)--{- |-Function called for each pad when using 'GI.Gst.Objects.Element.elementForeachSinkPad',-'GI.Gst.Objects.Element.elementForeachSrcPad', or 'GI.Gst.Objects.Element.elementForeachPad'.--/Since: 1.14/--}-type ElementForeachPadFunc =-    Gst.Element.Element-    {- ^ /@element@/: the 'GI.Gst.Objects.Element.Element' -}-    -> Gst.Pad.Pad-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> IO Bool-    {- ^ __Returns:__ 'False' to stop iterating pads, 'True' to continue -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ElementForeachPadFunc`@.-noElementForeachPadFunc :: Maybe ElementForeachPadFunc-noElementForeachPadFunc = Nothing--{- |-Function called for each pad when using 'GI.Gst.Objects.Element.elementForeachSinkPad',-'GI.Gst.Objects.Element.elementForeachSrcPad', or 'GI.Gst.Objects.Element.elementForeachPad'.--/Since: 1.14/--}-type ElementForeachPadFunc_WithClosures =-    Gst.Element.Element-    {- ^ /@element@/: the 'GI.Gst.Objects.Element.Element' -}-    -> Gst.Pad.Pad-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to the foreach function -}-    -> IO Bool-    {- ^ __Returns:__ 'False' to stop iterating pads, 'True' to continue -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ElementForeachPadFunc_WithClosures`@.-noElementForeachPadFunc_WithClosures :: Maybe ElementForeachPadFunc_WithClosures-noElementForeachPadFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_ElementForeachPadFunc :: ElementForeachPadFunc -> ElementForeachPadFunc_WithClosures-drop_closures_ElementForeachPadFunc _f element pad _ = _f element pad---- | Wrap the callback into a `GClosure`.-genClosure_ElementForeachPadFunc :: MonadIO m => ElementForeachPadFunc -> m (GClosure C_ElementForeachPadFunc)-genClosure_ElementForeachPadFunc cb = liftIO $ do-    let cb' = drop_closures_ElementForeachPadFunc cb-    let cb'' = wrap_ElementForeachPadFunc Nothing cb'-    mk_ElementForeachPadFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `ElementForeachPadFunc` into a `C_ElementForeachPadFunc`.-wrap_ElementForeachPadFunc ::-    Maybe (Ptr (FunPtr C_ElementForeachPadFunc)) ->-    ElementForeachPadFunc_WithClosures ->-    C_ElementForeachPadFunc-wrap_ElementForeachPadFunc funptrptr _cb element pad userData = do-    element' <- (newObject Gst.Element.Element) element-    pad' <- (newObject Gst.Pad.Pad) pad-    result <- _cb  element' pad' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback ElementCallAsyncFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ElementCallAsyncFunc =-    Ptr Gst.Element.Element ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ElementCallAsyncFunc :: FunPtr C_ElementCallAsyncFunc -> C_ElementCallAsyncFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ElementCallAsyncFunc ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Element.IsElement a) =>-    FunPtr C_ElementCallAsyncFunc-    -> a-    -> Ptr ()-    -> m ()-dynamic_ElementCallAsyncFunc __funPtr element userData = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    (__dynamic_C_ElementCallAsyncFunc __funPtr) element' userData-    touchManagedPtr element-    return ()---- | Generate a function pointer callable from C code, from a `C_ElementCallAsyncFunc`.-foreign import ccall "wrapper"-    mk_ElementCallAsyncFunc :: C_ElementCallAsyncFunc -> IO (FunPtr C_ElementCallAsyncFunc)--{- |-/No description available in the introspection data./--}-type ElementCallAsyncFunc =-    Gst.Element.Element-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ElementCallAsyncFunc`@.-noElementCallAsyncFunc :: Maybe ElementCallAsyncFunc-noElementCallAsyncFunc = Nothing--{- |-/No description available in the introspection data./--}-type ElementCallAsyncFunc_WithClosures =-    Gst.Element.Element-    -> Ptr ()-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ElementCallAsyncFunc_WithClosures`@.-noElementCallAsyncFunc_WithClosures :: Maybe ElementCallAsyncFunc_WithClosures-noElementCallAsyncFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_ElementCallAsyncFunc :: ElementCallAsyncFunc -> ElementCallAsyncFunc_WithClosures-drop_closures_ElementCallAsyncFunc _f element _ = _f element---- | Wrap the callback into a `GClosure`.-genClosure_ElementCallAsyncFunc :: MonadIO m => ElementCallAsyncFunc -> m (GClosure C_ElementCallAsyncFunc)-genClosure_ElementCallAsyncFunc cb = liftIO $ do-    let cb' = drop_closures_ElementCallAsyncFunc cb-    let cb'' = wrap_ElementCallAsyncFunc Nothing cb'-    mk_ElementCallAsyncFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `ElementCallAsyncFunc` into a `C_ElementCallAsyncFunc`.-wrap_ElementCallAsyncFunc ::-    Maybe (Ptr (FunPtr C_ElementCallAsyncFunc)) ->-    ElementCallAsyncFunc_WithClosures ->-    C_ElementCallAsyncFunc-wrap_ElementCallAsyncFunc funptrptr _cb element userData = do-    element' <- (newObject Gst.Element.Element) element-    _cb  element' userData-    maybeReleaseFunPtr funptrptr----- callback DebugFuncPtr---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_DebugFuncPtr =-    IO ()---- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_DebugFuncPtr :: FunPtr C_DebugFuncPtr -> C_DebugFuncPtr---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_DebugFuncPtr ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_DebugFuncPtr-    -> m ()-dynamic_DebugFuncPtr __funPtr = liftIO $ do-    (__dynamic_C_DebugFuncPtr __funPtr)-    return ()---- | Generate a function pointer callable from C code, from a `C_DebugFuncPtr`.-foreign import ccall "wrapper"-    mk_DebugFuncPtr :: C_DebugFuncPtr -> IO (FunPtr C_DebugFuncPtr)--{- |-/No description available in the introspection data./--}-type DebugFuncPtr =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `DebugFuncPtr`@.-noDebugFuncPtr :: Maybe DebugFuncPtr-noDebugFuncPtr = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_DebugFuncPtr :: MonadIO m => DebugFuncPtr -> m (GClosure C_DebugFuncPtr)-genClosure_DebugFuncPtr cb = liftIO $ do-    let cb' = wrap_DebugFuncPtr Nothing cb-    mk_DebugFuncPtr cb' >>= B.GClosure.newGClosure----- | Wrap a `DebugFuncPtr` into a `C_DebugFuncPtr`.-wrap_DebugFuncPtr ::-    Maybe (Ptr (FunPtr C_DebugFuncPtr)) ->-    DebugFuncPtr ->-    C_DebugFuncPtr-wrap_DebugFuncPtr funptrptr _cb = do-    _cb -    maybeReleaseFunPtr funptrptr----- callback ControlSourceGetValueArray---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the values were successfully calculated.", sinceVersion = Nothing}, args = [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gst", name = "ControlSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstControlSource instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp for which a value should be calculated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time spacing between subsequent values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "array to put control-values in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function for returning an array of values for starting at a given timestamp.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ControlSourceGetValueArray =-    Ptr Gst.ControlSource.ControlSource ->-    Word64 ->-    Word64 ->-    Word32 ->-    CDouble ->-    IO CInt---- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gst", name = "ControlSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstControlSource instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp for which a value should be calculated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time spacing between subsequent values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "array to put control-values in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ControlSourceGetValueArray :: FunPtr C_ControlSourceGetValueArray -> C_ControlSourceGetValueArray---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ControlSourceGetValueArray ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.ControlSource.IsControlSource a) =>-    FunPtr C_ControlSourceGetValueArray-    -> a-    {- ^ /@self@/: the 'GI.Gst.Objects.ControlSource.ControlSource' instance -}-    -> Word64-    {- ^ /@timestamp@/: timestamp for which a value should be calculated -}-    -> Word64-    {- ^ /@interval@/: the time spacing between subsequent values -}-    -> Word32-    {- ^ /@nValues@/: the number of values -}-    -> Double-    {- ^ /@values@/: array to put control-values in -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the values were successfully calculated. -}-dynamic_ControlSourceGetValueArray __funPtr self timestamp interval nValues values = liftIO $ do-    self' <- unsafeManagedPtrCastPtr self-    let values' = realToFrac values-    result <- (__dynamic_C_ControlSourceGetValueArray __funPtr) self' timestamp interval nValues values'-    let result' = (/= 0) result-    touchManagedPtr self-    return result'---- | Generate a function pointer callable from C code, from a `C_ControlSourceGetValueArray`.-foreign import ccall "wrapper"-    mk_ControlSourceGetValueArray :: C_ControlSourceGetValueArray -> IO (FunPtr C_ControlSourceGetValueArray)--{- |-Function for returning an array of values for starting at a given timestamp.--}-type ControlSourceGetValueArray =-    Gst.ControlSource.ControlSource-    {- ^ /@self@/: the 'GI.Gst.Objects.ControlSource.ControlSource' instance -}-    -> Word64-    {- ^ /@timestamp@/: timestamp for which a value should be calculated -}-    -> Word64-    {- ^ /@interval@/: the time spacing between subsequent values -}-    -> Word32-    {- ^ /@nValues@/: the number of values -}-    -> Double-    {- ^ /@values@/: array to put control-values in -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the values were successfully calculated. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ControlSourceGetValueArray`@.-noControlSourceGetValueArray :: Maybe ControlSourceGetValueArray-noControlSourceGetValueArray = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_ControlSourceGetValueArray :: MonadIO m => ControlSourceGetValueArray -> m (GClosure C_ControlSourceGetValueArray)-genClosure_ControlSourceGetValueArray cb = liftIO $ do-    let cb' = wrap_ControlSourceGetValueArray Nothing cb-    mk_ControlSourceGetValueArray cb' >>= B.GClosure.newGClosure----- | Wrap a `ControlSourceGetValueArray` into a `C_ControlSourceGetValueArray`.-wrap_ControlSourceGetValueArray ::-    Maybe (Ptr (FunPtr C_ControlSourceGetValueArray)) ->-    ControlSourceGetValueArray ->-    C_ControlSourceGetValueArray-wrap_ControlSourceGetValueArray funptrptr _cb self timestamp interval nValues values = do-    self' <- (newObject Gst.ControlSource.ControlSource) self-    let values' = realToFrac values-    result <- _cb  self' timestamp interval nValues values'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback ControlSourceGetValue---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the value was successfully calculated.", sinceVersion = Nothing}, args = [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gst", name = "ControlSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstControlSource instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp for which a value should be calculated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value which will be set to the result.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Function for returning a value for a given timestamp.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ControlSourceGetValue =-    Ptr Gst.ControlSource.ControlSource ->-    Word64 ->-    CDouble ->-    IO CInt---- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gst", name = "ControlSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstControlSource instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp for which a value should be calculated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value which will be set to the result.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ControlSourceGetValue :: FunPtr C_ControlSourceGetValue -> C_ControlSourceGetValue---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ControlSourceGetValue ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.ControlSource.IsControlSource a) =>-    FunPtr C_ControlSourceGetValue-    -> a-    {- ^ /@self@/: the 'GI.Gst.Objects.ControlSource.ControlSource' instance -}-    -> Word64-    {- ^ /@timestamp@/: timestamp for which a value should be calculated -}-    -> Double-    {- ^ /@value@/: a value which will be set to the result. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the value was successfully calculated. -}-dynamic_ControlSourceGetValue __funPtr self timestamp value = liftIO $ do-    self' <- unsafeManagedPtrCastPtr self-    let value' = realToFrac value-    result <- (__dynamic_C_ControlSourceGetValue __funPtr) self' timestamp value'-    let result' = (/= 0) result-    touchManagedPtr self-    return result'---- | Generate a function pointer callable from C code, from a `C_ControlSourceGetValue`.-foreign import ccall "wrapper"-    mk_ControlSourceGetValue :: C_ControlSourceGetValue -> IO (FunPtr C_ControlSourceGetValue)--{- |-Function for returning a value for a given timestamp.--}-type ControlSourceGetValue =-    Gst.ControlSource.ControlSource-    {- ^ /@self@/: the 'GI.Gst.Objects.ControlSource.ControlSource' instance -}-    -> Word64-    {- ^ /@timestamp@/: timestamp for which a value should be calculated -}-    -> Double-    {- ^ /@value@/: a value which will be set to the result. -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the value was successfully calculated. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ControlSourceGetValue`@.-noControlSourceGetValue :: Maybe ControlSourceGetValue-noControlSourceGetValue = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_ControlSourceGetValue :: MonadIO m => ControlSourceGetValue -> m (GClosure C_ControlSourceGetValue)-genClosure_ControlSourceGetValue cb = liftIO $ do-    let cb' = wrap_ControlSourceGetValue Nothing cb-    mk_ControlSourceGetValue cb' >>= B.GClosure.newGClosure----- | Wrap a `ControlSourceGetValue` into a `C_ControlSourceGetValue`.-wrap_ControlSourceGetValue ::-    Maybe (Ptr (FunPtr C_ControlSourceGetValue)) ->-    ControlSourceGetValue ->-    C_ControlSourceGetValue-wrap_ControlSourceGetValue funptrptr _cb self timestamp value = do-    self' <- (newObject Gst.ControlSource.ControlSource) self-    let value' = realToFrac value-    result <- _cb  self' timestamp value'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback ControlBindingConvert---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "binding", argType = TInterface (Name {namespace = "Gst", name = "ControlBinding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ControlBindingConvert =-    Ptr Gst.ControlBinding.ControlBinding ->-    CDouble ->-    Ptr GValue ->-    IO ()---- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "Gst", name = "ControlBinding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ControlBindingConvert :: FunPtr C_ControlBindingConvert -> C_ControlBindingConvert---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ControlBindingConvert ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.ControlBinding.IsControlBinding a) =>-    FunPtr C_ControlBindingConvert-    -> a-    -> Double-    -> GValue-    -> m ()-dynamic_ControlBindingConvert __funPtr binding srcValue destValue = liftIO $ do-    binding' <- unsafeManagedPtrCastPtr binding-    let srcValue' = realToFrac srcValue-    destValue' <- unsafeManagedPtrGetPtr destValue-    (__dynamic_C_ControlBindingConvert __funPtr) binding' srcValue' destValue'-    touchManagedPtr binding-    touchManagedPtr destValue-    return ()---- | Generate a function pointer callable from C code, from a `C_ControlBindingConvert`.-foreign import ccall "wrapper"-    mk_ControlBindingConvert :: C_ControlBindingConvert -> IO (FunPtr C_ControlBindingConvert)--{- |-/No description available in the introspection data./--}-type ControlBindingConvert =-    Gst.ControlBinding.ControlBinding-    -> Double-    -> GValue-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ControlBindingConvert`@.-noControlBindingConvert :: Maybe ControlBindingConvert-noControlBindingConvert = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_ControlBindingConvert :: MonadIO m => ControlBindingConvert -> m (GClosure C_ControlBindingConvert)-genClosure_ControlBindingConvert cb = liftIO $ do-    let cb' = wrap_ControlBindingConvert Nothing cb-    mk_ControlBindingConvert cb' >>= B.GClosure.newGClosure----- | Wrap a `ControlBindingConvert` into a `C_ControlBindingConvert`.-wrap_ControlBindingConvert ::-    Maybe (Ptr (FunPtr C_ControlBindingConvert)) ->-    ControlBindingConvert ->-    C_ControlBindingConvert-wrap_ControlBindingConvert funptrptr _cb binding srcValue destValue = do-    binding' <- (newObject Gst.ControlBinding.ControlBinding) binding-    let srcValue' = realToFrac srcValue-    B.ManagedPtr.withTransient GValue destValue $ \destValue' -> do-        _cb  binding' srcValue' destValue'-        maybeReleaseFunPtr funptrptr----- callback ClockCallback---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE or %FALSE (currently unused)", sinceVersion = Nothing}, args = [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The clock that triggered the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The time it was triggered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstClockID that expired", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed in the gst_clock_id_wait_async() function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The function prototype of the callback.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ClockCallback =-    Ptr Gst.Clock.Clock ->-    Word64 ->-    Ptr () ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The clock that triggered the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The time it was triggered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstClockID that expired", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed in the gst_clock_id_wait_async() function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ClockCallback :: FunPtr C_ClockCallback -> C_ClockCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ClockCallback ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Clock.IsClock a) =>-    FunPtr C_ClockCallback-    -> a-    {- ^ /@clock@/: The clock that triggered the callback -}-    -> Word64-    {- ^ /@time@/: The time it was triggered -}-    -> Ptr ()-    {- ^ /@id@/: The @/GstClockID/@ that expired -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed in the 'GI.Gst.Objects.Clock.clockIdWaitAsync' function -}-    -> m Bool-    {- ^ __Returns:__ 'True' or 'False' (currently unused) -}-dynamic_ClockCallback __funPtr clock time id userData = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- (__dynamic_C_ClockCallback __funPtr) clock' time id userData-    let result' = (/= 0) result-    touchManagedPtr clock-    return result'---- | Generate a function pointer callable from C code, from a `C_ClockCallback`.-foreign import ccall "wrapper"-    mk_ClockCallback :: C_ClockCallback -> IO (FunPtr C_ClockCallback)--{- |-The function prototype of the callback.--}-type ClockCallback =-    Gst.Clock.Clock-    {- ^ /@clock@/: The clock that triggered the callback -}-    -> Word64-    {- ^ /@time@/: The time it was triggered -}-    -> Ptr ()-    {- ^ /@id@/: The @/GstClockID/@ that expired -}-    -> IO Bool-    {- ^ __Returns:__ 'True' or 'False' (currently unused) -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ClockCallback`@.-noClockCallback :: Maybe ClockCallback-noClockCallback = Nothing--{- |-The function prototype of the callback.--}-type ClockCallback_WithClosures =-    Gst.Clock.Clock-    {- ^ /@clock@/: The clock that triggered the callback -}-    -> Word64-    {- ^ /@time@/: The time it was triggered -}-    -> Ptr ()-    {- ^ /@id@/: The @/GstClockID/@ that expired -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed in the 'GI.Gst.Objects.Clock.clockIdWaitAsync' function -}-    -> IO Bool-    {- ^ __Returns:__ 'True' or 'False' (currently unused) -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ClockCallback_WithClosures`@.-noClockCallback_WithClosures :: Maybe ClockCallback_WithClosures-noClockCallback_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_ClockCallback :: ClockCallback -> ClockCallback_WithClosures-drop_closures_ClockCallback _f clock time id _ = _f clock time id---- | Wrap the callback into a `GClosure`.-genClosure_ClockCallback :: MonadIO m => ClockCallback -> m (GClosure C_ClockCallback)-genClosure_ClockCallback cb = liftIO $ do-    let cb' = drop_closures_ClockCallback cb-    let cb'' = wrap_ClockCallback Nothing cb'-    mk_ClockCallback cb'' >>= B.GClosure.newGClosure----- | Wrap a `ClockCallback` into a `C_ClockCallback`.-wrap_ClockCallback ::-    Maybe (Ptr (FunPtr C_ClockCallback)) ->-    ClockCallback_WithClosures ->-    C_ClockCallback-wrap_ClockCallback funptrptr _cb clock time id userData = do-    clock' <- (newObject Gst.Clock.Clock) clock-    result <- _cb  clock' time id userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback CapsMapFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the map operation should continue, %FALSE if\nthe map operation should stop with %FALSE.", sinceVersion = Nothing}, args = [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called in gst_caps_map_in_place(). The function\nmay modify @features and @structure.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CapsMapFunc =-    Ptr Gst.CapsFeatures.CapsFeatures ->-    Ptr Gst.Structure.Structure ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_CapsMapFunc :: FunPtr C_CapsMapFunc -> C_CapsMapFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CapsMapFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_CapsMapFunc-    -> Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the map operation should continue, 'False' if-the map operation should stop with 'False'. -}-dynamic_CapsMapFunc __funPtr features structure userData = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    structure' <- unsafeManagedPtrGetPtr structure-    result <- (__dynamic_C_CapsMapFunc __funPtr) features' structure' userData-    let result' = (/= 0) result-    touchManagedPtr features-    touchManagedPtr structure-    return result'---- | Generate a function pointer callable from C code, from a `C_CapsMapFunc`.-foreign import ccall "wrapper"-    mk_CapsMapFunc :: C_CapsMapFunc -> IO (FunPtr C_CapsMapFunc)--{- |-A function that will be called in 'GI.Gst.Structs.Caps.capsMapInPlace'. The function-may modify /@features@/ and /@structure@/.--}-type CapsMapFunc =-    Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the map operation should continue, 'False' if-the map operation should stop with 'False'. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CapsMapFunc`@.-noCapsMapFunc :: Maybe CapsMapFunc-noCapsMapFunc = Nothing--{- |-A function that will be called in 'GI.Gst.Structs.Caps.capsMapInPlace'. The function-may modify /@features@/ and /@structure@/.--}-type CapsMapFunc_WithClosures =-    Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the map operation should continue, 'False' if-the map operation should stop with 'False'. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CapsMapFunc_WithClosures`@.-noCapsMapFunc_WithClosures :: Maybe CapsMapFunc_WithClosures-noCapsMapFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CapsMapFunc :: CapsMapFunc -> CapsMapFunc_WithClosures-drop_closures_CapsMapFunc _f features structure _ = _f features structure---- | Wrap the callback into a `GClosure`.-genClosure_CapsMapFunc :: MonadIO m => CapsMapFunc -> m (GClosure C_CapsMapFunc)-genClosure_CapsMapFunc cb = liftIO $ do-    let cb' = drop_closures_CapsMapFunc cb-    let cb'' = wrap_CapsMapFunc Nothing cb'-    mk_CapsMapFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `CapsMapFunc` into a `C_CapsMapFunc`.-wrap_CapsMapFunc ::-    Maybe (Ptr (FunPtr C_CapsMapFunc)) ->-    CapsMapFunc_WithClosures ->-    C_CapsMapFunc-wrap_CapsMapFunc funptrptr _cb features structure userData = do-    B.ManagedPtr.withTransient Gst.CapsFeatures.CapsFeatures features $ \features' -> do-        B.ManagedPtr.withTransient Gst.Structure.Structure structure $ \structure' -> do-            result <- _cb  features' structure' userData-            maybeReleaseFunPtr funptrptr-            let result' = (fromIntegral . fromEnum) result-            return result'----- callback CapsForeachFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the foreach operation should continue, %FALSE if\nthe foreach operation should stop with %FALSE.", sinceVersion = Nothing}, args = [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called in gst_caps_foreach(). The function may\nnot modify @features or @structure.", sinceVersion = Just "1.6"}}--- | Type for the callback on the (unwrapped) C side.-type C_CapsForeachFunc =-    Ptr Gst.CapsFeatures.CapsFeatures ->-    Ptr Gst.Structure.Structure ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_CapsForeachFunc :: FunPtr C_CapsForeachFunc -> C_CapsForeachFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CapsForeachFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_CapsForeachFunc-    -> Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the foreach operation should continue, 'False' if-the foreach operation should stop with 'False'. -}-dynamic_CapsForeachFunc __funPtr features structure userData = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    structure' <- unsafeManagedPtrGetPtr structure-    result <- (__dynamic_C_CapsForeachFunc __funPtr) features' structure' userData-    let result' = (/= 0) result-    touchManagedPtr features-    touchManagedPtr structure-    return result'---- | Generate a function pointer callable from C code, from a `C_CapsForeachFunc`.-foreign import ccall "wrapper"-    mk_CapsForeachFunc :: C_CapsForeachFunc -> IO (FunPtr C_CapsForeachFunc)--{- |-A function that will be called in 'GI.Gst.Structs.Caps.capsForeach'. The function may-not modify /@features@/ or /@structure@/.--/Since: 1.6/--}-type CapsForeachFunc =-    Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the foreach operation should continue, 'False' if-the foreach operation should stop with 'False'. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CapsForeachFunc`@.-noCapsForeachFunc :: Maybe CapsForeachFunc-noCapsForeachFunc = Nothing--{- |-A function that will be called in 'GI.Gst.Structs.Caps.capsForeach'. The function may-not modify /@features@/ or /@structure@/.--/Since: 1.6/--}-type CapsForeachFunc_WithClosures =-    Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the foreach operation should continue, 'False' if-the foreach operation should stop with 'False'. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CapsForeachFunc_WithClosures`@.-noCapsForeachFunc_WithClosures :: Maybe CapsForeachFunc_WithClosures-noCapsForeachFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CapsForeachFunc :: CapsForeachFunc -> CapsForeachFunc_WithClosures-drop_closures_CapsForeachFunc _f features structure _ = _f features structure---- | Wrap the callback into a `GClosure`.-genClosure_CapsForeachFunc :: MonadIO m => CapsForeachFunc -> m (GClosure C_CapsForeachFunc)-genClosure_CapsForeachFunc cb = liftIO $ do-    let cb' = drop_closures_CapsForeachFunc cb-    let cb'' = wrap_CapsForeachFunc Nothing cb'-    mk_CapsForeachFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `CapsForeachFunc` into a `C_CapsForeachFunc`.-wrap_CapsForeachFunc ::-    Maybe (Ptr (FunPtr C_CapsForeachFunc)) ->-    CapsForeachFunc_WithClosures ->-    C_CapsForeachFunc-wrap_CapsForeachFunc funptrptr _cb features structure userData = do-    B.ManagedPtr.withTransient Gst.CapsFeatures.CapsFeatures features $ \features' -> do-        B.ManagedPtr.withTransient Gst.Structure.Structure structure $ \structure' -> do-            result <- _cb  features' structure' userData-            maybeReleaseFunPtr funptrptr-            let result' = (fromIntegral . fromEnum) result-            return result'----- callback CapsFilterMapFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the features and structure should be preserved,\n%FALSE if it should be removed.", sinceVersion = Nothing}, args = [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called in gst_caps_filter_and_map_in_place().\nThe function may modify @features and @structure, and both will be\nremoved from the caps if %FALSE is returned.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CapsFilterMapFunc =-    Ptr Gst.CapsFeatures.CapsFeatures ->-    Ptr Gst.Structure.Structure ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_CapsFilterMapFunc :: FunPtr C_CapsFilterMapFunc -> C_CapsFilterMapFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CapsFilterMapFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_CapsFilterMapFunc-    -> Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the features and structure should be preserved,-'False' if it should be removed. -}-dynamic_CapsFilterMapFunc __funPtr features structure userData = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    structure' <- unsafeManagedPtrGetPtr structure-    result <- (__dynamic_C_CapsFilterMapFunc __funPtr) features' structure' userData-    let result' = (/= 0) result-    touchManagedPtr features-    touchManagedPtr structure-    return result'---- | Generate a function pointer callable from C code, from a `C_CapsFilterMapFunc`.-foreign import ccall "wrapper"-    mk_CapsFilterMapFunc :: C_CapsFilterMapFunc -> IO (FunPtr C_CapsFilterMapFunc)--{- |-A function that will be called in 'GI.Gst.Structs.Caps.capsFilterAndMapInPlace'.-The function may modify /@features@/ and /@structure@/, and both will be-removed from the caps if 'False' is returned.--}-type CapsFilterMapFunc =-    Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the features and structure should be preserved,-'False' if it should be removed. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CapsFilterMapFunc`@.-noCapsFilterMapFunc :: Maybe CapsFilterMapFunc-noCapsFilterMapFunc = Nothing--{- |-A function that will be called in 'GI.Gst.Structs.Caps.capsFilterAndMapInPlace'.-The function may modify /@features@/ and /@structure@/, and both will be-removed from the caps if 'False' is returned.--}-type CapsFilterMapFunc_WithClosures =-    Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the features and structure should be preserved,-'False' if it should be removed. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CapsFilterMapFunc_WithClosures`@.-noCapsFilterMapFunc_WithClosures :: Maybe CapsFilterMapFunc_WithClosures-noCapsFilterMapFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CapsFilterMapFunc :: CapsFilterMapFunc -> CapsFilterMapFunc_WithClosures-drop_closures_CapsFilterMapFunc _f features structure _ = _f features structure---- | Wrap the callback into a `GClosure`.-genClosure_CapsFilterMapFunc :: MonadIO m => CapsFilterMapFunc -> m (GClosure C_CapsFilterMapFunc)-genClosure_CapsFilterMapFunc cb = liftIO $ do-    let cb' = drop_closures_CapsFilterMapFunc cb-    let cb'' = wrap_CapsFilterMapFunc Nothing cb'-    mk_CapsFilterMapFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `CapsFilterMapFunc` into a `C_CapsFilterMapFunc`.-wrap_CapsFilterMapFunc ::-    Maybe (Ptr (FunPtr C_CapsFilterMapFunc)) ->-    CapsFilterMapFunc_WithClosures ->-    C_CapsFilterMapFunc-wrap_CapsFilterMapFunc funptrptr _cb features structure userData = do-    B.ManagedPtr.withTransient Gst.CapsFeatures.CapsFeatures features $ \features' -> do-        B.ManagedPtr.withTransient Gst.Structure.Structure structure $ \structure' -> do-            result <- _cb  features' structure' userData-            maybeReleaseFunPtr funptrptr-            let result' = (fromIntegral . fromEnum) result-            return result'----- callback BusSyncHandler---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "BusSyncReply"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "#GstBusSyncReply stating what to do with the message", sinceVersion = Nothing}, args = [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBus that sent the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that has been given, when registering the handler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Handler will be invoked synchronously, when a new message has been injected\ninto the bus. This function is mostly used internally. Only one sync handler\ncan be attached to a given bus.\n\nIf the handler returns GST_BUS_DROP, it should unref the message, else the\nmessage should not be unreffed by the sync handler.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_BusSyncHandler =-    Ptr Gst.Bus.Bus ->-    Ptr Gst.Message.Message ->-    Ptr () ->-    IO CUInt---- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBus that sent the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that has been given, when registering the handler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BusSyncReply"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_BusSyncHandler :: FunPtr C_BusSyncHandler -> C_BusSyncHandler---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_BusSyncHandler ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Bus.IsBus a) =>-    FunPtr C_BusSyncHandler-    -> a-    {- ^ /@bus@/: the 'GI.Gst.Objects.Bus.Bus' that sent the message -}-    -> Gst.Message.Message-    {- ^ /@message@/: the 'GI.Gst.Structs.Message.Message' -}-    -> Ptr ()-    {- ^ /@userData@/: user data that has been given, when registering the handler -}-    -> m Gst.Enums.BusSyncReply-    {- ^ __Returns:__ 'GI.Gst.Enums.BusSyncReply' stating what to do with the message -}-dynamic_BusSyncHandler __funPtr bus message userData = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    message' <- unsafeManagedPtrGetPtr message-    result <- (__dynamic_C_BusSyncHandler __funPtr) bus' message' userData-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr bus-    touchManagedPtr message-    return result'---- | Generate a function pointer callable from C code, from a `C_BusSyncHandler`.-foreign import ccall "wrapper"-    mk_BusSyncHandler :: C_BusSyncHandler -> IO (FunPtr C_BusSyncHandler)--{- |-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.--}-type BusSyncHandler =-    Gst.Bus.Bus-    {- ^ /@bus@/: the 'GI.Gst.Objects.Bus.Bus' that sent the message -}-    -> Gst.Message.Message-    {- ^ /@message@/: the 'GI.Gst.Structs.Message.Message' -}-    -> IO Gst.Enums.BusSyncReply-    {- ^ __Returns:__ 'GI.Gst.Enums.BusSyncReply' stating what to do with the message -}---- | A convenience synonym for @`Nothing` :: `Maybe` `BusSyncHandler`@.-noBusSyncHandler :: Maybe BusSyncHandler-noBusSyncHandler = Nothing--{- |-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.--}-type BusSyncHandler_WithClosures =-    Gst.Bus.Bus-    {- ^ /@bus@/: the 'GI.Gst.Objects.Bus.Bus' that sent the message -}-    -> Gst.Message.Message-    {- ^ /@message@/: the 'GI.Gst.Structs.Message.Message' -}-    -> Ptr ()-    {- ^ /@userData@/: user data that has been given, when registering the handler -}-    -> IO Gst.Enums.BusSyncReply-    {- ^ __Returns:__ 'GI.Gst.Enums.BusSyncReply' stating what to do with the message -}---- | A convenience synonym for @`Nothing` :: `Maybe` `BusSyncHandler_WithClosures`@.-noBusSyncHandler_WithClosures :: Maybe BusSyncHandler_WithClosures-noBusSyncHandler_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_BusSyncHandler :: BusSyncHandler -> BusSyncHandler_WithClosures-drop_closures_BusSyncHandler _f bus message _ = _f bus message---- | Wrap the callback into a `GClosure`.-genClosure_BusSyncHandler :: MonadIO m => BusSyncHandler -> m (GClosure C_BusSyncHandler)-genClosure_BusSyncHandler cb = liftIO $ do-    let cb' = drop_closures_BusSyncHandler cb-    let cb'' = wrap_BusSyncHandler Nothing cb'-    mk_BusSyncHandler cb'' >>= B.GClosure.newGClosure----- | Wrap a `BusSyncHandler` into a `C_BusSyncHandler`.-wrap_BusSyncHandler ::-    Maybe (Ptr (FunPtr C_BusSyncHandler)) ->-    BusSyncHandler_WithClosures ->-    C_BusSyncHandler-wrap_BusSyncHandler funptrptr _cb bus message userData = do-    bus' <- (newObject Gst.Bus.Bus) bus-    B.ManagedPtr.withTransient Gst.Message.Message message $ \message' -> do-        result <- _cb  bus' message' userData-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback BusFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE if the event source should be removed.", sinceVersion = Nothing}, args = [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBus that sent the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that has been given, when registering the handler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to gst_bus_add_watch() or\ngst_bus_add_watch_full(), which is called from the mainloop when a message\nis available on the bus.\n\nThe message passed to the function will be unreffed after execution of this\nfunction so it should not be freed in the function.\n\nNote that this function is used as a GSourceFunc which means that returning\n%FALSE will remove the GSource from the mainloop.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_BusFunc =-    Ptr Gst.Bus.Bus ->-    Ptr Gst.Message.Message ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBus that sent the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessage", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that has been given, when registering the handler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_BusFunc :: FunPtr C_BusFunc -> C_BusFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_BusFunc ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Bus.IsBus a) =>-    FunPtr C_BusFunc-    -> a-    {- ^ /@bus@/: the 'GI.Gst.Objects.Bus.Bus' that sent the message -}-    -> Gst.Message.Message-    {- ^ /@message@/: the 'GI.Gst.Structs.Message.Message' -}-    -> Ptr ()-    {- ^ /@userData@/: user data that has been given, when registering the handler -}-    -> m Bool-    {- ^ __Returns:__ 'False' if the event source should be removed. -}-dynamic_BusFunc __funPtr bus message userData = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    message' <- unsafeManagedPtrGetPtr message-    result <- (__dynamic_C_BusFunc __funPtr) bus' message' userData-    let result' = (/= 0) result-    touchManagedPtr bus-    touchManagedPtr message-    return result'---- | Generate a function pointer callable from C code, from a `C_BusFunc`.-foreign import ccall "wrapper"-    mk_BusFunc :: C_BusFunc -> IO (FunPtr C_BusFunc)--{- |-Specifies the type of function passed to @/gst_bus_add_watch()/@ or-'GI.Gst.Objects.Bus.busAddWatch', 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.--}-type BusFunc =-    Gst.Bus.Bus-    {- ^ /@bus@/: the 'GI.Gst.Objects.Bus.Bus' that sent the message -}-    -> Gst.Message.Message-    {- ^ /@message@/: the 'GI.Gst.Structs.Message.Message' -}-    -> IO Bool-    {- ^ __Returns:__ 'False' if the event source should be removed. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `BusFunc`@.-noBusFunc :: Maybe BusFunc-noBusFunc = Nothing--{- |-Specifies the type of function passed to @/gst_bus_add_watch()/@ or-'GI.Gst.Objects.Bus.busAddWatch', 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.--}-type BusFunc_WithClosures =-    Gst.Bus.Bus-    {- ^ /@bus@/: the 'GI.Gst.Objects.Bus.Bus' that sent the message -}-    -> Gst.Message.Message-    {- ^ /@message@/: the 'GI.Gst.Structs.Message.Message' -}-    -> Ptr ()-    {- ^ /@userData@/: user data that has been given, when registering the handler -}-    -> IO Bool-    {- ^ __Returns:__ 'False' if the event source should be removed. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `BusFunc_WithClosures`@.-noBusFunc_WithClosures :: Maybe BusFunc_WithClosures-noBusFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_BusFunc :: BusFunc -> BusFunc_WithClosures-drop_closures_BusFunc _f bus message _ = _f bus message---- | Wrap the callback into a `GClosure`.-genClosure_BusFunc :: MonadIO m => BusFunc -> m (GClosure C_BusFunc)-genClosure_BusFunc cb = liftIO $ do-    let cb' = drop_closures_BusFunc cb-    let cb'' = wrap_BusFunc Nothing cb'-    mk_BusFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `BusFunc` into a `C_BusFunc`.-wrap_BusFunc ::-    Maybe (Ptr (FunPtr C_BusFunc)) ->-    BusFunc_WithClosures ->-    C_BusFunc-wrap_BusFunc funptrptr _cb bus message userData = do-    bus' <- (newObject Gst.Bus.Bus) bus-    B.ManagedPtr.withTransient Gst.Message.Message message $ \message' -> do-        result <- _cb  bus' message' userData-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback BufferListFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE when gst_buffer_list_foreach() should stop", sinceVersion = Nothing}, args = [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gst_buffer_list_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called from gst_buffer_list_foreach(). The @buffer\nfield will point to a the reference of the buffer at @idx.\n\nWhen this function returns %TRUE, the next buffer will be\nreturned. When %FALSE is returned, gst_buffer_list_foreach() will return.\n\nWhen @buffer is set to %NULL, the item will be removed from the bufferlist.\nWhen @buffer has been made writable, the new buffer reference can be assigned\nto @buffer. This function is responsible for unreffing the old buffer when\nremoving or modifying.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_BufferListFunc =-    Ptr (Ptr Gst.Buffer.Buffer) ->-    Word32 ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gst_buffer_list_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_BufferListFunc :: FunPtr C_BufferListFunc -> C_BufferListFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_BufferListFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_BufferListFunc-    -> Word32-    {- ^ /@idx@/: the index of /@buffer@/ -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.Gst.Structs.BufferList.bufferListForeach' -}-    -> m ((Bool, Maybe Gst.Buffer.Buffer))-    {- ^ __Returns:__ 'False' when 'GI.Gst.Structs.BufferList.bufferListForeach' should stop -}-dynamic_BufferListFunc __funPtr idx userData = liftIO $ do-    buffer <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))-    result <- (__dynamic_C_BufferListFunc __funPtr) buffer idx userData-    let result' = (/= 0) result-    buffer' <- peek buffer-    maybeBuffer' <- convertIfNonNull buffer' $ \buffer'' -> do-        buffer''' <- (wrapBoxed Gst.Buffer.Buffer) buffer''-        return buffer'''-    freeMem buffer-    return (result', maybeBuffer')---- | Generate a function pointer callable from C code, from a `C_BufferListFunc`.-foreign import ccall "wrapper"-    mk_BufferListFunc :: C_BufferListFunc -> IO (FunPtr C_BufferListFunc)--{- |-A function that will be called from 'GI.Gst.Structs.BufferList.bufferListForeach'. 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, 'GI.Gst.Structs.BufferList.bufferListForeach' will return.--When /@buffer@/ is set to 'Nothing', 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.--}-type BufferListFunc =-    Word32-    {- ^ /@idx@/: the index of /@buffer@/ -}-    -> IO ((Bool, Maybe Gst.Buffer.Buffer))-    {- ^ __Returns:__ 'False' when 'GI.Gst.Structs.BufferList.bufferListForeach' should stop -}---- | A convenience synonym for @`Nothing` :: `Maybe` `BufferListFunc`@.-noBufferListFunc :: Maybe BufferListFunc-noBufferListFunc = Nothing--{- |-A function that will be called from 'GI.Gst.Structs.BufferList.bufferListForeach'. 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, 'GI.Gst.Structs.BufferList.bufferListForeach' will return.--When /@buffer@/ is set to 'Nothing', 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.--}-type BufferListFunc_WithClosures =-    Word32-    {- ^ /@idx@/: the index of /@buffer@/ -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.Gst.Structs.BufferList.bufferListForeach' -}-    -> IO ((Bool, Maybe Gst.Buffer.Buffer))-    {- ^ __Returns:__ 'False' when 'GI.Gst.Structs.BufferList.bufferListForeach' should stop -}---- | A convenience synonym for @`Nothing` :: `Maybe` `BufferListFunc_WithClosures`@.-noBufferListFunc_WithClosures :: Maybe BufferListFunc_WithClosures-noBufferListFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_BufferListFunc :: BufferListFunc -> BufferListFunc_WithClosures-drop_closures_BufferListFunc _f idx _ = _f idx---- | Wrap the callback into a `GClosure`.-genClosure_BufferListFunc :: MonadIO m => BufferListFunc -> m (GClosure C_BufferListFunc)-genClosure_BufferListFunc cb = liftIO $ do-    let cb' = drop_closures_BufferListFunc cb-    let cb'' = wrap_BufferListFunc Nothing cb'-    mk_BufferListFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `BufferListFunc` into a `C_BufferListFunc`.-wrap_BufferListFunc ::-    Maybe (Ptr (FunPtr C_BufferListFunc)) ->-    BufferListFunc_WithClosures ->-    C_BufferListFunc-wrap_BufferListFunc funptrptr _cb buffer idx userData = do-    (result, outbuffer) <- _cb  idx userData-    outbuffer' <- case outbuffer of-        Nothing -> return nullPtr-        Just outbuffer' -> do-            outbuffer'' <- B.ManagedPtr.disownBoxed outbuffer'-            return outbuffer''-    poke buffer outbuffer'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback BufferForeachMetaFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE when gst_buffer_foreach_meta() should stop", sinceVersion = Nothing}, args = [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gst_buffer_foreach_meta()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called from gst_buffer_foreach_meta(). The @meta\nfield will point to a the reference of the meta.\n\n@buffer should not be modified from this callback.\n\nWhen this function returns %TRUE, the next meta will be\nreturned. When %FALSE is returned, gst_buffer_foreach_meta() will return.\n\nWhen @meta is set to %NULL, the item will be removed from the buffer.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_BufferForeachMetaFunc =-    Ptr Gst.Buffer.Buffer ->-    Ptr (Ptr Gst.Meta.Meta) ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to gst_buffer_foreach_meta()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_BufferForeachMetaFunc :: FunPtr C_BufferForeachMetaFunc -> C_BufferForeachMetaFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_BufferForeachMetaFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_BufferForeachMetaFunc-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.Gst.Structs.Buffer.bufferForeachMeta' -}-    -> m ((Bool, Maybe Gst.Meta.Meta))-    {- ^ __Returns:__ 'False' when 'GI.Gst.Structs.Buffer.bufferForeachMeta' should stop -}-dynamic_BufferForeachMetaFunc __funPtr buffer userData = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    meta <- allocMem :: IO (Ptr (Ptr Gst.Meta.Meta))-    result <- (__dynamic_C_BufferForeachMetaFunc __funPtr) buffer' meta userData-    let result' = (/= 0) result-    meta' <- peek meta-    maybeMeta' <- convertIfNonNull meta' $ \meta'' -> do-        meta''' <- (wrapPtr Gst.Meta.Meta) meta''-        return meta'''-    touchManagedPtr buffer-    freeMem meta-    return (result', maybeMeta')---- | Generate a function pointer callable from C code, from a `C_BufferForeachMetaFunc`.-foreign import ccall "wrapper"-    mk_BufferForeachMetaFunc :: C_BufferForeachMetaFunc -> IO (FunPtr C_BufferForeachMetaFunc)--{- |-A function that will be called from 'GI.Gst.Structs.Buffer.bufferForeachMeta'. 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, 'GI.Gst.Structs.Buffer.bufferForeachMeta' will return.--When /@meta@/ is set to 'Nothing', the item will be removed from the buffer.--}-type BufferForeachMetaFunc =-    Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> IO ((Bool, Maybe Gst.Meta.Meta))-    {- ^ __Returns:__ 'False' when 'GI.Gst.Structs.Buffer.bufferForeachMeta' should stop -}---- | A convenience synonym for @`Nothing` :: `Maybe` `BufferForeachMetaFunc`@.-noBufferForeachMetaFunc :: Maybe BufferForeachMetaFunc-noBufferForeachMetaFunc = Nothing--{- |-A function that will be called from 'GI.Gst.Structs.Buffer.bufferForeachMeta'. 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, 'GI.Gst.Structs.Buffer.bufferForeachMeta' will return.--When /@meta@/ is set to 'Nothing', the item will be removed from the buffer.--}-type BufferForeachMetaFunc_WithClosures =-    Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.Gst.Structs.Buffer.bufferForeachMeta' -}-    -> IO ((Bool, Maybe Gst.Meta.Meta))-    {- ^ __Returns:__ 'False' when 'GI.Gst.Structs.Buffer.bufferForeachMeta' should stop -}---- | A convenience synonym for @`Nothing` :: `Maybe` `BufferForeachMetaFunc_WithClosures`@.-noBufferForeachMetaFunc_WithClosures :: Maybe BufferForeachMetaFunc_WithClosures-noBufferForeachMetaFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_BufferForeachMetaFunc :: BufferForeachMetaFunc -> BufferForeachMetaFunc_WithClosures-drop_closures_BufferForeachMetaFunc _f buffer _ = _f buffer---- | Wrap the callback into a `GClosure`.-genClosure_BufferForeachMetaFunc :: MonadIO m => BufferForeachMetaFunc -> m (GClosure C_BufferForeachMetaFunc)-genClosure_BufferForeachMetaFunc cb = liftIO $ do-    let cb' = drop_closures_BufferForeachMetaFunc cb-    let cb'' = wrap_BufferForeachMetaFunc Nothing cb'-    mk_BufferForeachMetaFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `BufferForeachMetaFunc` into a `C_BufferForeachMetaFunc`.-wrap_BufferForeachMetaFunc ::-    Maybe (Ptr (FunPtr C_BufferForeachMetaFunc)) ->-    BufferForeachMetaFunc_WithClosures ->-    C_BufferForeachMetaFunc-wrap_BufferForeachMetaFunc funptrptr _cb buffer meta userData = do-    B.ManagedPtr.withTransient Gst.Buffer.Buffer buffer $ \buffer' -> do-        (result, outmeta) <- _cb  buffer' userData-        outmeta' <- case outmeta of-            Nothing -> return nullPtr-            Just outmeta' -> do-                outmeta'' <- unsafeManagedPtrGetPtr outmeta'-                return outmeta''-        poke meta outmeta'-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'---
− GI/Gst/Constants.hs
@@ -1,1278 +0,0 @@-{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Constants-    ( -    pattern VERSION_NANO                    ,-    pattern VERSION_MINOR                   ,-    pattern VERSION_MICRO                   ,-    pattern VERSION_MAJOR                   ,-    pattern VALUE_UNORDERED                 ,-    pattern VALUE_LESS_THAN                 ,-    pattern VALUE_GREATER_THAN              ,-    pattern VALUE_EQUAL                     ,-    pattern USECOND                         ,-    pattern URI_NO_PORT                     ,-    pattern TOC_REPEAT_COUNT_INFINITE       ,-    pattern TAG_VIDEO_CODEC                 ,-    pattern TAG_VERSION                     ,-    pattern TAG_USER_RATING                 ,-    pattern TAG_TRACK_PEAK                  ,-    pattern TAG_TRACK_NUMBER                ,-    pattern TAG_TRACK_GAIN                  ,-    pattern TAG_TRACK_COUNT                 ,-    pattern TAG_TITLE_SORTNAME              ,-    pattern TAG_TITLE                       ,-    pattern TAG_SUBTITLE_CODEC              ,-    pattern TAG_SHOW_SORTNAME               ,-    pattern TAG_SHOW_SEASON_NUMBER          ,-    pattern TAG_SHOW_NAME                   ,-    pattern TAG_SHOW_EPISODE_NUMBER         ,-    pattern TAG_SERIAL                      ,-    pattern TAG_REFERENCE_LEVEL             ,-    pattern TAG_PUBLISHER                   ,-    pattern TAG_PRIVATE_DATA                ,-    pattern TAG_PREVIEW_IMAGE               ,-    pattern TAG_PERFORMER                   ,-    pattern TAG_ORGANIZATION                ,-    pattern TAG_NOMINAL_BITRATE             ,-    pattern TAG_MINIMUM_BITRATE             ,-    pattern TAG_MIDI_BASE_NOTE              ,-    pattern TAG_MAXIMUM_BITRATE             ,-    pattern TAG_LYRICS                      ,-    pattern TAG_LOCATION                    ,-    pattern TAG_LICENSE_URI                 ,-    pattern TAG_LICENSE                     ,-    pattern TAG_LANGUAGE_NAME               ,-    pattern TAG_LANGUAGE_CODE               ,-    pattern TAG_KEYWORDS                    ,-    pattern TAG_ISRC                        ,-    pattern TAG_INTERPRETED_BY              ,-    pattern TAG_IMAGE_ORIENTATION           ,-    pattern TAG_IMAGE                       ,-    pattern TAG_HOMEPAGE                    ,-    pattern TAG_GROUPING                    ,-    pattern TAG_GEO_LOCATION_SUBLOCATION    ,-    pattern TAG_GEO_LOCATION_NAME           ,-    pattern TAG_GEO_LOCATION_MOVEMENT_SPEED ,-    pattern TAG_GEO_LOCATION_MOVEMENT_DIRECTION,-    pattern TAG_GEO_LOCATION_LONGITUDE      ,-    pattern TAG_GEO_LOCATION_LATITUDE       ,-    pattern TAG_GEO_LOCATION_HORIZONTAL_ERROR,-    pattern TAG_GEO_LOCATION_ELEVATION      ,-    pattern TAG_GEO_LOCATION_COUNTRY        ,-    pattern TAG_GEO_LOCATION_CITY           ,-    pattern TAG_GEO_LOCATION_CAPTURE_DIRECTION,-    pattern TAG_GENRE                       ,-    pattern TAG_EXTENDED_COMMENT            ,-    pattern TAG_ENCODER_VERSION             ,-    pattern TAG_ENCODER                     ,-    pattern TAG_ENCODED_BY                  ,-    pattern TAG_DURATION                    ,-    pattern TAG_DEVICE_MODEL                ,-    pattern TAG_DEVICE_MANUFACTURER         ,-    pattern TAG_DESCRIPTION                 ,-    pattern TAG_DATE_TIME                   ,-    pattern TAG_DATE                        ,-    pattern TAG_COPYRIGHT_URI               ,-    pattern TAG_COPYRIGHT                   ,-    pattern TAG_CONTAINER_FORMAT            ,-    pattern TAG_CONTACT                     ,-    pattern TAG_CONDUCTOR                   ,-    pattern TAG_COMPOSER_SORTNAME           ,-    pattern TAG_COMPOSER                    ,-    pattern TAG_COMMENT                     ,-    pattern TAG_CODEC                       ,-    pattern TAG_BITRATE                     ,-    pattern TAG_BEATS_PER_MINUTE            ,-    pattern TAG_AUDIO_CODEC                 ,-    pattern TAG_ATTACHMENT                  ,-    pattern TAG_ARTIST_SORTNAME             ,-    pattern TAG_ARTIST                      ,-    pattern TAG_APPLICATION_NAME            ,-    pattern TAG_APPLICATION_DATA            ,-    pattern TAG_ALBUM_VOLUME_NUMBER         ,-    pattern TAG_ALBUM_VOLUME_COUNT          ,-    pattern TAG_ALBUM_SORTNAME              ,-    pattern TAG_ALBUM_PEAK                  ,-    pattern TAG_ALBUM_GAIN                  ,-    pattern TAG_ALBUM_ARTIST_SORTNAME       ,-    pattern TAG_ALBUM_ARTIST                ,-    pattern TAG_ALBUM                       ,-    pattern SEQNUM_INVALID                  ,-    pattern SECOND                          ,-    pattern QUERY_TYPE_BOTH                 ,-    pattern QUERY_NUM_SHIFT                 ,-    pattern PROTECTION_UNSPECIFIED_SYSTEM_ID,-    pattern PROTECTION_SYSTEM_ID_CAPS_FIELD ,-    pattern PARAM_USER_SHIFT                ,-    pattern PARAM_MUTABLE_READY             ,-    pattern PARAM_MUTABLE_PLAYING           ,-    pattern PARAM_MUTABLE_PAUSED            ,-    pattern PARAM_CONTROLLABLE              ,-    pattern NSECOND                         ,-    pattern MSECOND                         ,-    pattern META_TAG_MEMORY_STR             ,-    pattern MAP_READWRITE                   ,-    pattern LOCK_FLAG_READWRITE             ,-    pattern LICENSE_UNKNOWN                 ,-    pattern GROUP_ID_INVALID                ,-    pattern FORMAT_PERCENT_SCALE            ,-    pattern FORMAT_PERCENT_MAX              ,-    pattern FLAG_SET_MASK_EXACT             ,-    pattern EVENT_TYPE_BOTH                 ,-    pattern EVENT_NUM_SHIFT                 ,-    pattern ELEMENT_METADATA_LONGNAME       ,-    pattern ELEMENT_METADATA_KLASS          ,-    pattern ELEMENT_METADATA_ICON_NAME      ,-    pattern ELEMENT_METADATA_DOC_URI        ,-    pattern ELEMENT_METADATA_DESCRIPTION    ,-    pattern ELEMENT_METADATA_AUTHOR         ,-    pattern ELEMENT_FACTORY_TYPE_VIDEO_ENCODER,-    pattern ELEMENT_FACTORY_TYPE_SRC        ,-    pattern ELEMENT_FACTORY_TYPE_SINK       ,-    pattern ELEMENT_FACTORY_TYPE_PAYLOADER  ,-    pattern ELEMENT_FACTORY_TYPE_PARSER     ,-    pattern ELEMENT_FACTORY_TYPE_MUXER      ,-    pattern ELEMENT_FACTORY_TYPE_MEDIA_VIDEO,-    pattern ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE,-    pattern ELEMENT_FACTORY_TYPE_MEDIA_METADATA,-    pattern ELEMENT_FACTORY_TYPE_MEDIA_IMAGE,-    pattern ELEMENT_FACTORY_TYPE_MEDIA_AUDIO,-    pattern ELEMENT_FACTORY_TYPE_MEDIA_ANY  ,-    pattern ELEMENT_FACTORY_TYPE_MAX_ELEMENTS,-    pattern ELEMENT_FACTORY_TYPE_FORMATTER  ,-    pattern ELEMENT_FACTORY_TYPE_ENCRYPTOR  ,-    pattern ELEMENT_FACTORY_TYPE_ENCODER    ,-    pattern ELEMENT_FACTORY_TYPE_DEPAYLOADER,-    pattern ELEMENT_FACTORY_TYPE_DEMUXER    ,-    pattern ELEMENT_FACTORY_TYPE_DECRYPTOR  ,-    pattern ELEMENT_FACTORY_TYPE_DECODER    ,-    pattern ELEMENT_FACTORY_TYPE_DECODABLE  ,-    pattern ELEMENT_FACTORY_TYPE_AUDIO_ENCODER,-    pattern ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS,-    pattern ELEMENT_FACTORY_TYPE_ANY        ,-    pattern ELEMENT_FACTORY_KLASS_SRC       ,-    pattern ELEMENT_FACTORY_KLASS_SINK      ,-    pattern ELEMENT_FACTORY_KLASS_PAYLOADER ,-    pattern ELEMENT_FACTORY_KLASS_PARSER    ,-    pattern ELEMENT_FACTORY_KLASS_MUXER     ,-    pattern ELEMENT_FACTORY_KLASS_MEDIA_VIDEO,-    pattern ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE,-    pattern ELEMENT_FACTORY_KLASS_MEDIA_METADATA,-    pattern ELEMENT_FACTORY_KLASS_MEDIA_IMAGE,-    pattern ELEMENT_FACTORY_KLASS_MEDIA_AUDIO,-    pattern ELEMENT_FACTORY_KLASS_HARDWARE  ,-    pattern ELEMENT_FACTORY_KLASS_FORMATTER ,-    pattern ELEMENT_FACTORY_KLASS_ENCRYPTOR ,-    pattern ELEMENT_FACTORY_KLASS_ENCODER   ,-    pattern ELEMENT_FACTORY_KLASS_DEPAYLOADER,-    pattern ELEMENT_FACTORY_KLASS_DEMUXER   ,-    pattern ELEMENT_FACTORY_KLASS_DECRYPTOR ,-    pattern ELEMENT_FACTORY_KLASS_DECODER   ,-    pattern DEBUG_FORMAT_MASK               ,-    pattern DEBUG_FG_MASK                   ,-    pattern DEBUG_BG_MASK                   ,-    pattern CLOCK_TIME_NONE                 ,-    pattern CAPS_FEATURE_MEMORY_SYSTEM_MEMORY,-    pattern CAN_INLINE                      ,-    pattern BUFFER_OFFSET_NONE              ,-    pattern BUFFER_COPY_METADATA            ,-    pattern BUFFER_COPY_ALL                 ,-    pattern ALLOCATOR_SYSMEM                ,--    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags--{- |-The nano version of GStreamer at compile time:-Actual releases have 0, GIT versions have 1, prerelease versions have 2-...--}-pattern VERSION_NANO = 0 :: Int32--{- |-The minor version of GStreamer at compile time:--}-pattern VERSION_MINOR = 16 :: Int32--{- |-The micro version of GStreamer at compile time:--}-pattern VERSION_MICRO = 0 :: Int32--{- |-The major version of GStreamer at compile time:--}-pattern VERSION_MAJOR = 1 :: Int32--{- |-Indicates that the comparison function ('GI.Gst.Functions.valueCompare') can not-determine a order for the two provided values.--}-pattern VALUE_UNORDERED = 2 :: Int32--{- |-Indicates that the first value provided to a comparison function-('GI.Gst.Functions.valueCompare') is lesser than the second one.--}-pattern VALUE_LESS_THAN = -1 :: Int32--{- |-Indicates that the first value provided to a comparison function-('GI.Gst.Functions.valueCompare') is greater than the second one.--}-pattern VALUE_GREATER_THAN = 1 :: Int32--{- |-Indicates that the first value provided to a comparison function-('GI.Gst.Functions.valueCompare') is equal to the second one.--}-pattern VALUE_EQUAL = 0 :: Int32--{- |-Constant that defines one GStreamer microsecond.--}-pattern USECOND = 1000 :: Int64--{- |-Value for 'GI.Gst.Structs.Uri.Uri'\<!-- -->.port to indicate no port number.--}-pattern URI_NO_PORT = 0 :: Int32--{- |-Special value for the repeat_count set in 'GI.Gst.Structs.TocEntry.tocEntrySetLoop' or-returned by 'GI.Gst.Structs.TocEntry.tocEntrySetLoop' to indicate infinite looping.--/Since: 1.4/--}-pattern TOC_REPEAT_COUNT_INFINITE = -1 :: Int32--{- |-codec the video data is stored in (string)--}-pattern TAG_VIDEO_CODEC = "video-codec" :: T.Text--{- |-version of this data (string)--}-pattern TAG_VERSION = "version" :: T.Text--{- |-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)--}-pattern TAG_USER_RATING = "user-rating" :: T.Text--{- |-peak of the track (double)--}-pattern TAG_TRACK_PEAK = "replaygain-track-peak" :: T.Text--{- |-track number inside a collection (unsigned integer)--}-pattern TAG_TRACK_NUMBER = "track-number" :: T.Text--{- |-track gain in db (double)--}-pattern TAG_TRACK_GAIN = "replaygain-track-gain" :: T.Text--{- |-count of tracks inside collection this track belongs to (unsigned integer)--}-pattern TAG_TRACK_COUNT = "track-count" :: T.Text--{- |-commonly used title, as used for sorting (string)--The title as it should be sorted, e.g. \'Doll House, The\'--}-pattern TAG_TITLE_SORTNAME = "title-sortname" :: T.Text--{- |-commonly used title (string)--The title as it should be displayed, e.g. \'The Doll House\'--}-pattern TAG_TITLE = "title" :: T.Text--{- |-codec\/format the subtitle data is stored in (string)--}-pattern TAG_SUBTITLE_CODEC = "subtitle-codec" :: T.Text--{- |-Name of the show, used for sorting (string)--}-pattern TAG_SHOW_SORTNAME = "show-sortname" :: T.Text--{- |-Number of the season of a show\/series (unsigned integer)--}-pattern TAG_SHOW_SEASON_NUMBER = "show-season-number" :: T.Text--{- |-Name of the show, used for displaying (string)--}-pattern TAG_SHOW_NAME = "show-name" :: T.Text--{- |-Number of the episode within a season\/show (unsigned integer)--}-pattern TAG_SHOW_EPISODE_NUMBER = "show-episode-number" :: T.Text--{- |-serial number of track (unsigned integer)--}-pattern TAG_SERIAL = "serial" :: T.Text--{- |-reference level of track and album gain values (double)--}-pattern TAG_REFERENCE_LEVEL = "replaygain-reference-level" :: T.Text--{- |-Name of the label or publisher (string)--/Since: 1.2/--}-pattern TAG_PUBLISHER = "publisher" :: T.Text--{- |-Any private data that may be contained in tags (sample).--It is represented by 'GI.Gst.Structs.Sample.Sample' in which 'GI.Gst.Structs.Buffer.Buffer' contains the-binary data and the sample\'s info 'GI.Gst.Structs.Structure.Structure' 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.--/Since: 1.8/--}-pattern TAG_PRIVATE_DATA = "private-data" :: T.Text--{- |-image that is meant for preview purposes, e.g. small icon-sized version-(sample) (sample taglist should specify the content type)--}-pattern TAG_PREVIEW_IMAGE = "preview-image" :: T.Text--{- |-person(s) performing (string)--}-pattern TAG_PERFORMER = "performer" :: T.Text--{- |-organization (string)--}-pattern TAG_ORGANIZATION = "organization" :: T.Text--{- |-nominal bitrate in bits\/s (unsigned integer). The actual bitrate might be-different from this target bitrate.--}-pattern TAG_NOMINAL_BITRATE = "nominal-bitrate" :: T.Text--{- |-minimum bitrate in bits\/s (unsigned integer)--}-pattern TAG_MINIMUM_BITRATE = "minimum-bitrate" :: T.Text--{- |-\<ulink url=\"http:\/\/en.wikipedia.org\/wiki\/Note@/Note_designation_in_accordance_with_octave_name/@\">Midi note number\<\/ulink>-of the audio track. This is useful for sample instruments and in particular-for multi-samples.--/Since: 1.4/--}-pattern TAG_MIDI_BASE_NOTE = "midi-base-note" :: T.Text--{- |-maximum bitrate in bits\/s (unsigned integer)--}-pattern TAG_MAXIMUM_BITRATE = "maximum-bitrate" :: T.Text--{- |-The lyrics of the media (string)--}-pattern TAG_LYRICS = "lyrics" :: T.Text--{- |-Origin of media as a URI (location, where the original of the file or stream-is hosted) (string)--}-pattern TAG_LOCATION = "location" :: T.Text--{- |-URI to location where license details can be found (string)--}-pattern TAG_LICENSE_URI = "license-uri" :: T.Text--{- |-license of data (string)--}-pattern TAG_LICENSE = "license" :: T.Text--{- |-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.--}-pattern TAG_LANGUAGE_NAME = "language-name" :: T.Text--{- |-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()/@--}-pattern TAG_LANGUAGE_CODE = "language-code" :: T.Text--{- |-comma separated keywords describing the content (string).--}-pattern TAG_KEYWORDS = "keywords" :: T.Text--{- |-International Standard Recording Code - see http:\/\/www.ifpi.org\/isrc\/ (string)--}-pattern TAG_ISRC = "isrc" :: T.Text--{- |-Information about the people behind a remix and similar-interpretations of another existing piece (string)--/Since: 1.2/--}-pattern TAG_INTERPRETED_BY = "interpreted-by" :: T.Text--{- |-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.--}-pattern TAG_IMAGE_ORIENTATION = "image-orientation" :: T.Text--{- |-image (sample) (sample taglist should specify the content type and preferably-also set \"image-type\" field as @/GstTagImageType/@)--}-pattern TAG_IMAGE = "image" :: T.Text--{- |-Homepage for this media (i.e. artist or movie homepage) (string)--}-pattern TAG_HOMEPAGE = "homepage" :: T.Text--{- |-Groups together media that are related and spans multiple tracks. An-example are multiple pieces of a concerto. (string)--}-pattern TAG_GROUPING = "grouping" :: T.Text--{- |-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.--}-pattern TAG_GEO_LOCATION_SUBLOCATION = "geo-location-sublocation" :: T.Text--{- |-human readable descriptive location of where the media has been recorded or-produced. (string).--}-pattern TAG_GEO_LOCATION_NAME = "geo-location-name" :: T.Text--{- |-Speed of the capturing device when performing the capture.-Represented in m\/s. (double)--See also 'GI.Gst.Constants.TAG_GEO_LOCATION_MOVEMENT_DIRECTION'--}-pattern TAG_GEO_LOCATION_MOVEMENT_SPEED = "geo-location-movement-speed" :: T.Text--{- |-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 'GI.Gst.Constants.TAG_GEO_LOCATION_CAPTURE_DIRECTION'--}-pattern TAG_GEO_LOCATION_MOVEMENT_DIRECTION = "geo-location-movement-direction" :: T.Text--{- |-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).--}-pattern TAG_GEO_LOCATION_LONGITUDE = "geo-location-longitude" :: T.Text--{- |-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).--}-pattern TAG_GEO_LOCATION_LATITUDE = "geo-location-latitude" :: T.Text--{- |-Represents the expected error on the horizontal positioning in-meters (double).--}-pattern TAG_GEO_LOCATION_HORIZONTAL_ERROR = "geo-location-horizontal-error" :: T.Text--{- |-geo elevation of where the media has been recorded or produced in meters-according to WGS84 (zero is average sea level) (double).--}-pattern TAG_GEO_LOCATION_ELEVATION = "geo-location-elevation" :: T.Text--{- |-The country (english name) where the media has been produced (string).--}-pattern TAG_GEO_LOCATION_COUNTRY = "geo-location-country" :: T.Text--{- |-The city (english name) where the media has been produced (string).--}-pattern TAG_GEO_LOCATION_CITY = "geo-location-city" :: T.Text--{- |-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 'GI.Gst.Constants.TAG_GEO_LOCATION_MOVEMENT_DIRECTION'--}-pattern TAG_GEO_LOCATION_CAPTURE_DIRECTION = "geo-location-capture-direction" :: T.Text--{- |-genre this data belongs to (string)--}-pattern TAG_GENRE = "genre" :: T.Text--{- |-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.--}-pattern TAG_EXTENDED_COMMENT = "extended-comment" :: T.Text--{- |-version of the encoder used to encode this stream (unsigned integer)--}-pattern TAG_ENCODER_VERSION = "encoder-version" :: T.Text--{- |-encoder used to encode this stream (string)--}-pattern TAG_ENCODER = "encoder" :: T.Text--{- |-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-'GI.Gst.Constants.TAG_APPLICATION_NAME' or 'GI.Gst.Constants.TAG_COMMENT' for that.--}-pattern TAG_ENCODED_BY = "encoded-by" :: T.Text--{- |-length in GStreamer time units (nanoseconds) (unsigned 64-bit integer)--}-pattern TAG_DURATION = "duration" :: T.Text--{- |-Model of the device used to create the media (string)--}-pattern TAG_DEVICE_MODEL = "device-model" :: T.Text--{- |-Manufacturer of the device used to create the media (string)--}-pattern TAG_DEVICE_MANUFACTURER = "device-manufacturer" :: T.Text--{- |-short text describing the content of the data (string)--}-pattern TAG_DESCRIPTION = "description" :: T.Text--{- |-date and time the data was created ('GI.Gst.Structs.DateTime.DateTime' structure)--}-pattern TAG_DATE_TIME = "datetime" :: T.Text--{- |-date the data was created ('GI.GLib.Structs.Date.Date' structure)--}-pattern TAG_DATE = "date" :: T.Text--{- |-URI to location where copyright details can be found (string)--}-pattern TAG_COPYRIGHT_URI = "copyright-uri" :: T.Text--{- |-copyright notice of the data (string)--}-pattern TAG_COPYRIGHT = "copyright" :: T.Text--{- |-container format the data is stored in (string)--}-pattern TAG_CONTAINER_FORMAT = "container-format" :: T.Text--{- |-contact information (string)--}-pattern TAG_CONTACT = "contact" :: T.Text--{- |-conductor\/performer refinement (string)--/Since: 1.8/--}-pattern TAG_CONDUCTOR = "conductor" :: T.Text--{- |-The composer\'s name, used for sorting (string)--}-pattern TAG_COMPOSER_SORTNAME = "composer-sortname" :: T.Text--{- |-person(s) who composed the recording (string)--}-pattern TAG_COMPOSER = "composer" :: T.Text--{- |-free text commenting the data (string)--}-pattern TAG_COMMENT = "comment" :: T.Text--{- |-codec the data is stored in (string)--}-pattern TAG_CODEC = "codec" :: T.Text--{- |-exact or average bitrate in bits\/s (unsigned integer)--}-pattern TAG_BITRATE = "bitrate" :: T.Text--{- |-number of beats per minute in audio (double)--}-pattern TAG_BEATS_PER_MINUTE = "beats-per-minute" :: T.Text--{- |-codec the audio data is stored in (string)--}-pattern TAG_AUDIO_CODEC = "audio-codec" :: T.Text--{- |-generic file attachment (sample) (sample taglist should specify the content-type and if possible set \"filename\" to the file name of the-attachment)--}-pattern TAG_ATTACHMENT = "attachment" :: T.Text--{- |-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\'--}-pattern TAG_ARTIST_SORTNAME = "artist-sortname" :: T.Text--{- |-person(s) responsible for the recording (string)--The artist name as it should be displayed, e.g. \'Jimi Hendrix\' or-\'The Guitar Heroes\'--}-pattern TAG_ARTIST = "artist" :: T.Text--{- |-Name of the application used to create the media (string)--}-pattern TAG_APPLICATION_NAME = "application-name" :: T.Text--{- |-Arbitrary application data (sample)--Some formats allow applications to add their own arbitrary data-into files. This data is application dependent.--}-pattern TAG_APPLICATION_DATA = "application-data" :: T.Text--{- |-disc number inside a collection (unsigned integer)--}-pattern TAG_ALBUM_VOLUME_NUMBER = "album-disc-number" :: T.Text--{- |-count of discs inside collection this disc belongs to (unsigned integer)--}-pattern TAG_ALBUM_VOLUME_COUNT = "album-disc-count" :: T.Text--{- |-album containing this data, as used for sorting (string)--The album name as it should be sorted, e.g. \'Jazz Guitar, The\'--}-pattern TAG_ALBUM_SORTNAME = "album-sortname" :: T.Text--{- |-peak of the album (double)--}-pattern TAG_ALBUM_PEAK = "replaygain-album-peak" :: T.Text--{- |-album gain in db (double)--}-pattern TAG_ALBUM_GAIN = "replaygain-album-gain" :: T.Text--{- |-The artist of the entire album, as it should be sorted.--}-pattern TAG_ALBUM_ARTIST_SORTNAME = "album-artist-sortname" :: T.Text--{- |-The artist of the entire album, as it should be displayed.--}-pattern TAG_ALBUM_ARTIST = "album-artist" :: T.Text--{- |-album containing this data (string)--The album name as it should be displayed, e.g. \'The Jazz Guitar\'--}-pattern TAG_ALBUM = "album" :: T.Text--{- |-A value which is guaranteed to never be returned by-'GI.Gst.Functions.utilSeqnumNext'.--Can be used as a default value in variables used to store seqnum.--/Since: 1.14/--}-pattern SEQNUM_INVALID = 0 :: Int32--{- |-Constant that defines one GStreamer second.--}-pattern SECOND = 1000000000 :: Int64--{- |-The same thing as @/GST_QUERY_TYPE_UPSTREAM/@ | @/GST_QUERY_TYPE_DOWNSTREAM/@.--}-pattern QUERY_TYPE_BOTH <- (gflagsToWord -> (3 :: Word64)) :: [Gst.Flags.QueryTypeFlags] where-    QUERY_TYPE_BOTH = wordToGFlags (3 :: Word64) :: [Gst.Flags.QueryTypeFlags]--{- |-/No description available in the introspection data./--}-pattern QUERY_NUM_SHIFT = 8 :: Int32--{- |-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.--/Since: 1.16/--}-pattern PROTECTION_UNSPECIFIED_SYSTEM_ID = "unspecified-system-id" :: T.Text--{- |-The field name in a GstCaps that is used to signal the UUID of the protection-system.--/Since: 1.6/--}-pattern PROTECTION_SYSTEM_ID_CAPS_FIELD = "protection-system" :: T.Text--{- |-Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications.--}-pattern PARAM_USER_SHIFT = 65536 :: Int32--{- |-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.--}-pattern PARAM_MUTABLE_READY = 1024 :: Int32--{- |-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.--}-pattern PARAM_MUTABLE_PLAYING = 4096 :: Int32--{- |-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.--}-pattern PARAM_MUTABLE_PAUSED = 2048 :: Int32--{- |-Use this flag on GObject properties to signal they can make sense to be.-controlled over time. This hint is used by the GstController.--}-pattern PARAM_CONTROLLABLE = 512 :: Int32--{- |-Constant that defines one GStreamer nanosecond--}-pattern NSECOND = 1 :: Int64--{- |-Constant that defines one GStreamer millisecond.--}-pattern MSECOND = 1000000 :: Int64--{- |-This metadata stays relevant as long as memory layout is unchanged.--/Since: 1.2/--}-pattern META_TAG_MEMORY_STR = "memory" :: T.Text--{- |-GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE--}-pattern MAP_READWRITE <- (gflagsToWord -> (3 :: Word64)) :: [Gst.Flags.MapFlags] where-    MAP_READWRITE = wordToGFlags (3 :: Word64) :: [Gst.Flags.MapFlags]--{- |-GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE--}-pattern LOCK_FLAG_READWRITE <- (gflagsToWord -> (3 :: Word64)) :: [Gst.Flags.LockFlags] where-    LOCK_FLAG_READWRITE = wordToGFlags (3 :: Word64) :: [Gst.Flags.LockFlags]--{- |-To be used in GST_PLUGIN_DEFINE if unsure about the licence.--}-pattern LICENSE_UNKNOWN = "unknown" :: T.Text--{- |-A value which is guaranteed to never be returned by-'GI.Gst.Functions.utilGroupIdNext'.--Can be used as a default value in variables used to store group_id.--/Since: 1.14/--}-pattern GROUP_ID_INVALID = 0 :: Int32--{- |-The value used to scale down the reported PERCENT format value to-its real value.--}-pattern FORMAT_PERCENT_SCALE = 10000 :: Int64--{- |-The PERCENT format is between 0 and this value--}-pattern FORMAT_PERCENT_MAX = 1000000 :: Int64--{- |-A mask value with all bits set, for use as a-GstFlagSet mask where all flag bits must match-exactly--/Since: 1.6/--}-pattern FLAG_SET_MASK_EXACT = 4294967295 :: Word32--{- |-The same thing as @/GST_EVENT_TYPE_UPSTREAM/@ | @/GST_EVENT_TYPE_DOWNSTREAM/@.--}-pattern EVENT_TYPE_BOTH <- (gflagsToWord -> (3 :: Word64)) :: [Gst.Flags.EventTypeFlags] where-    EVENT_TYPE_BOTH = wordToGFlags (3 :: Word64) :: [Gst.Flags.EventTypeFlags]--{- |-/No description available in the introspection data./--}-pattern EVENT_NUM_SHIFT = 8 :: Int32--{- |-The long English name of the element. E.g. \"File Sink\"--}-pattern ELEMENT_METADATA_LONGNAME = "long-name" :: T.Text--{- |-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\"--}-pattern ELEMENT_METADATA_KLASS = "klass" :: T.Text--{- |-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.--}-pattern ELEMENT_METADATA_ICON_NAME = "icon-name" :: T.Text--{- |-Set uri pointing to user documentation. Applications can use this to show-help for e.g. effects to users.--}-pattern ELEMENT_METADATA_DOC_URI = "doc-uri" :: T.Text--{- |-Sentence describing the purpose of the element.-E.g: \"Write stream to a file\"--}-pattern ELEMENT_METADATA_DESCRIPTION = "description" :: T.Text--{- |-Name and contact details of the author(s). Use \\n to separate-multiple author details.-E.g: \"Joe Bloggs &lt;joe.blogs at foo.com&gt;\"--}-pattern ELEMENT_METADATA_AUTHOR = "author" :: T.Text--{- |-All encoders handling video or image media types--}-pattern ELEMENT_FACTORY_TYPE_VIDEO_ENCODER = 2814749767106562 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_SRC = 8 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_SINK = 4 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_PAYLOADER = 128 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_PARSER = 64 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_MUXER = 16 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_MEDIA_VIDEO = 562949953421312 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE = 4503599627370496 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_MEDIA_METADATA = 9007199254740992 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_MEDIA_IMAGE = 2251799813685248 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_MEDIA_AUDIO = 1125899906842624 :: Word64--{- |-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.--}-pattern ELEMENT_FACTORY_TYPE_MEDIA_ANY = 18446462598732840960 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_MAX_ELEMENTS = 281474976710656 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_FORMATTER = 512 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_ENCRYPTOR = 2048 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_ENCODER = 2 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_DEPAYLOADER = 256 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_DEMUXER = 32 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_DECRYPTOR = 1024 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_TYPE_DECODER = 1 :: Word64--{- |-All elements used to \'decode\' streams (decoders, demuxers, parsers, depayloaders)--}-pattern ELEMENT_FACTORY_TYPE_DECODABLE = 1377 :: Word64--{- |-All encoders handling audio media types--}-pattern ELEMENT_FACTORY_TYPE_AUDIO_ENCODER = 1125899906842626 :: Word64--{- |-All sinks handling audio, video or image media types--}-pattern ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS = 3940649673949188 :: Word64--{- |-Elements of any of the defined GST_ELEMENT_FACTORY_LIST types--}-pattern ELEMENT_FACTORY_TYPE_ANY = 562949953421311 :: Word64--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_SRC = "Source" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_SINK = "Sink" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_PAYLOADER = "Payloader" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_PARSER = "Parser" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_MUXER = "Muxer" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_MEDIA_VIDEO = "Video" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE = "Subtitle" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_MEDIA_METADATA = "Metadata" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_MEDIA_IMAGE = "Image" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_MEDIA_AUDIO = "Audio" :: T.Text--{- |-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.--/Since: 1.16/--}-pattern ELEMENT_FACTORY_KLASS_HARDWARE = "Hardware" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_FORMATTER = "Formatter" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_ENCRYPTOR = "Encryptor" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_ENCODER = "Encoder" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_DEPAYLOADER = "Depayloader" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_DEMUXER = "Demuxer" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_DECRYPTOR = "Decryptor" :: T.Text--{- |-/No description available in the introspection data./--}-pattern ELEMENT_FACTORY_KLASS_DECODER = "Decoder" :: T.Text--{- |-/No description available in the introspection data./--}-pattern DEBUG_FORMAT_MASK = 65280 :: Int32--{- |-/No description available in the introspection data./--}-pattern DEBUG_FG_MASK = 15 :: Int32--{- |-/No description available in the introspection data./--}-pattern DEBUG_BG_MASK = 240 :: Int32--{- |-Constant to define an undefined clock time.--}-pattern CLOCK_TIME_NONE = 18446744073709551615 :: Word64--{- |-/No description available in the introspection data./--}-pattern CAPS_FEATURE_MEMORY_SYSTEM_MEMORY = "memory:SystemMemory" :: T.Text--{- |-/No description available in the introspection data./--}-pattern CAN_INLINE = 1 :: Int32--{- |-Constant for no-offset return results.--}-pattern BUFFER_OFFSET_NONE = 18446744073709551615 :: Word64--{- |-Combination of all possible metadata fields that can be copied with-'GI.Gst.Structs.Buffer.bufferCopyInto'.--}-pattern BUFFER_COPY_METADATA <- (gflagsToWord -> (7 :: Word64)) :: [Gst.Flags.BufferCopyFlags] where-    BUFFER_COPY_METADATA = wordToGFlags (7 :: Word64) :: [Gst.Flags.BufferCopyFlags]--{- |-Combination of all possible fields that can be copied with-'GI.Gst.Structs.Buffer.bufferCopyInto'.--}-pattern BUFFER_COPY_ALL <- (gflagsToWord -> (15 :: Word64)) :: [Gst.Flags.BufferCopyFlags] where-    BUFFER_COPY_ALL = wordToGFlags (15 :: Word64) :: [Gst.Flags.BufferCopyFlags]--{- |-The allocator name for the default system memory allocator--}-pattern ALLOCATOR_SYSMEM = "SystemMemory" :: T.Text--
− GI/Gst/Enums.hs
@@ -1,3558 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Enums-    ( -- -- * Enumerations--- ** BufferingMode #enum:BufferingMode#--    BufferingMode(..)                       ,----- ** BusSyncReply #enum:BusSyncReply#--    BusSyncReply(..)                        ,----- ** CapsIntersectMode #enum:CapsIntersectMode#--    CapsIntersectMode(..)                   ,----- ** ClockEntryType #enum:ClockEntryType#--    ClockEntryType(..)                      ,----- ** ClockReturn #enum:ClockReturn#--    ClockReturn(..)                         ,----- ** ClockType #enum:ClockType#--    ClockType(..)                           ,----- ** CoreError #enum:CoreError#--    CoreError(..)                           ,-    catchCoreError                          ,-    handleCoreError                         ,----- ** DebugColorMode #enum:DebugColorMode#--    DebugColorMode(..)                      ,----- ** DebugLevel #enum:DebugLevel#--    DebugLevel(..)                          ,----- ** EventType #enum:EventType#--    EventType(..)                           ,----- ** FlowReturn #enum:FlowReturn#--    FlowReturn(..)                          ,----- ** Format #enum:Format#--    Format(..)                              ,----- ** IteratorItem #enum:IteratorItem#--    IteratorItem(..)                        ,----- ** IteratorResult #enum:IteratorResult#--    IteratorResult(..)                      ,----- ** LibraryError #enum:LibraryError#--    LibraryError(..)                        ,-    catchLibraryError                       ,-    handleLibraryError                      ,----- ** PadDirection #enum:PadDirection#--    PadDirection(..)                        ,----- ** PadLinkReturn #enum:PadLinkReturn#--    PadLinkReturn(..)                       ,----- ** PadMode #enum:PadMode#--    PadMode(..)                             ,----- ** PadPresence #enum:PadPresence#--    PadPresence(..)                         ,----- ** PadProbeReturn #enum:PadProbeReturn#--    PadProbeReturn(..)                      ,----- ** ParseError #enum:ParseError#--    ParseError(..)                          ,-    catchParseError                         ,-    handleParseError                        ,----- ** PluginError #enum:PluginError#--    PluginError(..)                         ,-    catchPluginError                        ,-    handlePluginError                       ,----- ** ProgressType #enum:ProgressType#--    ProgressType(..)                        ,----- ** PromiseResult #enum:PromiseResult#--    PromiseResult(..)                       ,----- ** QOSType #enum:QOSType#--    QOSType(..)                             ,----- ** QueryType #enum:QueryType#--    QueryType(..)                           ,----- ** Rank #enum:Rank#--    Rank(..)                                ,----- ** ResourceError #enum:ResourceError#--    ResourceError(..)                       ,-    catchResourceError                      ,-    handleResourceError                     ,----- ** SearchMode #enum:SearchMode#--    SearchMode(..)                          ,----- ** SeekType #enum:SeekType#--    SeekType(..)                            ,----- ** State #enum:State#--    State(..)                               ,----- ** StateChange #enum:StateChange#--    StateChange(..)                         ,----- ** StateChangeReturn #enum:StateChangeReturn#--    StateChangeReturn(..)                   ,----- ** StreamError #enum:StreamError#--    StreamError(..)                         ,-    catchStreamError                        ,-    handleStreamError                       ,----- ** StreamStatusType #enum:StreamStatusType#--    StreamStatusType(..)                    ,----- ** StructureChangeType #enum:StructureChangeType#--    StructureChangeType(..)                 ,----- ** TagFlag #enum:TagFlag#--    TagFlag(..)                             ,----- ** TagMergeMode #enum:TagMergeMode#--    TagMergeMode(..)                        ,----- ** TagScope #enum:TagScope#--    TagScope(..)                            ,----- ** TaskState #enum:TaskState#--    TaskState(..)                           ,----- ** TocEntryType #enum:TocEntryType#--    TocEntryType(..)                        ,----- ** TocLoopType #enum:TocLoopType#--    TocLoopType(..)                         ,----- ** TocScope #enum:TocScope#--    TocScope(..)                            ,----- ** TracerValueScope #enum:TracerValueScope#--    TracerValueScope(..)                    ,----- ** TypeFindProbability #enum:TypeFindProbability#--    TypeFindProbability(..)                 ,----- ** URIError #enum:URIError#--    URIError(..)                            ,-    catchURIError                           ,-    handleURIError                          ,----- ** URIType #enum:URIType#--    URIType(..)                             ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- Enum URIType-{- |-The different types of URI direction.--}-data URIType = -      URITypeUnknown-    {- ^-    The URI direction is unknown-    -}-    | URITypeSink-    {- ^-    The URI is a consumer.-    -}-    | URITypeSrc-    {- ^-    The URI is a producer.-    -}-    | AnotherURIType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum URIType where-    fromEnum URITypeUnknown = 0-    fromEnum URITypeSink = 1-    fromEnum URITypeSrc = 2-    fromEnum (AnotherURIType k) = k--    toEnum 0 = URITypeUnknown-    toEnum 1 = URITypeSink-    toEnum 2 = URITypeSrc-    toEnum k = AnotherURIType k--instance P.Ord URIType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_uri_type_get_type" c_gst_uri_type_get_type :: -    IO GType--instance BoxedEnum URIType where-    boxedEnumType _ = c_gst_uri_type_get_type---- Enum URIError-{- |-Different URI-related errors that can occur.--}-data URIError = -      URIErrorUnsupportedProtocol-    {- ^-    The protocol is not supported-    -}-    | URIErrorBadUri-    {- ^-    There was a problem with the URI-    -}-    | URIErrorBadState-    {- ^-    Could not set or change the URI because the-        URI handler was in a state where that is not possible or not permitted-    -}-    | URIErrorBadReference-    {- ^-    There was a problem with the entity that-        the URI references-    -}-    | AnotherURIError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum URIError where-    fromEnum URIErrorUnsupportedProtocol = 0-    fromEnum URIErrorBadUri = 1-    fromEnum URIErrorBadState = 2-    fromEnum URIErrorBadReference = 3-    fromEnum (AnotherURIError k) = k--    toEnum 0 = URIErrorUnsupportedProtocol-    toEnum 1 = URIErrorBadUri-    toEnum 2 = URIErrorBadState-    toEnum 3 = URIErrorBadReference-    toEnum k = AnotherURIError k--instance P.Ord URIError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass URIError where-    gerrorClassDomain _ = "gst-uri-error-quark"---- | Catch exceptions of type `URIError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchURIError ::-    IO a ->-    (URIError -> GErrorMessage -> IO a) ->-    IO a-catchURIError = catchGErrorJustDomain---- | Handle exceptions of type `URIError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleURIError ::-    (URIError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleURIError = handleGErrorJustDomain--foreign import ccall "gst_uri_error_get_type" c_gst_uri_error_get_type :: -    IO GType--instance BoxedEnum URIError where-    boxedEnumType _ = c_gst_uri_error_get_type---- Enum TypeFindProbability-{- |-The probability of the typefind function. Higher values have more certainty-in doing a reliable typefind.--}-data TypeFindProbability = -      TypeFindProbabilityNone-    {- ^-    type undetected.-    -}-    | TypeFindProbabilityMinimum-    {- ^-    unlikely typefind.-    -}-    | TypeFindProbabilityPossible-    {- ^-    possible type detected.-    -}-    | TypeFindProbabilityLikely-    {- ^-    likely a type was detected.-    -}-    | TypeFindProbabilityNearlyCertain-    {- ^-    nearly certain that a type was detected.-    -}-    | TypeFindProbabilityMaximum-    {- ^-    very certain a type was detected.-    -}-    | AnotherTypeFindProbability Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TypeFindProbability where-    fromEnum TypeFindProbabilityNone = 0-    fromEnum TypeFindProbabilityMinimum = 1-    fromEnum TypeFindProbabilityPossible = 50-    fromEnum TypeFindProbabilityLikely = 80-    fromEnum TypeFindProbabilityNearlyCertain = 99-    fromEnum TypeFindProbabilityMaximum = 100-    fromEnum (AnotherTypeFindProbability k) = k--    toEnum 0 = TypeFindProbabilityNone-    toEnum 1 = TypeFindProbabilityMinimum-    toEnum 50 = TypeFindProbabilityPossible-    toEnum 80 = TypeFindProbabilityLikely-    toEnum 99 = TypeFindProbabilityNearlyCertain-    toEnum 100 = TypeFindProbabilityMaximum-    toEnum k = AnotherTypeFindProbability k--instance P.Ord TypeFindProbability where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_type_find_probability_get_type" c_gst_type_find_probability_get_type :: -    IO GType--instance BoxedEnum TypeFindProbability where-    boxedEnumType _ = c_gst_type_find_probability_get_type---- Enum TracerValueScope-{- |-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. 'GI.Gst.Enums.TracerValueScopePad', then each of the log-events may contain values for different @/GstPads/@.--/Since: 1.8/--}-data TracerValueScope = -      TracerValueScopeProcess-    {- ^-    the value is related to the process-    -}-    | TracerValueScopeThread-    {- ^-    the value is related to a thread-    -}-    | TracerValueScopeElement-    {- ^-    the value is related to an 'GI.Gst.Objects.Element.Element'-    -}-    | TracerValueScopePad-    {- ^-    the value is related to a 'GI.Gst.Objects.Pad.Pad'-    -}-    | AnotherTracerValueScope Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TracerValueScope where-    fromEnum TracerValueScopeProcess = 0-    fromEnum TracerValueScopeThread = 1-    fromEnum TracerValueScopeElement = 2-    fromEnum TracerValueScopePad = 3-    fromEnum (AnotherTracerValueScope k) = k--    toEnum 0 = TracerValueScopeProcess-    toEnum 1 = TracerValueScopeThread-    toEnum 2 = TracerValueScopeElement-    toEnum 3 = TracerValueScopePad-    toEnum k = AnotherTracerValueScope k--instance P.Ord TracerValueScope where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_tracer_value_scope_get_type" c_gst_tracer_value_scope_get_type :: -    IO GType--instance BoxedEnum TracerValueScope where-    boxedEnumType _ = c_gst_tracer_value_scope_get_type---- Enum TocScope-{- |-The scope of a TOC.--}-data TocScope = -      TocScopeGlobal-    {- ^-    global TOC representing all selectable options-        (this is what applications are usually interested in)-    -}-    | TocScopeCurrent-    {- ^-    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)-    -}-    | AnotherTocScope Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TocScope where-    fromEnum TocScopeGlobal = 1-    fromEnum TocScopeCurrent = 2-    fromEnum (AnotherTocScope k) = k--    toEnum 1 = TocScopeGlobal-    toEnum 2 = TocScopeCurrent-    toEnum k = AnotherTocScope k--instance P.Ord TocScope where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_toc_scope_get_type" c_gst_toc_scope_get_type :: -    IO GType--instance BoxedEnum TocScope where-    boxedEnumType _ = c_gst_toc_scope_get_type---- Enum TocLoopType-{- |-How a 'GI.Gst.Structs.TocEntry.TocEntry' should be repeated. By default, entries are played a-single time.--/Since: 1.4/--}-data TocLoopType = -      TocLoopTypeNone-    {- ^-    single forward playback-    -}-    | TocLoopTypeForward-    {- ^-    repeat forward-    -}-    | TocLoopTypeReverse-    {- ^-    repeat backward-    -}-    | TocLoopTypePingPong-    {- ^-    repeat forward and backward-    -}-    | AnotherTocLoopType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TocLoopType where-    fromEnum TocLoopTypeNone = 0-    fromEnum TocLoopTypeForward = 1-    fromEnum TocLoopTypeReverse = 2-    fromEnum TocLoopTypePingPong = 3-    fromEnum (AnotherTocLoopType k) = k--    toEnum 0 = TocLoopTypeNone-    toEnum 1 = TocLoopTypeForward-    toEnum 2 = TocLoopTypeReverse-    toEnum 3 = TocLoopTypePingPong-    toEnum k = AnotherTocLoopType k--instance P.Ord TocLoopType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_toc_loop_type_get_type" c_gst_toc_loop_type_get_type :: -    IO GType--instance BoxedEnum TocLoopType where-    boxedEnumType _ = c_gst_toc_loop_type_get_type---- Enum TocEntryType-{- |-The different types of TOC entries (see 'GI.Gst.Structs.TocEntry.TocEntry').--There are two types of TOC entries: alternatives or parts in a sequence.--}-data TocEntryType = -      TocEntryTypeAngle-    {- ^-    entry is an angle (i.e. an alternative)-    -}-    | TocEntryTypeVersion-    {- ^-    entry is a version (i.e. alternative)-    -}-    | TocEntryTypeEdition-    {- ^-    entry is an edition (i.e. alternative)-    -}-    | TocEntryTypeInvalid-    {- ^-    invalid entry type value-    -}-    | TocEntryTypeTitle-    {- ^-    entry is a title (i.e. a part of a sequence)-    -}-    | TocEntryTypeTrack-    {- ^-    entry is a track (i.e. a part of a sequence)-    -}-    | TocEntryTypeChapter-    {- ^-    entry is a chapter (i.e. a part of a sequence)-    -}-    | AnotherTocEntryType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TocEntryType where-    fromEnum TocEntryTypeAngle = -3-    fromEnum TocEntryTypeVersion = -2-    fromEnum TocEntryTypeEdition = -1-    fromEnum TocEntryTypeInvalid = 0-    fromEnum TocEntryTypeTitle = 1-    fromEnum TocEntryTypeTrack = 2-    fromEnum TocEntryTypeChapter = 3-    fromEnum (AnotherTocEntryType k) = k--    toEnum -3 = TocEntryTypeAngle-    toEnum -2 = TocEntryTypeVersion-    toEnum -1 = TocEntryTypeEdition-    toEnum 0 = TocEntryTypeInvalid-    toEnum 1 = TocEntryTypeTitle-    toEnum 2 = TocEntryTypeTrack-    toEnum 3 = TocEntryTypeChapter-    toEnum k = AnotherTocEntryType k--instance P.Ord TocEntryType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_toc_entry_type_get_type" c_gst_toc_entry_type_get_type :: -    IO GType--instance BoxedEnum TocEntryType where-    boxedEnumType _ = c_gst_toc_entry_type_get_type---- Enum TaskState-{- |-The different states a task can be in--}-data TaskState = -      TaskStateStarted-    {- ^-    the task is started and running-    -}-    | TaskStateStopped-    {- ^-    the task is stopped-    -}-    | TaskStatePaused-    {- ^-    the task is paused-    -}-    | AnotherTaskState Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TaskState where-    fromEnum TaskStateStarted = 0-    fromEnum TaskStateStopped = 1-    fromEnum TaskStatePaused = 2-    fromEnum (AnotherTaskState k) = k--    toEnum 0 = TaskStateStarted-    toEnum 1 = TaskStateStopped-    toEnum 2 = TaskStatePaused-    toEnum k = AnotherTaskState k--instance P.Ord TaskState where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_task_state_get_type" c_gst_task_state_get_type :: -    IO GType--instance BoxedEnum TaskState where-    boxedEnumType _ = c_gst_task_state_get_type---- Enum TagScope-{- |-GstTagScope specifies if a taglist applies to the complete-medium or only to one single stream.--}-data TagScope = -      TagScopeStream-    {- ^-    tags specific to this single stream-    -}-    | TagScopeGlobal-    {- ^-    global tags for the complete medium-    -}-    | AnotherTagScope Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TagScope where-    fromEnum TagScopeStream = 0-    fromEnum TagScopeGlobal = 1-    fromEnum (AnotherTagScope k) = k--    toEnum 0 = TagScopeStream-    toEnum 1 = TagScopeGlobal-    toEnum k = AnotherTagScope k--instance P.Ord TagScope where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_tag_scope_get_type" c_gst_tag_scope_get_type :: -    IO GType--instance BoxedEnum TagScope where-    boxedEnumType _ = c_gst_tag_scope_get_type---- Enum TagMergeMode-{- |-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 'GI.Gst.Interfaces.TagSetter.tagSetterMergeTags' \/ @/gst_tag_setter_add_tags()/@ or a-'GI.Gst.Enums.EventTypeTag'), 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.--\<table frame=\"all\" colsep=\"1\" rowsep=\"1\">-  \<title>merge mode\<\/title>-  \<tgroup cols=\'5\' align=\'left\'>-    \<thead>-      \<row>-        \<entry>merge mode\<\/entry>-        \<entry>A + B\<\/entry>-        \<entry>A + !B\<\/entry>-        \<entry>!A + B\<\/entry>-        \<entry>!A + !B\<\/entry>-      \<\/row>-    \<\/thead>-    \<tbody>-      \<row>-        \<entry>REPLACE_ALL\<\/entry>-        \<entry>B\<\/entry>-        \<entry>-\<\/entry>-        \<entry>B\<\/entry>-        \<entry>-\<\/entry>-      \<\/row>-      \<row>-        \<entry>REPLACE\<\/entry>-        \<entry>B\<\/entry>-        \<entry>A\<\/entry>-        \<entry>B\<\/entry>-        \<entry>-\<\/entry>-      \<\/row>-      \<row>-        \<entry>APPEND\<\/entry>-        \<entry>A, B\<\/entry>-        \<entry>A\<\/entry>-        \<entry>B\<\/entry>-        \<entry>-\<\/entry>-      \<\/row>-      \<row>-        \<entry>PREPEND\<\/entry>-        \<entry>B, A\<\/entry>-        \<entry>A\<\/entry>-        \<entry>B\<\/entry>-        \<entry>-\<\/entry>-      \<\/row>-      \<row>-        \<entry>KEEP\<\/entry>-        \<entry>A\<\/entry>-        \<entry>A\<\/entry>-        \<entry>B\<\/entry>-        \<entry>-\<\/entry>-      \<\/row>-      \<row>-        \<entry>KEEP_ALL\<\/entry>-        \<entry>A\<\/entry>-        \<entry>A\<\/entry>-        \<entry>-\<\/entry>-        \<entry>-\<\/entry>-      \<\/row>-    \<\/tbody>-  \<\/tgroup>-\<\/table>--}-data TagMergeMode = -      TagMergeModeUndefined-    {- ^-    undefined merge mode-    -}-    | TagMergeModeReplaceAll-    {- ^-    replace all tags (clear list and append)-    -}-    | TagMergeModeReplace-    {- ^-    replace tags-    -}-    | TagMergeModeAppend-    {- ^-    append tags-    -}-    | TagMergeModePrepend-    {- ^-    prepend tags-    -}-    | TagMergeModeKeep-    {- ^-    keep existing tags-    -}-    | TagMergeModeKeepAll-    {- ^-    keep all existing tags-    -}-    | TagMergeModeCount-    {- ^-    the number of merge modes-    -}-    | AnotherTagMergeMode Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TagMergeMode where-    fromEnum TagMergeModeUndefined = 0-    fromEnum TagMergeModeReplaceAll = 1-    fromEnum TagMergeModeReplace = 2-    fromEnum TagMergeModeAppend = 3-    fromEnum TagMergeModePrepend = 4-    fromEnum TagMergeModeKeep = 5-    fromEnum TagMergeModeKeepAll = 6-    fromEnum TagMergeModeCount = 7-    fromEnum (AnotherTagMergeMode k) = k--    toEnum 0 = TagMergeModeUndefined-    toEnum 1 = TagMergeModeReplaceAll-    toEnum 2 = TagMergeModeReplace-    toEnum 3 = TagMergeModeAppend-    toEnum 4 = TagMergeModePrepend-    toEnum 5 = TagMergeModeKeep-    toEnum 6 = TagMergeModeKeepAll-    toEnum 7 = TagMergeModeCount-    toEnum k = AnotherTagMergeMode k--instance P.Ord TagMergeMode where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_tag_merge_mode_get_type" c_gst_tag_merge_mode_get_type :: -    IO GType--instance BoxedEnum TagMergeMode where-    boxedEnumType _ = c_gst_tag_merge_mode_get_type---- Enum TagFlag-{- |-Extra tag flags used when registering tags.--}-data TagFlag = -      TagFlagUndefined-    {- ^-    undefined flag-    -}-    | TagFlagMeta-    {- ^-    tag is meta data-    -}-    | TagFlagEncoded-    {- ^-    tag is encoded-    -}-    | TagFlagDecoded-    {- ^-    tag is decoded-    -}-    | TagFlagCount-    {- ^-    number of tag flags-    -}-    | AnotherTagFlag Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TagFlag where-    fromEnum TagFlagUndefined = 0-    fromEnum TagFlagMeta = 1-    fromEnum TagFlagEncoded = 2-    fromEnum TagFlagDecoded = 3-    fromEnum TagFlagCount = 4-    fromEnum (AnotherTagFlag k) = k--    toEnum 0 = TagFlagUndefined-    toEnum 1 = TagFlagMeta-    toEnum 2 = TagFlagEncoded-    toEnum 3 = TagFlagDecoded-    toEnum 4 = TagFlagCount-    toEnum k = AnotherTagFlag k--instance P.Ord TagFlag where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_tag_flag_get_type" c_gst_tag_flag_get_type :: -    IO GType--instance BoxedEnum TagFlag where-    boxedEnumType _ = c_gst_tag_flag_get_type---- Enum StructureChangeType-{- |-The type of a 'GI.Gst.Flags.MessageTypeStructureChange'.--}-data StructureChangeType = -      StructureChangeTypeLink-    {- ^-    Pad linking is starting or done.-    -}-    | StructureChangeTypeUnlink-    {- ^-    Pad unlinking is starting or done.-    -}-    | AnotherStructureChangeType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum StructureChangeType where-    fromEnum StructureChangeTypeLink = 0-    fromEnum StructureChangeTypeUnlink = 1-    fromEnum (AnotherStructureChangeType k) = k--    toEnum 0 = StructureChangeTypeLink-    toEnum 1 = StructureChangeTypeUnlink-    toEnum k = AnotherStructureChangeType k--instance P.Ord StructureChangeType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_structure_change_type_get_type" c_gst_structure_change_type_get_type :: -    IO GType--instance BoxedEnum StructureChangeType where-    boxedEnumType _ = c_gst_structure_change_type_get_type---- Enum StreamStatusType-{- |-The type of a 'GI.Gst.Flags.MessageTypeStreamStatus'. The stream status messages inform the-application of new streaming threads and their status.--}-data StreamStatusType = -      StreamStatusTypeCreate-    {- ^-    A new thread need to be created.-    -}-    | StreamStatusTypeEnter-    {- ^-    a thread entered its loop function-    -}-    | StreamStatusTypeLeave-    {- ^-    a thread left its loop function-    -}-    | StreamStatusTypeDestroy-    {- ^-    a thread is destroyed-    -}-    | StreamStatusTypeStart-    {- ^-    a thread is started-    -}-    | StreamStatusTypePause-    {- ^-    a thread is paused-    -}-    | StreamStatusTypeStop-    {- ^-    a thread is stopped-    -}-    | AnotherStreamStatusType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum StreamStatusType where-    fromEnum StreamStatusTypeCreate = 0-    fromEnum StreamStatusTypeEnter = 1-    fromEnum StreamStatusTypeLeave = 2-    fromEnum StreamStatusTypeDestroy = 3-    fromEnum StreamStatusTypeStart = 8-    fromEnum StreamStatusTypePause = 9-    fromEnum StreamStatusTypeStop = 10-    fromEnum (AnotherStreamStatusType k) = k--    toEnum 0 = StreamStatusTypeCreate-    toEnum 1 = StreamStatusTypeEnter-    toEnum 2 = StreamStatusTypeLeave-    toEnum 3 = StreamStatusTypeDestroy-    toEnum 8 = StreamStatusTypeStart-    toEnum 9 = StreamStatusTypePause-    toEnum 10 = StreamStatusTypeStop-    toEnum k = AnotherStreamStatusType k--instance P.Ord StreamStatusType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_stream_status_type_get_type" c_gst_stream_status_type_get_type :: -    IO GType--instance BoxedEnum StreamStatusType where-    boxedEnumType _ = c_gst_stream_status_type_get_type---- Enum StreamError-{- |-Stream errors are for anything related to the stream being processed:-format errors, media type errors, ...-They\'re typically used by decoders, demuxers, converters, ...--}-data StreamError = -      StreamErrorFailed-    {- ^-    a general error which doesn\'t fit in any other-    category.  Make sure you add a custom message to the error call.-    -}-    | StreamErrorTooLazy-    {- ^-    do not use this except as a placeholder for-    deciding where to go while developing code.-    -}-    | StreamErrorNotImplemented-    {- ^-    use this when you do not want to implement-    this functionality yet.-    -}-    | StreamErrorTypeNotFound-    {- ^-    used when the element doesn\'t know the-    stream\'s type.-    -}-    | StreamErrorWrongType-    {- ^-    used when the element doesn\'t handle this type-    of stream.-    -}-    | StreamErrorCodecNotFound-    {- ^-    used when there\'s no codec to handle the-    stream\'s type.-    -}-    | StreamErrorDecode-    {- ^-    used when decoding fails.-    -}-    | StreamErrorEncode-    {- ^-    used when encoding fails.-    -}-    | StreamErrorDemux-    {- ^-    used when demuxing fails.-    -}-    | StreamErrorMux-    {- ^-    used when muxing fails.-    -}-    | StreamErrorFormat-    {- ^-    used when the stream is of the wrong format-    (for example, wrong caps).-    -}-    | StreamErrorDecrypt-    {- ^-    used when the stream is encrypted and can\'t be-    decrypted because this is not supported by the element.-    -}-    | StreamErrorDecryptNokey-    {- ^-    used when the stream is encrypted and-    can\'t be decrypted because no suitable key is available.-    -}-    | StreamErrorNumErrors-    {- ^-    the number of stream error types.-    -}-    | AnotherStreamError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum StreamError where-    fromEnum StreamErrorFailed = 1-    fromEnum StreamErrorTooLazy = 2-    fromEnum StreamErrorNotImplemented = 3-    fromEnum StreamErrorTypeNotFound = 4-    fromEnum StreamErrorWrongType = 5-    fromEnum StreamErrorCodecNotFound = 6-    fromEnum StreamErrorDecode = 7-    fromEnum StreamErrorEncode = 8-    fromEnum StreamErrorDemux = 9-    fromEnum StreamErrorMux = 10-    fromEnum StreamErrorFormat = 11-    fromEnum StreamErrorDecrypt = 12-    fromEnum StreamErrorDecryptNokey = 13-    fromEnum StreamErrorNumErrors = 14-    fromEnum (AnotherStreamError k) = k--    toEnum 1 = StreamErrorFailed-    toEnum 2 = StreamErrorTooLazy-    toEnum 3 = StreamErrorNotImplemented-    toEnum 4 = StreamErrorTypeNotFound-    toEnum 5 = StreamErrorWrongType-    toEnum 6 = StreamErrorCodecNotFound-    toEnum 7 = StreamErrorDecode-    toEnum 8 = StreamErrorEncode-    toEnum 9 = StreamErrorDemux-    toEnum 10 = StreamErrorMux-    toEnum 11 = StreamErrorFormat-    toEnum 12 = StreamErrorDecrypt-    toEnum 13 = StreamErrorDecryptNokey-    toEnum 14 = StreamErrorNumErrors-    toEnum k = AnotherStreamError k--instance P.Ord StreamError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass StreamError where-    gerrorClassDomain _ = "gst-stream-error-quark"---- | Catch exceptions of type `StreamError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchStreamError ::-    IO a ->-    (StreamError -> GErrorMessage -> IO a) ->-    IO a-catchStreamError = catchGErrorJustDomain---- | Handle exceptions of type `StreamError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleStreamError ::-    (StreamError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleStreamError = handleGErrorJustDomain--foreign import ccall "gst_stream_error_get_type" c_gst_stream_error_get_type :: -    IO GType--instance BoxedEnum StreamError where-    boxedEnumType _ = c_gst_stream_error_get_type---- Enum StateChangeReturn-{- |-The possible return values from a state change function such as-'GI.Gst.Objects.Element.elementSetState'. Only /@gSTSTATECHANGEFAILURE@/ is a real failure.--}-data StateChangeReturn = -      StateChangeReturnFailure-    {- ^-    the state change failed-    -}-    | StateChangeReturnSuccess-    {- ^-    the state change succeeded-    -}-    | StateChangeReturnAsync-    {- ^-    the state change will happen asynchronously-    -}-    | StateChangeReturnNoPreroll-    {- ^-    the state change succeeded but the element-                                  cannot produce data in 'GI.Gst.Enums.StatePaused'.-                                  This typically happens with live sources.-    -}-    | AnotherStateChangeReturn Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum StateChangeReturn where-    fromEnum StateChangeReturnFailure = 0-    fromEnum StateChangeReturnSuccess = 1-    fromEnum StateChangeReturnAsync = 2-    fromEnum StateChangeReturnNoPreroll = 3-    fromEnum (AnotherStateChangeReturn k) = k--    toEnum 0 = StateChangeReturnFailure-    toEnum 1 = StateChangeReturnSuccess-    toEnum 2 = StateChangeReturnAsync-    toEnum 3 = StateChangeReturnNoPreroll-    toEnum k = AnotherStateChangeReturn k--instance P.Ord StateChangeReturn where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_state_change_return_get_type" c_gst_state_change_return_get_type :: -    IO GType--instance BoxedEnum StateChangeReturn where-    boxedEnumType _ = c_gst_state_change_return_get_type---- Enum StateChange-{- |-These are the different state changes an element goes through.-'GI.Gst.Enums.StateNull' &rArr; 'GI.Gst.Enums.StatePlaying' is called an upwards state change-and 'GI.Gst.Enums.StatePlaying' &rArr; 'GI.Gst.Enums.StateNull' a downwards state change.--}-data StateChange = -      StateChangeNullToReady-    {- ^-    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).-    -}-    | StateChangeReadyToPaused-    {- ^-    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 'GI.Gst.Enums.StateChangeReturnAsync' and complete-        the state change when they have enough information. It is a requirement-        for sinks to return 'GI.Gst.Enums.StateChangeReturnAsync' and complete the state change-        when they receive the first buffer or 'GI.Gst.Enums.EventTypeEos' (preroll).-        Sinks also block the dataflow when in PAUSED.-      * A pipeline resets the running_time to 0.-      * Live sources return 'GI.Gst.Enums.StateChangeReturnNoPreroll' and don\'t generate data.-    -}-    | StateChangePausedToPlaying-    {- ^-    state change from PAUSED to PLAYING.-      * Most elements ignore this state change.-      * The pipeline selects a 'GI.Gst.Objects.Clock.Clock' and distributes this to all the children-        before setting them to PLAYING. This means that it is only allowed to-        synchronize on the 'GI.Gst.Objects.Clock.Clock' in the PLAYING state.-      * The pipeline uses the 'GI.Gst.Objects.Clock.Clock' 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 'GI.Gst.Flags.MessageTypeEos' in the PLAYING state. It is not allowed-        to post 'GI.Gst.Flags.MessageTypeEos' 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 'GI.Gst.Enums.StateChangeReturnSuccess'.-    -}-    | StateChangePlayingToPaused-    {- ^-    state change from PLAYING to PAUSED.-      * Most elements ignore this state change.-      * The pipeline calculates the running_time based on the last selected-        'GI.Gst.Objects.Clock.Clock' and the base_time. It stores this information to continue-        playback when going back to the PLAYING state.-      * Sinks unblock any 'GI.Gst.Objects.Clock.Clock' 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 'GI.Gst.Enums.EventTypeEos'.-      * Any queued 'GI.Gst.Flags.MessageTypeEos' items are removed since they will be reposted-        when going back to the PLAYING state. The EOS messages are queued in-        'GI.Gst.Objects.Bin.Bin' containers.-      * Live sources stop generating data and return 'GI.Gst.Enums.StateChangeReturnNoPreroll'.-    -}-    | StateChangePausedToReady-    {- ^-    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 'GI.Gst.Enums.FlowReturnFlushing'.-      * 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-    -}-    | StateChangeReadyToNull-    {- ^-    state change from READY to NULL.-      * Elements close devices-      * Elements reset any internal state.-    -}-    | StateChangeNullToNull-    {- ^-    state change from NULL to NULL. (Since 1.14)-    -}-    | StateChangeReadyToReady-    {- ^-    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)-    -}-    | StateChangePausedToPaused-    {- ^-    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)-    -}-    | StateChangePlayingToPlaying-    {- ^-    state change from PLAYING to PLAYING. (Since 1.14)-    -}-    | AnotherStateChange Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum StateChange where-    fromEnum StateChangeNullToReady = 10-    fromEnum StateChangeReadyToPaused = 19-    fromEnum StateChangePausedToPlaying = 28-    fromEnum StateChangePlayingToPaused = 35-    fromEnum StateChangePausedToReady = 26-    fromEnum StateChangeReadyToNull = 17-    fromEnum StateChangeNullToNull = 9-    fromEnum StateChangeReadyToReady = 18-    fromEnum StateChangePausedToPaused = 27-    fromEnum StateChangePlayingToPlaying = 36-    fromEnum (AnotherStateChange k) = k--    toEnum 10 = StateChangeNullToReady-    toEnum 19 = StateChangeReadyToPaused-    toEnum 28 = StateChangePausedToPlaying-    toEnum 35 = StateChangePlayingToPaused-    toEnum 26 = StateChangePausedToReady-    toEnum 17 = StateChangeReadyToNull-    toEnum 9 = StateChangeNullToNull-    toEnum 18 = StateChangeReadyToReady-    toEnum 27 = StateChangePausedToPaused-    toEnum 36 = StateChangePlayingToPlaying-    toEnum k = AnotherStateChange k--instance P.Ord StateChange where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_state_change_get_type" c_gst_state_change_get_type :: -    IO GType--instance BoxedEnum StateChange where-    boxedEnumType _ = c_gst_state_change_get_type---- Enum State-{- |-The possible states an element can be in. States can be changed using-'GI.Gst.Objects.Element.elementSetState' and checked using 'GI.Gst.Objects.Element.elementGetState'.--}-data State = -      StateVoidPending-    {- ^-    no pending state.-    -}-    | StateNull-    {- ^-    the NULL state or initial state of an element.-    -}-    | StateReady-    {- ^-    the element is ready to go to PAUSED.-    -}-    | StatePaused-    {- ^-    the element is PAUSED, it is ready to accept and-                             process data. Sink elements however only accept one-                             buffer and then block.-    -}-    | StatePlaying-    {- ^-    the element is PLAYING, the 'GI.Gst.Objects.Clock.Clock' is running and-                             the data is flowing.-    -}-    | AnotherState Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum State where-    fromEnum StateVoidPending = 0-    fromEnum StateNull = 1-    fromEnum StateReady = 2-    fromEnum StatePaused = 3-    fromEnum StatePlaying = 4-    fromEnum (AnotherState k) = k--    toEnum 0 = StateVoidPending-    toEnum 1 = StateNull-    toEnum 2 = StateReady-    toEnum 3 = StatePaused-    toEnum 4 = StatePlaying-    toEnum k = AnotherState k--instance P.Ord State where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_state_get_type" c_gst_state_get_type :: -    IO GType--instance BoxedEnum State where-    boxedEnumType _ = c_gst_state_get_type---- Enum SeekType-{- |-The different types of seek events. When constructing a seek event with-'GI.Gst.Structs.Event.eventNewSeek' or when doing gst_segment_do_seek ().--}-data SeekType = -      SeekTypeNone-    {- ^-    no change in position is required-    -}-    | SeekTypeSet-    {- ^-    absolute position is requested-    -}-    | SeekTypeEnd-    {- ^-    relative position to duration is requested-    -}-    | AnotherSeekType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum SeekType where-    fromEnum SeekTypeNone = 0-    fromEnum SeekTypeSet = 1-    fromEnum SeekTypeEnd = 2-    fromEnum (AnotherSeekType k) = k--    toEnum 0 = SeekTypeNone-    toEnum 1 = SeekTypeSet-    toEnum 2 = SeekTypeEnd-    toEnum k = AnotherSeekType k--instance P.Ord SeekType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_seek_type_get_type" c_gst_seek_type_get_type :: -    IO GType--instance BoxedEnum SeekType where-    boxedEnumType _ = c_gst_seek_type_get_type---- Enum SearchMode-{- |-The different search modes.--}-data SearchMode = -      SearchModeExact-    {- ^-    Only search for exact matches.-    -}-    | SearchModeBefore-    {- ^-    Search for an exact match or the element just before.-    -}-    | SearchModeAfter-    {- ^-    Search for an exact match or the element just after.-    -}-    | AnotherSearchMode Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum SearchMode where-    fromEnum SearchModeExact = 0-    fromEnum SearchModeBefore = 1-    fromEnum SearchModeAfter = 2-    fromEnum (AnotherSearchMode k) = k--    toEnum 0 = SearchModeExact-    toEnum 1 = SearchModeBefore-    toEnum 2 = SearchModeAfter-    toEnum k = AnotherSearchMode k--instance P.Ord SearchMode where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_search_mode_get_type" c_gst_search_mode_get_type :: -    IO GType--instance BoxedEnum SearchMode where-    boxedEnumType _ = c_gst_search_mode_get_type---- Enum ResourceError-{- |-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.--}-data ResourceError = -      ResourceErrorFailed-    {- ^-    a general error which doesn\'t fit in any other-    category.  Make sure you add a custom message to the error call.-    -}-    | ResourceErrorTooLazy-    {- ^-    do not use this except as a placeholder for-    deciding where to go while developing code.-    -}-    | ResourceErrorNotFound-    {- ^-    used when the resource could not be found.-    -}-    | ResourceErrorBusy-    {- ^-    used when resource is busy.-    -}-    | ResourceErrorOpenRead-    {- ^-    used when resource fails to open for reading.-    -}-    | ResourceErrorOpenWrite-    {- ^-    used when resource fails to open for writing.-    -}-    | ResourceErrorOpenReadWrite-    {- ^-    used when resource cannot be opened for-    both reading and writing, or either (but unspecified which).-    -}-    | ResourceErrorClose-    {- ^-    used when the resource can\'t be closed.-    -}-    | ResourceErrorRead-    {- ^-    used when the resource can\'t be read from.-    -}-    | ResourceErrorWrite-    {- ^-    used when the resource can\'t be written to.-    -}-    | ResourceErrorSeek-    {- ^-    used when a seek on the resource fails.-    -}-    | ResourceErrorSync-    {- ^-    used when a synchronize on the resource fails.-    -}-    | ResourceErrorSettings-    {- ^-    used when settings can\'t be manipulated on.-    -}-    | ResourceErrorNoSpaceLeft-    {- ^-    used when the resource has no space left.-    -}-    | ResourceErrorNotAuthorized-    {- ^-    used when the resource can\'t be opened-                                        due to missing authorization.-                                        (Since 1.2.4)-    -}-    | ResourceErrorNumErrors-    {- ^-    the number of resource error types.-    -}-    | AnotherResourceError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ResourceError where-    fromEnum ResourceErrorFailed = 1-    fromEnum ResourceErrorTooLazy = 2-    fromEnum ResourceErrorNotFound = 3-    fromEnum ResourceErrorBusy = 4-    fromEnum ResourceErrorOpenRead = 5-    fromEnum ResourceErrorOpenWrite = 6-    fromEnum ResourceErrorOpenReadWrite = 7-    fromEnum ResourceErrorClose = 8-    fromEnum ResourceErrorRead = 9-    fromEnum ResourceErrorWrite = 10-    fromEnum ResourceErrorSeek = 11-    fromEnum ResourceErrorSync = 12-    fromEnum ResourceErrorSettings = 13-    fromEnum ResourceErrorNoSpaceLeft = 14-    fromEnum ResourceErrorNotAuthorized = 15-    fromEnum ResourceErrorNumErrors = 16-    fromEnum (AnotherResourceError k) = k--    toEnum 1 = ResourceErrorFailed-    toEnum 2 = ResourceErrorTooLazy-    toEnum 3 = ResourceErrorNotFound-    toEnum 4 = ResourceErrorBusy-    toEnum 5 = ResourceErrorOpenRead-    toEnum 6 = ResourceErrorOpenWrite-    toEnum 7 = ResourceErrorOpenReadWrite-    toEnum 8 = ResourceErrorClose-    toEnum 9 = ResourceErrorRead-    toEnum 10 = ResourceErrorWrite-    toEnum 11 = ResourceErrorSeek-    toEnum 12 = ResourceErrorSync-    toEnum 13 = ResourceErrorSettings-    toEnum 14 = ResourceErrorNoSpaceLeft-    toEnum 15 = ResourceErrorNotAuthorized-    toEnum 16 = ResourceErrorNumErrors-    toEnum k = AnotherResourceError k--instance P.Ord ResourceError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass ResourceError where-    gerrorClassDomain _ = "gst-resource-error-quark"---- | Catch exceptions of type `ResourceError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchResourceError ::-    IO a ->-    (ResourceError -> GErrorMessage -> IO a) ->-    IO a-catchResourceError = catchGErrorJustDomain---- | Handle exceptions of type `ResourceError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleResourceError ::-    (ResourceError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleResourceError = handleGErrorJustDomain--foreign import ccall "gst_resource_error_get_type" c_gst_resource_error_get_type :: -    IO GType--instance BoxedEnum ResourceError where-    boxedEnumType _ = c_gst_resource_error_get_type---- Enum Rank-{- |-Element priority ranks. Defines the order in which the autoplugger (or-similar rank-picking mechanisms, such as e.g. 'GI.Gst.Objects.Element.elementMakeFromUri')-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-'GI.Gst.Objects.PluginFeature.PluginFeature'. Any value is valid, including values bigger than-/@gSTRANKPRIMARY@/.--}-data Rank = -      RankNone-    {- ^-    will be chosen last or not at all-    -}-    | RankMarginal-    {- ^-    unlikely to be chosen-    -}-    | RankSecondary-    {- ^-    likely to be chosen-    -}-    | RankPrimary-    {- ^-    will be chosen first-    -}-    | AnotherRank Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum Rank where-    fromEnum RankNone = 0-    fromEnum RankMarginal = 64-    fromEnum RankSecondary = 128-    fromEnum RankPrimary = 256-    fromEnum (AnotherRank k) = k--    toEnum 0 = RankNone-    toEnum 64 = RankMarginal-    toEnum 128 = RankSecondary-    toEnum 256 = RankPrimary-    toEnum k = AnotherRank k--instance P.Ord Rank where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_rank_get_type" c_gst_rank_get_type :: -    IO GType--instance BoxedEnum Rank where-    boxedEnumType _ = c_gst_rank_get_type---- Enum QueryType-{- |-Standard predefined Query types--}-data QueryType = -      QueryTypeUnknown-    {- ^-    unknown query type-    -}-    | QueryTypePosition-    {- ^-    current position in stream-    -}-    | QueryTypeDuration-    {- ^-    total duration of the stream-    -}-    | QueryTypeLatency-    {- ^-    latency of stream-    -}-    | QueryTypeJitter-    {- ^-    current jitter of stream-    -}-    | QueryTypeRate-    {- ^-    current rate of the stream-    -}-    | QueryTypeSeeking-    {- ^-    seeking capabilities-    -}-    | QueryTypeSegment-    {- ^-    segment start\/stop positions-    -}-    | QueryTypeConvert-    {- ^-    convert values between formats-    -}-    | QueryTypeFormats-    {- ^-    query supported formats for convert-    -}-    | QueryTypeBuffering-    {- ^-    query available media for efficient seeking.-    -}-    | QueryTypeCustom-    {- ^-    a custom application or element defined query.-    -}-    | QueryTypeUri-    {- ^-    query the URI of the source or sink.-    -}-    | QueryTypeAllocation-    {- ^-    the buffer allocation properties-    -}-    | QueryTypeScheduling-    {- ^-    the scheduling properties-    -}-    | QueryTypeAcceptCaps-    {- ^-    the accept caps query-    -}-    | QueryTypeCaps-    {- ^-    the caps query-    -}-    | QueryTypeDrain-    {- ^-    wait till all serialized data is consumed downstream-    -}-    | QueryTypeContext-    {- ^-    query the pipeline-local context from-        downstream or upstream (since 1.2)-    -}-    | QueryTypeBitrate-    {- ^-    the bitrate query (since 1.16)-    -}-    | AnotherQueryType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum QueryType where-    fromEnum QueryTypeUnknown = 0-    fromEnum QueryTypePosition = 2563-    fromEnum QueryTypeDuration = 5123-    fromEnum QueryTypeLatency = 7683-    fromEnum QueryTypeJitter = 10243-    fromEnum QueryTypeRate = 12803-    fromEnum QueryTypeSeeking = 15363-    fromEnum QueryTypeSegment = 17923-    fromEnum QueryTypeConvert = 20483-    fromEnum QueryTypeFormats = 23043-    fromEnum QueryTypeBuffering = 28163-    fromEnum QueryTypeCustom = 30723-    fromEnum QueryTypeUri = 33283-    fromEnum QueryTypeAllocation = 35846-    fromEnum QueryTypeScheduling = 38401-    fromEnum QueryTypeAcceptCaps = 40963-    fromEnum QueryTypeCaps = 43523-    fromEnum QueryTypeDrain = 46086-    fromEnum QueryTypeContext = 48643-    fromEnum QueryTypeBitrate = 51202-    fromEnum (AnotherQueryType k) = k--    toEnum 0 = QueryTypeUnknown-    toEnum 2563 = QueryTypePosition-    toEnum 5123 = QueryTypeDuration-    toEnum 7683 = QueryTypeLatency-    toEnum 10243 = QueryTypeJitter-    toEnum 12803 = QueryTypeRate-    toEnum 15363 = QueryTypeSeeking-    toEnum 17923 = QueryTypeSegment-    toEnum 20483 = QueryTypeConvert-    toEnum 23043 = QueryTypeFormats-    toEnum 28163 = QueryTypeBuffering-    toEnum 30723 = QueryTypeCustom-    toEnum 33283 = QueryTypeUri-    toEnum 35846 = QueryTypeAllocation-    toEnum 38401 = QueryTypeScheduling-    toEnum 40963 = QueryTypeAcceptCaps-    toEnum 43523 = QueryTypeCaps-    toEnum 46086 = QueryTypeDrain-    toEnum 48643 = QueryTypeContext-    toEnum 51202 = QueryTypeBitrate-    toEnum k = AnotherQueryType k--instance P.Ord QueryType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_query_type_get_type" c_gst_query_type_get_type :: -    IO GType--instance BoxedEnum QueryType where-    boxedEnumType _ = c_gst_query_type_get_type---- Enum QOSType-{- |-The different types of QoS events that can be given to the-'GI.Gst.Structs.Event.eventNewQos' method.--}-data QOSType = -      QOSTypeOverflow-    {- ^-    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.-    -}-    | QOSTypeUnderflow-    {- ^-    The QoS event type that is produced when upstream-       elements are producing data too slowly and need to speed up their-       production rate.-    -}-    | QOSTypeThrottle-    {- ^-    The QoS event type that is produced when the-       application enabled throttling to limit the data rate.-    -}-    | AnotherQOSType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum QOSType where-    fromEnum QOSTypeOverflow = 0-    fromEnum QOSTypeUnderflow = 1-    fromEnum QOSTypeThrottle = 2-    fromEnum (AnotherQOSType k) = k--    toEnum 0 = QOSTypeOverflow-    toEnum 1 = QOSTypeUnderflow-    toEnum 2 = QOSTypeThrottle-    toEnum k = AnotherQOSType k--instance P.Ord QOSType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_qos_type_get_type" c_gst_qos_type_get_type :: -    IO GType--instance BoxedEnum QOSType where-    boxedEnumType _ = c_gst_qos_type_get_type---- Enum PromiseResult-{- |-The result of a 'GI.Gst.Structs.Promise.Promise'--/Since: 1.14/--}-data PromiseResult = -      PromiseResultPending-    {- ^-    Initial state. Waiting for transition to any-    	other state.-    -}-    | PromiseResultInterrupted-    {- ^-    Interrupted by the consumer as it doesn\'t-    	want the value anymore.-    -}-    | PromiseResultReplied-    {- ^-    A producer marked a reply-    -}-    | PromiseResultExpired-    {- ^-    The promise expired (the carrying object-    	lost all refs) and the promise will never be fulfilled.-    -}-    | AnotherPromiseResult Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PromiseResult where-    fromEnum PromiseResultPending = 0-    fromEnum PromiseResultInterrupted = 1-    fromEnum PromiseResultReplied = 2-    fromEnum PromiseResultExpired = 3-    fromEnum (AnotherPromiseResult k) = k--    toEnum 0 = PromiseResultPending-    toEnum 1 = PromiseResultInterrupted-    toEnum 2 = PromiseResultReplied-    toEnum 3 = PromiseResultExpired-    toEnum k = AnotherPromiseResult k--instance P.Ord PromiseResult where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_promise_result_get_type" c_gst_promise_result_get_type :: -    IO GType--instance BoxedEnum PromiseResult where-    boxedEnumType _ = c_gst_promise_result_get_type---- Enum ProgressType-{- |-The type of a 'GI.Gst.Flags.MessageTypeProgress'. The progress messages inform the-application of the status of asynchronous tasks.--}-data ProgressType = -      ProgressTypeStart-    {- ^-    A new task started.-    -}-    | ProgressTypeContinue-    {- ^-    A task completed and a new one continues.-    -}-    | ProgressTypeComplete-    {- ^-    A task completed.-    -}-    | ProgressTypeCanceled-    {- ^-    A task was canceled.-    -}-    | ProgressTypeError-    {- ^-    A task caused an error. An error message is also-             posted on the bus.-    -}-    | AnotherProgressType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ProgressType where-    fromEnum ProgressTypeStart = 0-    fromEnum ProgressTypeContinue = 1-    fromEnum ProgressTypeComplete = 2-    fromEnum ProgressTypeCanceled = 3-    fromEnum ProgressTypeError = 4-    fromEnum (AnotherProgressType k) = k--    toEnum 0 = ProgressTypeStart-    toEnum 1 = ProgressTypeContinue-    toEnum 2 = ProgressTypeComplete-    toEnum 3 = ProgressTypeCanceled-    toEnum 4 = ProgressTypeError-    toEnum k = AnotherProgressType k--instance P.Ord ProgressType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_progress_type_get_type" c_gst_progress_type_get_type :: -    IO GType--instance BoxedEnum ProgressType where-    boxedEnumType _ = c_gst_progress_type_get_type---- Enum PluginError-{- |-The plugin loading errors--}-data PluginError = -      PluginErrorModule-    {- ^-    The plugin could not be loaded-    -}-    | PluginErrorDependencies-    {- ^-    The plugin has unresolved dependencies-    -}-    | PluginErrorNameMismatch-    {- ^-    The plugin has already be loaded from a different file-    -}-    | AnotherPluginError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PluginError where-    fromEnum PluginErrorModule = 0-    fromEnum PluginErrorDependencies = 1-    fromEnum PluginErrorNameMismatch = 2-    fromEnum (AnotherPluginError k) = k--    toEnum 0 = PluginErrorModule-    toEnum 1 = PluginErrorDependencies-    toEnum 2 = PluginErrorNameMismatch-    toEnum k = AnotherPluginError k--instance P.Ord PluginError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass PluginError where-    gerrorClassDomain _ = "gst_plugin_error"---- | Catch exceptions of type `PluginError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchPluginError ::-    IO a ->-    (PluginError -> GErrorMessage -> IO a) ->-    IO a-catchPluginError = catchGErrorJustDomain---- | Handle exceptions of type `PluginError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handlePluginError ::-    (PluginError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handlePluginError = handleGErrorJustDomain--foreign import ccall "gst_plugin_error_get_type" c_gst_plugin_error_get_type :: -    IO GType--instance BoxedEnum PluginError where-    boxedEnumType _ = c_gst_plugin_error_get_type---- Enum ParseError-{- |-The different parsing errors that can occur.--}-data ParseError = -      ParseErrorSyntax-    {- ^-    A syntax error occurred.-    -}-    | ParseErrorNoSuchElement-    {- ^-    The description contained an unknown element-    -}-    | ParseErrorNoSuchProperty-    {- ^-    An element did not have a specified property-    -}-    | ParseErrorLink-    {- ^-    There was an error linking two pads.-    -}-    | ParseErrorCouldNotSetProperty-    {- ^-    There was an error setting a property-    -}-    | ParseErrorEmptyBin-    {- ^-    An empty bin was specified.-    -}-    | ParseErrorEmpty-    {- ^-    An empty description was specified-    -}-    | ParseErrorDelayedLink-    {- ^-    A delayed link did not get resolved.-    -}-    | AnotherParseError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ParseError where-    fromEnum ParseErrorSyntax = 0-    fromEnum ParseErrorNoSuchElement = 1-    fromEnum ParseErrorNoSuchProperty = 2-    fromEnum ParseErrorLink = 3-    fromEnum ParseErrorCouldNotSetProperty = 4-    fromEnum ParseErrorEmptyBin = 5-    fromEnum ParseErrorEmpty = 6-    fromEnum ParseErrorDelayedLink = 7-    fromEnum (AnotherParseError k) = k--    toEnum 0 = ParseErrorSyntax-    toEnum 1 = ParseErrorNoSuchElement-    toEnum 2 = ParseErrorNoSuchProperty-    toEnum 3 = ParseErrorLink-    toEnum 4 = ParseErrorCouldNotSetProperty-    toEnum 5 = ParseErrorEmptyBin-    toEnum 6 = ParseErrorEmpty-    toEnum 7 = ParseErrorDelayedLink-    toEnum k = AnotherParseError k--instance P.Ord ParseError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass ParseError where-    gerrorClassDomain _ = "gst_parse_error"---- | Catch exceptions of type `ParseError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchParseError ::-    IO a ->-    (ParseError -> GErrorMessage -> IO a) ->-    IO a-catchParseError = catchGErrorJustDomain---- | Handle exceptions of type `ParseError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleParseError ::-    (ParseError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleParseError = handleGErrorJustDomain--foreign import ccall "gst_parse_error_get_type" c_gst_parse_error_get_type :: -    IO GType--instance BoxedEnum ParseError where-    boxedEnumType _ = c_gst_parse_error_get_type---- Enum PadProbeReturn-{- |-Different return values for the 'GI.Gst.Callbacks.PadProbeCallback'.--}-data PadProbeReturn = -      PadProbeReturnDrop-    {- ^-    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 'GI.Gst.Enums.FlowReturnOk' or 'True' is returned to the-           caller.-    -}-    | PadProbeReturnOk-    {- ^-    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).-    -}-    | PadProbeReturnRemove-    {- ^-    remove this probe.-    -}-    | PadProbeReturnPass-    {- ^-    pass the data item in the block probe and block on the-           next item.-    -}-    | PadProbeReturnHandled-    {- ^-    Data has been handled in the probe and will not be-           forwarded further. For events and buffers this is the same behaviour as-           'GI.Gst.Enums.PadProbeReturnDrop' (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 'GI.Gst.Enums.FlowReturn' value by using the-           @/GST_PAD_PROBE_INFO_FLOW_RETURN/@() accessor.-           Note that the resulting query must contain valid entries.-           Since: 1.6-    -}-    | AnotherPadProbeReturn Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PadProbeReturn where-    fromEnum PadProbeReturnDrop = 0-    fromEnum PadProbeReturnOk = 1-    fromEnum PadProbeReturnRemove = 2-    fromEnum PadProbeReturnPass = 3-    fromEnum PadProbeReturnHandled = 4-    fromEnum (AnotherPadProbeReturn k) = k--    toEnum 0 = PadProbeReturnDrop-    toEnum 1 = PadProbeReturnOk-    toEnum 2 = PadProbeReturnRemove-    toEnum 3 = PadProbeReturnPass-    toEnum 4 = PadProbeReturnHandled-    toEnum k = AnotherPadProbeReturn k--instance P.Ord PadProbeReturn where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pad_probe_return_get_type" c_gst_pad_probe_return_get_type :: -    IO GType--instance BoxedEnum PadProbeReturn where-    boxedEnumType _ = c_gst_pad_probe_return_get_type---- Enum PadPresence-{- |-Indicates when this pad will become available.--}-data PadPresence = -      PadPresenceAlways-    {- ^-    the pad is always available-    -}-    | PadPresenceSometimes-    {- ^-    the pad will become available depending on the media stream-    -}-    | PadPresenceRequest-    {- ^-    the pad is only available on request with-     'GI.Gst.Objects.Element.elementRequestPad'.-    -}-    | AnotherPadPresence Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PadPresence where-    fromEnum PadPresenceAlways = 0-    fromEnum PadPresenceSometimes = 1-    fromEnum PadPresenceRequest = 2-    fromEnum (AnotherPadPresence k) = k--    toEnum 0 = PadPresenceAlways-    toEnum 1 = PadPresenceSometimes-    toEnum 2 = PadPresenceRequest-    toEnum k = AnotherPadPresence k--instance P.Ord PadPresence where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pad_presence_get_type" c_gst_pad_presence_get_type :: -    IO GType--instance BoxedEnum PadPresence where-    boxedEnumType _ = c_gst_pad_presence_get_type---- Enum PadMode-{- |-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.--}-data PadMode = -      PadModeNone-    {- ^-    Pad will not handle dataflow-    -}-    | PadModePush-    {- ^-    Pad handles dataflow in downstream push mode-    -}-    | PadModePull-    {- ^-    Pad handles dataflow in upstream pull mode-    -}-    | AnotherPadMode Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PadMode where-    fromEnum PadModeNone = 0-    fromEnum PadModePush = 1-    fromEnum PadModePull = 2-    fromEnum (AnotherPadMode k) = k--    toEnum 0 = PadModeNone-    toEnum 1 = PadModePush-    toEnum 2 = PadModePull-    toEnum k = AnotherPadMode k--instance P.Ord PadMode where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pad_mode_get_type" c_gst_pad_mode_get_type :: -    IO GType--instance BoxedEnum PadMode where-    boxedEnumType _ = c_gst_pad_mode_get_type---- Enum PadLinkReturn-{- |-Result values from gst_pad_link and friends.--}-data PadLinkReturn = -      PadLinkReturnOk-    {- ^-    link succeeded-    -}-    | PadLinkReturnWrongHierarchy-    {- ^-    pads have no common grandparent-    -}-    | PadLinkReturnWasLinked-    {- ^-    pad was already linked-    -}-    | PadLinkReturnWrongDirection-    {- ^-    pads have wrong direction-    -}-    | PadLinkReturnNoformat-    {- ^-    pads do not have common format-    -}-    | PadLinkReturnNosched-    {- ^-    pads cannot cooperate in scheduling-    -}-    | PadLinkReturnRefused-    {- ^-    refused for some reason-    -}-    | AnotherPadLinkReturn Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PadLinkReturn where-    fromEnum PadLinkReturnOk = 0-    fromEnum PadLinkReturnWrongHierarchy = -1-    fromEnum PadLinkReturnWasLinked = -2-    fromEnum PadLinkReturnWrongDirection = -3-    fromEnum PadLinkReturnNoformat = -4-    fromEnum PadLinkReturnNosched = -5-    fromEnum PadLinkReturnRefused = -6-    fromEnum (AnotherPadLinkReturn k) = k--    toEnum 0 = PadLinkReturnOk-    toEnum -1 = PadLinkReturnWrongHierarchy-    toEnum -2 = PadLinkReturnWasLinked-    toEnum -3 = PadLinkReturnWrongDirection-    toEnum -4 = PadLinkReturnNoformat-    toEnum -5 = PadLinkReturnNosched-    toEnum -6 = PadLinkReturnRefused-    toEnum k = AnotherPadLinkReturn k--instance P.Ord PadLinkReturn where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pad_link_return_get_type" c_gst_pad_link_return_get_type :: -    IO GType--instance BoxedEnum PadLinkReturn where-    boxedEnumType _ = c_gst_pad_link_return_get_type---- Enum PadDirection-{- |-The direction of a pad.--}-data PadDirection = -      PadDirectionUnknown-    {- ^-    direction is unknown.-    -}-    | PadDirectionSrc-    {- ^-    the pad is a source pad.-    -}-    | PadDirectionSink-    {- ^-    the pad is a sink pad.-    -}-    | AnotherPadDirection Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PadDirection where-    fromEnum PadDirectionUnknown = 0-    fromEnum PadDirectionSrc = 1-    fromEnum PadDirectionSink = 2-    fromEnum (AnotherPadDirection k) = k--    toEnum 0 = PadDirectionUnknown-    toEnum 1 = PadDirectionSrc-    toEnum 2 = PadDirectionSink-    toEnum k = AnotherPadDirection k--instance P.Ord PadDirection where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pad_direction_get_type" c_gst_pad_direction_get_type :: -    IO GType--instance BoxedEnum PadDirection where-    boxedEnumType _ = c_gst_pad_direction_get_type---- Enum LibraryError-{- |-Library errors are for errors from the library being used by elements-(initializing, finalizing, settings, ...)--}-data LibraryError = -      LibraryErrorFailed-    {- ^-    a general error which doesn\'t fit in any other-    category.  Make sure you add a custom message to the error call.-    -}-    | LibraryErrorTooLazy-    {- ^-    do not use this except as a placeholder for-    deciding where to go while developing code.-    -}-    | LibraryErrorInit-    {- ^-    used when the library could not be opened.-    -}-    | LibraryErrorShutdown-    {- ^-    used when the library could not be closed.-    -}-    | LibraryErrorSettings-    {- ^-    used when the library doesn\'t accept settings.-    -}-    | LibraryErrorEncode-    {- ^-    used when the library generated an encoding error.-    -}-    | LibraryErrorNumErrors-    {- ^-    the number of library error types.-    -}-    | AnotherLibraryError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum LibraryError where-    fromEnum LibraryErrorFailed = 1-    fromEnum LibraryErrorTooLazy = 2-    fromEnum LibraryErrorInit = 3-    fromEnum LibraryErrorShutdown = 4-    fromEnum LibraryErrorSettings = 5-    fromEnum LibraryErrorEncode = 6-    fromEnum LibraryErrorNumErrors = 7-    fromEnum (AnotherLibraryError k) = k--    toEnum 1 = LibraryErrorFailed-    toEnum 2 = LibraryErrorTooLazy-    toEnum 3 = LibraryErrorInit-    toEnum 4 = LibraryErrorShutdown-    toEnum 5 = LibraryErrorSettings-    toEnum 6 = LibraryErrorEncode-    toEnum 7 = LibraryErrorNumErrors-    toEnum k = AnotherLibraryError k--instance P.Ord LibraryError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass LibraryError where-    gerrorClassDomain _ = "gst-library-error-quark"---- | Catch exceptions of type `LibraryError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchLibraryError ::-    IO a ->-    (LibraryError -> GErrorMessage -> IO a) ->-    IO a-catchLibraryError = catchGErrorJustDomain---- | Handle exceptions of type `LibraryError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleLibraryError ::-    (LibraryError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleLibraryError = handleGErrorJustDomain--foreign import ccall "gst_library_error_get_type" c_gst_library_error_get_type :: -    IO GType--instance BoxedEnum LibraryError where-    boxedEnumType _ = c_gst_library_error_get_type---- Enum IteratorResult-{- |-The result of 'GI.Gst.Structs.Iterator.iteratorNext'.--}-data IteratorResult = -      IteratorResultDone-    {- ^-    No more items in the iterator-    -}-    | IteratorResultOk-    {- ^-    An item was retrieved-    -}-    | IteratorResultResync-    {- ^-    Datastructure changed while iterating-    -}-    | IteratorResultError-    {- ^-    An error happened-    -}-    | AnotherIteratorResult Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum IteratorResult where-    fromEnum IteratorResultDone = 0-    fromEnum IteratorResultOk = 1-    fromEnum IteratorResultResync = 2-    fromEnum IteratorResultError = 3-    fromEnum (AnotherIteratorResult k) = k--    toEnum 0 = IteratorResultDone-    toEnum 1 = IteratorResultOk-    toEnum 2 = IteratorResultResync-    toEnum 3 = IteratorResultError-    toEnum k = AnotherIteratorResult k--instance P.Ord IteratorResult where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_iterator_result_get_type" c_gst_iterator_result_get_type :: -    IO GType--instance BoxedEnum IteratorResult where-    boxedEnumType _ = c_gst_iterator_result_get_type---- Enum IteratorItem-{- |-The result of a 'GI.Gst.Callbacks.IteratorItemFunction'.--}-data IteratorItem = -      IteratorItemSkip-    {- ^-    Skip this item-    -}-    | IteratorItemPass-    {- ^-    Return item-    -}-    | IteratorItemEnd-    {- ^-    Stop after this item.-    -}-    | AnotherIteratorItem Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum IteratorItem where-    fromEnum IteratorItemSkip = 0-    fromEnum IteratorItemPass = 1-    fromEnum IteratorItemEnd = 2-    fromEnum (AnotherIteratorItem k) = k--    toEnum 0 = IteratorItemSkip-    toEnum 1 = IteratorItemPass-    toEnum 2 = IteratorItemEnd-    toEnum k = AnotherIteratorItem k--instance P.Ord IteratorItem where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_iterator_item_get_type" c_gst_iterator_item_get_type :: -    IO GType--instance BoxedEnum IteratorItem where-    boxedEnumType _ = c_gst_iterator_item_get_type---- Enum Format-{- |-Standard predefined formats--}-data Format = -      FormatUndefined-    {- ^-    undefined format-    -}-    | FormatDefault-    {- ^-    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 /@gSTFORMATTIME@/ if you don\'t have a good-       reason to query for samples\/frames)-    -}-    | FormatBytes-    {- ^-    bytes-    -}-    | FormatTime-    {- ^-    time in nanoseconds-    -}-    | FormatBuffers-    {- ^-    buffers (few, if any, elements implement this as of-        May 2009)-    -}-    | FormatPercent-    {- ^-    percentage of stream (few, if any, elements implement-        this as of May 2009)-    -}-    | AnotherFormat Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum Format where-    fromEnum FormatUndefined = 0-    fromEnum FormatDefault = 1-    fromEnum FormatBytes = 2-    fromEnum FormatTime = 3-    fromEnum FormatBuffers = 4-    fromEnum FormatPercent = 5-    fromEnum (AnotherFormat k) = k--    toEnum 0 = FormatUndefined-    toEnum 1 = FormatDefault-    toEnum 2 = FormatBytes-    toEnum 3 = FormatTime-    toEnum 4 = FormatBuffers-    toEnum 5 = FormatPercent-    toEnum k = AnotherFormat k--instance P.Ord Format where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_format_get_type" c_gst_format_get_type :: -    IO GType--instance BoxedEnum Format where-    boxedEnumType _ = c_gst_format_get_type---- Enum FlowReturn-{- |-The result of passing data to a pad.--Note that the custom return values should not be exposed outside of the-element scope.--}-data FlowReturn = -      FlowReturnCustomSuccess2-    {- ^-    Pre-defined custom success code.-    -}-    | FlowReturnCustomSuccess1-    {- ^-    Pre-defined custom success code (define your-                                  custom success code to this to avoid compiler-                                  warnings).-    -}-    | FlowReturnCustomSuccess-    {- ^-    Elements can use values starting from-                                  this (and higher) to define custom success-                                  codes.-    -}-    | FlowReturnOk-    {- ^-    Data passing was ok.-    -}-    | FlowReturnNotLinked-    {- ^-    Pad is not linked.-    -}-    | FlowReturnFlushing-    {- ^-    Pad is flushing.-    -}-    | FlowReturnEos-    {- ^-    Pad is EOS.-    -}-    | FlowReturnNotNegotiated-    {- ^-    Pad is not negotiated.-    -}-    | FlowReturnError-    {- ^-    Some (fatal) error occurred. Element generating-                                  this error should post an error message with more-                                  details.-    -}-    | FlowReturnNotSupported-    {- ^-    This operation is not supported.-    -}-    | FlowReturnCustomError-    {- ^-    Elements can use values starting from-                                  this (and lower) to define custom error codes.-    -}-    | FlowReturnCustomError1-    {- ^-    Pre-defined custom error code (define your-                                  custom error code to this to avoid compiler-                                  warnings).-    -}-    | FlowReturnCustomError2-    {- ^-    Pre-defined custom error code.-    -}-    | AnotherFlowReturn Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum FlowReturn where-    fromEnum FlowReturnCustomSuccess2 = 102-    fromEnum FlowReturnCustomSuccess1 = 101-    fromEnum FlowReturnCustomSuccess = 100-    fromEnum FlowReturnOk = 0-    fromEnum FlowReturnNotLinked = -1-    fromEnum FlowReturnFlushing = -2-    fromEnum FlowReturnEos = -3-    fromEnum FlowReturnNotNegotiated = -4-    fromEnum FlowReturnError = -5-    fromEnum FlowReturnNotSupported = -6-    fromEnum FlowReturnCustomError = -100-    fromEnum FlowReturnCustomError1 = -101-    fromEnum FlowReturnCustomError2 = -102-    fromEnum (AnotherFlowReturn k) = k--    toEnum 102 = FlowReturnCustomSuccess2-    toEnum 101 = FlowReturnCustomSuccess1-    toEnum 100 = FlowReturnCustomSuccess-    toEnum 0 = FlowReturnOk-    toEnum -1 = FlowReturnNotLinked-    toEnum -2 = FlowReturnFlushing-    toEnum -3 = FlowReturnEos-    toEnum -4 = FlowReturnNotNegotiated-    toEnum -5 = FlowReturnError-    toEnum -6 = FlowReturnNotSupported-    toEnum -100 = FlowReturnCustomError-    toEnum -101 = FlowReturnCustomError1-    toEnum -102 = FlowReturnCustomError2-    toEnum k = AnotherFlowReturn k--instance P.Ord FlowReturn where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_flow_return_get_type" c_gst_flow_return_get_type :: -    IO GType--instance BoxedEnum FlowReturn where-    boxedEnumType _ = c_gst_flow_return_get_type---- Enum EventType-{- |-'GI.Gst.Enums.EventType' 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-'GI.Gst.Structs.Structure.Structure'.-Specific custom events are distinguished by the name of the structure.--}-data EventType = -      EventTypeUnknown-    {- ^-    unknown event.-    -}-    | EventTypeFlushStart-    {- ^-    Start a flush operation. This event clears all data-                    from the pipeline and unblock all streaming threads.-    -}-    | EventTypeFlushStop-    {- ^-    Stop a flush operation. This event resets the-                    running-time of the pipeline.-    -}-    | EventTypeStreamStart-    {- ^-    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.-    -}-    | EventTypeCaps-    {- ^-    'GI.Gst.Structs.Caps.Caps' event. Notify the pad of a new media type.-    -}-    | EventTypeSegment-    {- ^-    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.-    -}-    | EventTypeStreamCollection-    {- ^-    A new 'GI.Gst.Objects.StreamCollection.StreamCollection' is available (Since 1.10)-    -}-    | EventTypeTag-    {- ^-    A new set of metadata tags has been found in the stream.-    -}-    | EventTypeBuffersize-    {- ^-    Notification of buffering requirements. Currently not-                    used yet.-    -}-    | EventTypeSinkMessage-    {- ^-    An event that sinks turn into a message. Used to-                             send messages that should be emitted in sync with-                             rendering.-    -}-    | EventTypeStreamGroupDone-    {- ^-    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)-    -}-    | EventTypeEos-    {- ^-    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.-    -}-    | EventTypeToc-    {- ^-    An event which indicates that a new table of contents (TOC)-                    was found or updated.-    -}-    | EventTypeProtection-    {- ^-    An event which indicates that new or updated-                    encryption information has been found in the stream.-    -}-    | EventTypeSegmentDone-    {- ^-    Marks the end of a segment playback.-    -}-    | EventTypeGap-    {- ^-    Marks a gap in the datastream.-    -}-    | EventTypeQos-    {- ^-    A quality message. Used to indicate to upstream elements-                    that the downstream elements should adjust their processing-                    rate.-    -}-    | EventTypeSeek-    {- ^-    A request for a new playback position and rate.-    -}-    | EventTypeNavigation-    {- ^-    Navigation events are usually used for communicating-                           user requests, such as mouse or keyboard movements,-                           to upstream elements.-    -}-    | EventTypeLatency-    {- ^-    Notification of new latency adjustment. Sinks will use-                        the latency information to adjust their synchronisation.-    -}-    | EventTypeStep-    {- ^-    A request for stepping through the media. Sinks will usually-                     execute the step operation.-    -}-    | EventTypeReconfigure-    {- ^-    A request for upstream renegotiating caps and reconfiguring.-    -}-    | EventTypeTocSelect-    {- ^-    A request for a new playback position based on TOC-                           entry\'s UID.-    -}-    | EventTypeSelectStreams-    {- ^-    A request to select one or more streams (Since 1.10)-    -}-    | EventTypeCustomUpstream-    {- ^-    Upstream custom event-    -}-    | EventTypeCustomDownstream-    {- ^-    Downstream custom event that travels in the-                           data flow.-    -}-    | EventTypeCustomDownstreamOob-    {- ^-    Custom out-of-band downstream event.-    -}-    | EventTypeCustomDownstreamSticky-    {- ^-    Custom sticky downstream event.-    -}-    | EventTypeCustomBoth-    {- ^-    Custom upstream or downstream event.-                            In-band when travelling downstream.-    -}-    | EventTypeCustomBothOob-    {- ^-    Custom upstream or downstream out-of-band event.-    -}-    | AnotherEventType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum EventType where-    fromEnum EventTypeUnknown = 0-    fromEnum EventTypeFlushStart = 2563-    fromEnum EventTypeFlushStop = 5127-    fromEnum EventTypeStreamStart = 10254-    fromEnum EventTypeCaps = 12814-    fromEnum EventTypeSegment = 17934-    fromEnum EventTypeStreamCollection = 19230-    fromEnum EventTypeTag = 20510-    fromEnum EventTypeBuffersize = 23054-    fromEnum EventTypeSinkMessage = 25630-    fromEnum EventTypeStreamGroupDone = 26894-    fromEnum EventTypeEos = 28174-    fromEnum EventTypeToc = 30750-    fromEnum EventTypeProtection = 33310-    fromEnum EventTypeSegmentDone = 38406-    fromEnum EventTypeGap = 40966-    fromEnum EventTypeQos = 48641-    fromEnum EventTypeSeek = 51201-    fromEnum EventTypeNavigation = 53761-    fromEnum EventTypeLatency = 56321-    fromEnum EventTypeStep = 58881-    fromEnum EventTypeReconfigure = 61441-    fromEnum EventTypeTocSelect = 64001-    fromEnum EventTypeSelectStreams = 66561-    fromEnum EventTypeCustomUpstream = 69121-    fromEnum EventTypeCustomDownstream = 71686-    fromEnum EventTypeCustomDownstreamOob = 74242-    fromEnum EventTypeCustomDownstreamSticky = 76830-    fromEnum EventTypeCustomBoth = 79367-    fromEnum EventTypeCustomBothOob = 81923-    fromEnum (AnotherEventType k) = k--    toEnum 0 = EventTypeUnknown-    toEnum 2563 = EventTypeFlushStart-    toEnum 5127 = EventTypeFlushStop-    toEnum 10254 = EventTypeStreamStart-    toEnum 12814 = EventTypeCaps-    toEnum 17934 = EventTypeSegment-    toEnum 19230 = EventTypeStreamCollection-    toEnum 20510 = EventTypeTag-    toEnum 23054 = EventTypeBuffersize-    toEnum 25630 = EventTypeSinkMessage-    toEnum 26894 = EventTypeStreamGroupDone-    toEnum 28174 = EventTypeEos-    toEnum 30750 = EventTypeToc-    toEnum 33310 = EventTypeProtection-    toEnum 38406 = EventTypeSegmentDone-    toEnum 40966 = EventTypeGap-    toEnum 48641 = EventTypeQos-    toEnum 51201 = EventTypeSeek-    toEnum 53761 = EventTypeNavigation-    toEnum 56321 = EventTypeLatency-    toEnum 58881 = EventTypeStep-    toEnum 61441 = EventTypeReconfigure-    toEnum 64001 = EventTypeTocSelect-    toEnum 66561 = EventTypeSelectStreams-    toEnum 69121 = EventTypeCustomUpstream-    toEnum 71686 = EventTypeCustomDownstream-    toEnum 74242 = EventTypeCustomDownstreamOob-    toEnum 76830 = EventTypeCustomDownstreamSticky-    toEnum 79367 = EventTypeCustomBoth-    toEnum 81923 = EventTypeCustomBothOob-    toEnum k = AnotherEventType k--instance P.Ord EventType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_event_type_get_type" c_gst_event_type_get_type :: -    IO GType--instance BoxedEnum EventType where-    boxedEnumType _ = c_gst_event_type_get_type---- Enum DebugLevel-{- |-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.--}-data DebugLevel = -      DebugLevelNone-    {- ^-    No debugging level specified or desired. Used to deactivate-     debugging output.-    -}-    | DebugLevelError-    {- ^-    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.-    -}-    | DebugLevelWarning-    {- ^-    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.\")-    -}-    | DebugLevelFixme-    {- ^-    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.-    -}-    | DebugLevelInfo-    {- ^-    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.\")-    -}-    | DebugLevelDebug-    {- ^-    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.-    -}-    | DebugLevelLog-    {- ^-    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.-    -}-    | DebugLevelTrace-    {- ^-    Tracing-related messages.-     Examples for this are referencing\/dereferencing of objects.-    -}-    | DebugLevelMemdump-    {- ^-    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.-    -}-    | DebugLevelCount-    {- ^-    The number of defined debugging levels.-    -}-    | AnotherDebugLevel Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum DebugLevel where-    fromEnum DebugLevelNone = 0-    fromEnum DebugLevelError = 1-    fromEnum DebugLevelWarning = 2-    fromEnum DebugLevelFixme = 3-    fromEnum DebugLevelInfo = 4-    fromEnum DebugLevelDebug = 5-    fromEnum DebugLevelLog = 6-    fromEnum DebugLevelTrace = 7-    fromEnum DebugLevelMemdump = 9-    fromEnum DebugLevelCount = 10-    fromEnum (AnotherDebugLevel k) = k--    toEnum 0 = DebugLevelNone-    toEnum 1 = DebugLevelError-    toEnum 2 = DebugLevelWarning-    toEnum 3 = DebugLevelFixme-    toEnum 4 = DebugLevelInfo-    toEnum 5 = DebugLevelDebug-    toEnum 6 = DebugLevelLog-    toEnum 7 = DebugLevelTrace-    toEnum 9 = DebugLevelMemdump-    toEnum 10 = DebugLevelCount-    toEnum k = AnotherDebugLevel k--instance P.Ord DebugLevel where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_debug_level_get_type" c_gst_debug_level_get_type :: -    IO GType--instance BoxedEnum DebugLevel where-    boxedEnumType _ = c_gst_debug_level_get_type---- Enum DebugColorMode-{- |-/No description available in the introspection data./--}-data DebugColorMode = -      DebugColorModeOff-    {- ^-    Do not use colors in logs.-    -}-    | DebugColorModeOn-    {- ^-    Paint logs in a platform-specific way.-    -}-    | DebugColorModeUnix-    {- ^-    Paint logs with UNIX terminal color codes-                                no matter what platform GStreamer is running on.-    -}-    | AnotherDebugColorMode Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum DebugColorMode where-    fromEnum DebugColorModeOff = 0-    fromEnum DebugColorModeOn = 1-    fromEnum DebugColorModeUnix = 2-    fromEnum (AnotherDebugColorMode k) = k--    toEnum 0 = DebugColorModeOff-    toEnum 1 = DebugColorModeOn-    toEnum 2 = DebugColorModeUnix-    toEnum k = AnotherDebugColorMode k--instance P.Ord DebugColorMode where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_debug_color_mode_get_type" c_gst_debug_color_mode_get_type :: -    IO GType--instance BoxedEnum DebugColorMode where-    boxedEnumType _ = c_gst_debug_color_mode_get_type---- Enum CoreError-{- |-Core errors are errors inside the core GStreamer library.--}-data CoreError = -      CoreErrorFailed-    {- ^-    a general error which doesn\'t fit in any other-    category.  Make sure you add a custom message to the error call.-    -}-    | CoreErrorTooLazy-    {- ^-    do not use this except as a placeholder for-    deciding where to go while developing code.-    -}-    | CoreErrorNotImplemented-    {- ^-    use this when you do not want to implement-    this functionality yet.-    -}-    | CoreErrorStateChange-    {- ^-    used for state change errors.-    -}-    | CoreErrorPad-    {- ^-    used for pad-related errors.-    -}-    | CoreErrorThread-    {- ^-    used for thread-related errors.-    -}-    | CoreErrorNegotiation-    {- ^-    used for negotiation-related errors.-    -}-    | CoreErrorEvent-    {- ^-    used for event-related errors.-    -}-    | CoreErrorSeek-    {- ^-    used for seek-related errors.-    -}-    | CoreErrorCaps-    {- ^-    used for caps-related errors.-    -}-    | CoreErrorTag-    {- ^-    used for negotiation-related errors.-    -}-    | CoreErrorMissingPlugin-    {- ^-    used if a plugin is missing.-    -}-    | CoreErrorClock-    {- ^-    used for clock related errors.-    -}-    | CoreErrorDisabled-    {- ^-    used if functionality has been disabled at-                              compile time.-    -}-    | CoreErrorNumErrors-    {- ^-    the number of core error types.-    -}-    | AnotherCoreError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum CoreError where-    fromEnum CoreErrorFailed = 1-    fromEnum CoreErrorTooLazy = 2-    fromEnum CoreErrorNotImplemented = 3-    fromEnum CoreErrorStateChange = 4-    fromEnum CoreErrorPad = 5-    fromEnum CoreErrorThread = 6-    fromEnum CoreErrorNegotiation = 7-    fromEnum CoreErrorEvent = 8-    fromEnum CoreErrorSeek = 9-    fromEnum CoreErrorCaps = 10-    fromEnum CoreErrorTag = 11-    fromEnum CoreErrorMissingPlugin = 12-    fromEnum CoreErrorClock = 13-    fromEnum CoreErrorDisabled = 14-    fromEnum CoreErrorNumErrors = 15-    fromEnum (AnotherCoreError k) = k--    toEnum 1 = CoreErrorFailed-    toEnum 2 = CoreErrorTooLazy-    toEnum 3 = CoreErrorNotImplemented-    toEnum 4 = CoreErrorStateChange-    toEnum 5 = CoreErrorPad-    toEnum 6 = CoreErrorThread-    toEnum 7 = CoreErrorNegotiation-    toEnum 8 = CoreErrorEvent-    toEnum 9 = CoreErrorSeek-    toEnum 10 = CoreErrorCaps-    toEnum 11 = CoreErrorTag-    toEnum 12 = CoreErrorMissingPlugin-    toEnum 13 = CoreErrorClock-    toEnum 14 = CoreErrorDisabled-    toEnum 15 = CoreErrorNumErrors-    toEnum k = AnotherCoreError k--instance P.Ord CoreError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass CoreError where-    gerrorClassDomain _ = "gst-core-error-quark"---- | Catch exceptions of type `CoreError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchCoreError ::-    IO a ->-    (CoreError -> GErrorMessage -> IO a) ->-    IO a-catchCoreError = catchGErrorJustDomain---- | Handle exceptions of type `CoreError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleCoreError ::-    (CoreError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleCoreError = handleGErrorJustDomain--foreign import ccall "gst_core_error_get_type" c_gst_core_error_get_type :: -    IO GType--instance BoxedEnum CoreError where-    boxedEnumType _ = c_gst_core_error_get_type---- Enum ClockType-{- |-The different kind of clocks.--}-data ClockType = -      ClockTypeRealtime-    {- ^-    time since Epoch-    -}-    | ClockTypeMonotonic-    {- ^-    monotonic time since some unspecified starting-                               point-    -}-    | ClockTypeOther-    {- ^-    some other time source is used (Since 1.0.5)-    -}-    | AnotherClockType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ClockType where-    fromEnum ClockTypeRealtime = 0-    fromEnum ClockTypeMonotonic = 1-    fromEnum ClockTypeOther = 2-    fromEnum (AnotherClockType k) = k--    toEnum 0 = ClockTypeRealtime-    toEnum 1 = ClockTypeMonotonic-    toEnum 2 = ClockTypeOther-    toEnum k = AnotherClockType k--instance P.Ord ClockType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_clock_type_get_type" c_gst_clock_type_get_type :: -    IO GType--instance BoxedEnum ClockType where-    boxedEnumType _ = c_gst_clock_type_get_type---- Enum ClockReturn-{- |-The return value of a clock operation.--}-data ClockReturn = -      ClockReturnOk-    {- ^-    The operation succeeded.-    -}-    | ClockReturnEarly-    {- ^-    The operation was scheduled too late.-    -}-    | ClockReturnUnscheduled-    {- ^-    The clockID was unscheduled-    -}-    | ClockReturnBusy-    {- ^-    The ClockID is busy-    -}-    | ClockReturnBadtime-    {- ^-    A bad time was provided to a function.-    -}-    | ClockReturnError-    {- ^-    An error occurred-    -}-    | ClockReturnUnsupported-    {- ^-    Operation is not supported-    -}-    | ClockReturnDone-    {- ^-    The ClockID is done waiting-    -}-    | AnotherClockReturn Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ClockReturn where-    fromEnum ClockReturnOk = 0-    fromEnum ClockReturnEarly = 1-    fromEnum ClockReturnUnscheduled = 2-    fromEnum ClockReturnBusy = 3-    fromEnum ClockReturnBadtime = 4-    fromEnum ClockReturnError = 5-    fromEnum ClockReturnUnsupported = 6-    fromEnum ClockReturnDone = 7-    fromEnum (AnotherClockReturn k) = k--    toEnum 0 = ClockReturnOk-    toEnum 1 = ClockReturnEarly-    toEnum 2 = ClockReturnUnscheduled-    toEnum 3 = ClockReturnBusy-    toEnum 4 = ClockReturnBadtime-    toEnum 5 = ClockReturnError-    toEnum 6 = ClockReturnUnsupported-    toEnum 7 = ClockReturnDone-    toEnum k = AnotherClockReturn k--instance P.Ord ClockReturn where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_clock_return_get_type" c_gst_clock_return_get_type :: -    IO GType--instance BoxedEnum ClockReturn where-    boxedEnumType _ = c_gst_clock_return_get_type---- Enum ClockEntryType-{- |-The type of the clock entry--}-data ClockEntryType = -      ClockEntryTypeSingle-    {- ^-    a single shot timeout-    -}-    | ClockEntryTypePeriodic-    {- ^-    a periodic timeout request-    -}-    | AnotherClockEntryType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ClockEntryType where-    fromEnum ClockEntryTypeSingle = 0-    fromEnum ClockEntryTypePeriodic = 1-    fromEnum (AnotherClockEntryType k) = k--    toEnum 0 = ClockEntryTypeSingle-    toEnum 1 = ClockEntryTypePeriodic-    toEnum k = AnotherClockEntryType k--instance P.Ord ClockEntryType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_clock_entry_type_get_type" c_gst_clock_entry_type_get_type :: -    IO GType--instance BoxedEnum ClockEntryType where-    boxedEnumType _ = c_gst_clock_entry_type_get_type---- Enum CapsIntersectMode-{- |-Modes of caps intersection--/@gSTCAPSINTERSECTZIGZAG@/ 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.--/@gSTCAPSINTERSECTFIRST@/ 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.--}-data CapsIntersectMode = -      CapsIntersectModeZigZag-    {- ^-    Zig-zags over both caps.-    -}-    | CapsIntersectModeFirst-    {- ^-    Keeps the first caps order.-    -}-    | AnotherCapsIntersectMode Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum CapsIntersectMode where-    fromEnum CapsIntersectModeZigZag = 0-    fromEnum CapsIntersectModeFirst = 1-    fromEnum (AnotherCapsIntersectMode k) = k--    toEnum 0 = CapsIntersectModeZigZag-    toEnum 1 = CapsIntersectModeFirst-    toEnum k = AnotherCapsIntersectMode k--instance P.Ord CapsIntersectMode where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_caps_intersect_mode_get_type" c_gst_caps_intersect_mode_get_type :: -    IO GType--instance BoxedEnum CapsIntersectMode where-    boxedEnumType _ = c_gst_caps_intersect_mode_get_type---- Enum BusSyncReply-{- |-The result values for a GstBusSyncHandler.--}-data BusSyncReply = -      BusSyncReplyDrop-    {- ^-    drop the message-    -}-    | BusSyncReplyPass-    {- ^-    pass the message to the async queue-    -}-    | BusSyncReplyAsync-    {- ^-    pass message to async queue, continue if message is handled-    -}-    | AnotherBusSyncReply Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BusSyncReply where-    fromEnum BusSyncReplyDrop = 0-    fromEnum BusSyncReplyPass = 1-    fromEnum BusSyncReplyAsync = 2-    fromEnum (AnotherBusSyncReply k) = k--    toEnum 0 = BusSyncReplyDrop-    toEnum 1 = BusSyncReplyPass-    toEnum 2 = BusSyncReplyAsync-    toEnum k = AnotherBusSyncReply k--instance P.Ord BusSyncReply where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_bus_sync_reply_get_type" c_gst_bus_sync_reply_get_type :: -    IO GType--instance BoxedEnum BusSyncReply where-    boxedEnumType _ = c_gst_bus_sync_reply_get_type---- Enum BufferingMode-{- |-The different types of buffering methods.--}-data BufferingMode = -      BufferingModeStream-    {- ^-    a small amount of data is buffered-    -}-    | BufferingModeDownload-    {- ^-    the stream is being downloaded-    -}-    | BufferingModeTimeshift-    {- ^-    the stream is being downloaded in a ringbuffer-    -}-    | BufferingModeLive-    {- ^-    the stream is a live stream-    -}-    | AnotherBufferingMode Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BufferingMode where-    fromEnum BufferingModeStream = 0-    fromEnum BufferingModeDownload = 1-    fromEnum BufferingModeTimeshift = 2-    fromEnum BufferingModeLive = 3-    fromEnum (AnotherBufferingMode k) = k--    toEnum 0 = BufferingModeStream-    toEnum 1 = BufferingModeDownload-    toEnum 2 = BufferingModeTimeshift-    toEnum 3 = BufferingModeLive-    toEnum k = AnotherBufferingMode k--instance P.Ord BufferingMode where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_buffering_mode_get_type" c_gst_buffering_mode_get_type :: -    IO GType--instance BoxedEnum BufferingMode where-    boxedEnumType _ = c_gst_buffering_mode_get_type--
− GI/Gst/Enums.hs-boot
@@ -1,165 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Enums where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--data URIType-instance P.Enum URIType where-instance BoxedEnum URIType where-data URIError-instance P.Enum URIError where-instance BoxedEnum URIError where-data TypeFindProbability-instance P.Enum TypeFindProbability where-instance BoxedEnum TypeFindProbability where-data TracerValueScope-instance P.Enum TracerValueScope where-instance BoxedEnum TracerValueScope where-data TocScope-instance P.Enum TocScope where-instance BoxedEnum TocScope where-data TocLoopType-instance P.Enum TocLoopType where-instance BoxedEnum TocLoopType where-data TocEntryType-instance P.Enum TocEntryType where-instance BoxedEnum TocEntryType where-data TaskState-instance P.Enum TaskState where-instance BoxedEnum TaskState where-data TagScope-instance P.Enum TagScope where-instance BoxedEnum TagScope where-data TagMergeMode-instance P.Enum TagMergeMode where-instance BoxedEnum TagMergeMode where-data TagFlag-instance P.Enum TagFlag where-instance BoxedEnum TagFlag where-data StructureChangeType-instance P.Enum StructureChangeType where-instance BoxedEnum StructureChangeType where-data StreamStatusType-instance P.Enum StreamStatusType where-instance BoxedEnum StreamStatusType where-data StreamError-instance P.Enum StreamError where-instance BoxedEnum StreamError where-data StateChangeReturn-instance P.Enum StateChangeReturn where-instance BoxedEnum StateChangeReturn where-data StateChange-instance P.Enum StateChange where-instance BoxedEnum StateChange where-data State-instance P.Enum State where-instance BoxedEnum State where-data SeekType-instance P.Enum SeekType where-instance BoxedEnum SeekType where-data SearchMode-instance P.Enum SearchMode where-instance BoxedEnum SearchMode where-data ResourceError-instance P.Enum ResourceError where-instance BoxedEnum ResourceError where-data Rank-instance P.Enum Rank where-instance BoxedEnum Rank where-data QueryType-instance P.Enum QueryType where-instance BoxedEnum QueryType where-data QOSType-instance P.Enum QOSType where-instance BoxedEnum QOSType where-data PromiseResult-instance P.Enum PromiseResult where-instance BoxedEnum PromiseResult where-data ProgressType-instance P.Enum ProgressType where-instance BoxedEnum ProgressType where-data PluginError-instance P.Enum PluginError where-instance BoxedEnum PluginError where-data ParseError-instance P.Enum ParseError where-instance BoxedEnum ParseError where-data PadProbeReturn-instance P.Enum PadProbeReturn where-instance BoxedEnum PadProbeReturn where-data PadPresence-instance P.Enum PadPresence where-instance BoxedEnum PadPresence where-data PadMode-instance P.Enum PadMode where-instance BoxedEnum PadMode where-data PadLinkReturn-instance P.Enum PadLinkReturn where-instance BoxedEnum PadLinkReturn where-data PadDirection-instance P.Enum PadDirection where-instance BoxedEnum PadDirection where-data LibraryError-instance P.Enum LibraryError where-instance BoxedEnum LibraryError where-data IteratorResult-instance P.Enum IteratorResult where-instance BoxedEnum IteratorResult where-data IteratorItem-instance P.Enum IteratorItem where-instance BoxedEnum IteratorItem where-data Format-instance P.Enum Format where-instance BoxedEnum Format where-data FlowReturn-instance P.Enum FlowReturn where-instance BoxedEnum FlowReturn where-data EventType-instance P.Enum EventType where-instance BoxedEnum EventType where-data DebugLevel-instance P.Enum DebugLevel where-instance BoxedEnum DebugLevel where-data DebugColorMode-instance P.Enum DebugColorMode where-instance BoxedEnum DebugColorMode where-data CoreError-instance P.Enum CoreError where-instance BoxedEnum CoreError where-data ClockType-instance P.Enum ClockType where-instance BoxedEnum ClockType where-data ClockReturn-instance P.Enum ClockReturn where-instance BoxedEnum ClockReturn where-data ClockEntryType-instance P.Enum ClockEntryType where-instance BoxedEnum ClockEntryType where-data CapsIntersectMode-instance P.Enum CapsIntersectMode where-instance BoxedEnum CapsIntersectMode where-data BusSyncReply-instance P.Enum BusSyncReply where-instance BoxedEnum BusSyncReply where-data BufferingMode-instance P.Enum BufferingMode where-instance BoxedEnum BufferingMode where
− GI/Gst/Flags.hs
@@ -1,2777 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Flags-    ( -- -- * Flags--- ** AllocatorFlags #flag:AllocatorFlags#--    AllocatorFlags(..)                      ,----- ** BinFlags #flag:BinFlags#--    BinFlags(..)                            ,----- ** BufferCopyFlags #flag:BufferCopyFlags#--    BufferCopyFlags(..)                     ,----- ** BufferFlags #flag:BufferFlags#--    BufferFlags(..)                         ,----- ** BufferPoolAcquireFlags #flag:BufferPoolAcquireFlags#--    BufferPoolAcquireFlags(..)              ,----- ** BusFlags #flag:BusFlags#--    BusFlags(..)                            ,----- ** CapsFlags #flag:CapsFlags#--    CapsFlags(..)                           ,----- ** ClockFlags #flag:ClockFlags#--    ClockFlags(..)                          ,----- ** DebugColorFlags #flag:DebugColorFlags#--    DebugColorFlags(..)                     ,----- ** DebugGraphDetails #flag:DebugGraphDetails#--    DebugGraphDetails(..)                   ,----- ** ElementFlags #flag:ElementFlags#--    ElementFlags(..)                        ,----- ** EventTypeFlags #flag:EventTypeFlags#--    EventTypeFlags(..)                      ,----- ** LockFlags #flag:LockFlags#--    LockFlags(..)                           ,----- ** MapFlags #flag:MapFlags#--    MapFlags(..)                            ,----- ** MemoryFlags #flag:MemoryFlags#--    MemoryFlags(..)                         ,----- ** MessageType #flag:MessageType#--    MessageType(..)                         ,----- ** MetaFlags #flag:MetaFlags#--    MetaFlags(..)                           ,----- ** MiniObjectFlags #flag:MiniObjectFlags#--    MiniObjectFlags(..)                     ,----- ** ObjectFlags #flag:ObjectFlags#--    ObjectFlags(..)                         ,----- ** PadFlags #flag:PadFlags#--    PadFlags(..)                            ,----- ** PadLinkCheck #flag:PadLinkCheck#--    PadLinkCheck(..)                        ,----- ** PadProbeType #flag:PadProbeType#--    PadProbeType(..)                        ,----- ** PadTemplateFlags #flag:PadTemplateFlags#--    PadTemplateFlags(..)                    ,----- ** ParseFlags #flag:ParseFlags#--    ParseFlags(..)                          ,----- ** PipelineFlags #flag:PipelineFlags#--    PipelineFlags(..)                       ,----- ** PluginDependencyFlags #flag:PluginDependencyFlags#--    PluginDependencyFlags(..)               ,----- ** PluginFlags #flag:PluginFlags#--    PluginFlags(..)                         ,----- ** QueryTypeFlags #flag:QueryTypeFlags#--    QueryTypeFlags(..)                      ,----- ** SchedulingFlags #flag:SchedulingFlags#--    SchedulingFlags(..)                     ,----- ** SeekFlags #flag:SeekFlags#--    SeekFlags(..)                           ,----- ** SegmentFlags #flag:SegmentFlags#--    SegmentFlags(..)                        ,----- ** StackTraceFlags #flag:StackTraceFlags#--    StackTraceFlags(..)                     ,----- ** StreamFlags #flag:StreamFlags#--    StreamFlags(..)                         ,----- ** StreamType #flag:StreamType#--    StreamType(..)                          ,----- ** TracerValueFlags #flag:TracerValueFlags#--    TracerValueFlags(..)                    ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- Flags TracerValueFlags-{- |-Flag that describe the value. These flags help applications processing the-logs to understand the values.--}-data TracerValueFlags = -      TracerValueFlagsNone-    {- ^-    no flags-    -}-    | TracerValueFlagsOptional-    {- ^-    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()/@.-    -}-    | TracerValueFlagsAggregated-    {- ^-    the value is a combined figure, since the-      start of tracing. Examples are averages or timestamps.-    -}-    | AnotherTracerValueFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TracerValueFlags where-    fromEnum TracerValueFlagsNone = 0-    fromEnum TracerValueFlagsOptional = 1-    fromEnum TracerValueFlagsAggregated = 2-    fromEnum (AnotherTracerValueFlags k) = k--    toEnum 0 = TracerValueFlagsNone-    toEnum 1 = TracerValueFlagsOptional-    toEnum 2 = TracerValueFlagsAggregated-    toEnum k = AnotherTracerValueFlags k--instance P.Ord TracerValueFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_tracer_value_flags_get_type" c_gst_tracer_value_flags_get_type :: -    IO GType--instance BoxedFlags TracerValueFlags where-    boxedFlagsType _ = c_gst_tracer_value_flags_get_type--instance IsGFlag TracerValueFlags---- Flags StreamType-{- |-'GI.Gst.Flags.StreamType' describes a high level classification set for-flows of data in 'GI.Gst.Objects.Stream.Stream' 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.--/Since: 1.10/--}-data StreamType = -      StreamTypeUnknown-    {- ^-    The stream is of unknown (unclassified) type.-    -}-    | StreamTypeAudio-    {- ^-    The stream is of audio data-    -}-    | StreamTypeVideo-    {- ^-    The stream carries video data-    -}-    | StreamTypeContainer-    {- ^-    The stream is a muxed container type-    -}-    | StreamTypeText-    {- ^-    The stream contains subtitle \/ subpicture data.-    -}-    | AnotherStreamType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum StreamType where-    fromEnum StreamTypeUnknown = 1-    fromEnum StreamTypeAudio = 2-    fromEnum StreamTypeVideo = 4-    fromEnum StreamTypeContainer = 8-    fromEnum StreamTypeText = 16-    fromEnum (AnotherStreamType k) = k--    toEnum 1 = StreamTypeUnknown-    toEnum 2 = StreamTypeAudio-    toEnum 4 = StreamTypeVideo-    toEnum 8 = StreamTypeContainer-    toEnum 16 = StreamTypeText-    toEnum k = AnotherStreamType k--instance P.Ord StreamType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_stream_type_get_type" c_gst_stream_type_get_type :: -    IO GType--instance BoxedFlags StreamType where-    boxedFlagsType _ = c_gst_stream_type_get_type--instance IsGFlag StreamType---- Flags StreamFlags-{- |-/No description available in the introspection data./--/Since: 1.2/--}-data StreamFlags = -      StreamFlagsNone-    {- ^-    This stream has no special attributes-    -}-    | StreamFlagsSparse-    {- ^-    This stream is a sparse stream (e.g. a subtitle-       stream), data may flow only in irregular intervals with large gaps in-       between.-    -}-    | StreamFlagsSelect-    {- ^-    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.-    -}-    | StreamFlagsUnselect-    {- ^-    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).-    -}-    | AnotherStreamFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum StreamFlags where-    fromEnum StreamFlagsNone = 0-    fromEnum StreamFlagsSparse = 1-    fromEnum StreamFlagsSelect = 2-    fromEnum StreamFlagsUnselect = 4-    fromEnum (AnotherStreamFlags k) = k--    toEnum 0 = StreamFlagsNone-    toEnum 1 = StreamFlagsSparse-    toEnum 2 = StreamFlagsSelect-    toEnum 4 = StreamFlagsUnselect-    toEnum k = AnotherStreamFlags k--instance P.Ord StreamFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_stream_flags_get_type" c_gst_stream_flags_get_type :: -    IO GType--instance BoxedFlags StreamFlags where-    boxedFlagsType _ = c_gst_stream_flags_get_type--instance IsGFlag StreamFlags---- Flags StackTraceFlags-{- |-/No description available in the introspection data./--/Since: 1.12/--}-data StackTraceFlags = -      StackTraceFlagsFull-    {- ^-    Try to retrieve as much information as-                                possible when getting the stack trace-    -}-    | AnotherStackTraceFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum StackTraceFlags where-    fromEnum StackTraceFlagsFull = 1-    fromEnum (AnotherStackTraceFlags k) = k--    toEnum 1 = StackTraceFlagsFull-    toEnum k = AnotherStackTraceFlags k--instance P.Ord StackTraceFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_stack_trace_flags_get_type" c_gst_stack_trace_flags_get_type :: -    IO GType--instance BoxedFlags StackTraceFlags where-    boxedFlagsType _ = c_gst_stack_trace_flags_get_type--instance IsGFlag StackTraceFlags---- Flags SegmentFlags-{- |-Flags for the GstSegment structure. Currently mapped to the corresponding-values of the seek flags.--}-data SegmentFlags = -      SegmentFlagsNone-    {- ^-    no flags-    -}-    | SegmentFlagsReset-    {- ^-    reset the pipeline running_time to the segment-                             running_time-    -}-    | SegmentFlagsTrickmode-    {- ^-    perform skip playback (Since 1.6)-    -}-    | SegmentFlagsSkip-    {- ^-    Deprecated backward compatibility flag, replaced-                            by /@gSTSEGMENTFLAGTRICKMODE@/-    -}-    | SegmentFlagsSegment-    {- ^-    send SEGMENT_DONE instead of EOS-    -}-    | SegmentFlagsTrickmodeKeyUnits-    {- ^-    Decode only keyframes, where-                                           possible (Since 1.6)-    -}-    | SegmentFlagsTrickmodeNoAudio-    {- ^-    Do not decode any audio, where-                                           possible (Since 1.6)-    -}-    | AnotherSegmentFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum SegmentFlags where-    fromEnum SegmentFlagsNone = 0-    fromEnum SegmentFlagsReset = 1-    fromEnum SegmentFlagsTrickmode = 16-    fromEnum SegmentFlagsSkip = 16-    fromEnum SegmentFlagsSegment = 8-    fromEnum SegmentFlagsTrickmodeKeyUnits = 128-    fromEnum SegmentFlagsTrickmodeNoAudio = 256-    fromEnum (AnotherSegmentFlags k) = k--    toEnum 0 = SegmentFlagsNone-    toEnum 1 = SegmentFlagsReset-    toEnum 16 = SegmentFlagsTrickmode-    toEnum 16 = SegmentFlagsSkip-    toEnum 8 = SegmentFlagsSegment-    toEnum 128 = SegmentFlagsTrickmodeKeyUnits-    toEnum 256 = SegmentFlagsTrickmodeNoAudio-    toEnum k = AnotherSegmentFlags k--instance P.Ord SegmentFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_segment_flags_get_type" c_gst_segment_flags_get_type :: -    IO GType--instance BoxedFlags SegmentFlags where-    boxedFlagsType _ = c_gst_segment_flags_get_type--instance IsGFlag SegmentFlags---- Flags SeekFlags-{- |-Flags to be used with 'GI.Gst.Objects.Element.elementSeek' or 'GI.Gst.Structs.Event.eventNewSeek'. 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-'GI.Gst.Flags.MessageTypeSegmentDone' 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 doing fast forward (rate > 1.0) or fast reverse (rate \< -1.0) trickmode-playback, the 'GI.Gst.Flags.SeekFlagsTrickmode' 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 'GI.Gst.Flags.SeekFlagsTrickmodeKeyUnits' flag can be used to-request that decoders skip all frames except key units, and-'GI.Gst.Flags.SeekFlagsTrickmodeNoAudio' flags can be used to request that audio-decoders do no decoding at all, and simple output silence.--The 'GI.Gst.Flags.SeekFlagsSnapBefore' flag can be used to snap to the previous-relevant location, and the 'GI.Gst.Flags.SeekFlagsSnapAfter' flag can be used to-select the next relevant location. If 'GI.Gst.Flags.SeekFlagsKeyUnit' 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.--}-data SeekFlags = -      SeekFlagsNone-    {- ^-    no flag-    -}-    | SeekFlagsFlush-    {- ^-    flush pipeline-    -}-    | SeekFlagsAccurate-    {- ^-    accurate position is requested, this might-                        be considerably slower for some formats.-    -}-    | SeekFlagsKeyUnit-    {- ^-    seek to the nearest keyframe. This might be-                        faster but less accurate.-    -}-    | SeekFlagsSegment-    {- ^-    perform a segment seek.-    -}-    | SeekFlagsTrickmode-    {- ^-    when doing fast forward or fast reverse playback, allow-                        elements to skip frames instead of generating all-                        frames. (Since 1.6)-    -}-    | SeekFlagsSkip-    {- ^-    Deprecated backward compatibility flag, replaced-                        by 'GI.Gst.Flags.SeekFlagsTrickmode'-    -}-    | SeekFlagsSnapBefore-    {- ^-    go to a location before the requested position,-                        if 'GI.Gst.Flags.SeekFlagsKeyUnit' this means the keyframe at or before-                        the requested position the one at or before the seek target.-    -}-    | SeekFlagsSnapAfter-    {- ^-    go to a location after the requested position,-                        if 'GI.Gst.Flags.SeekFlagsKeyUnit' this means the keyframe at of after the-                        requested position.-    -}-    | SeekFlagsSnapNearest-    {- ^-    go to a position near the requested position,-                        if 'GI.Gst.Flags.SeekFlagsKeyUnit' this means the keyframe closest-                        to the requested position, if both keyframes are at an equal-                        distance, behaves like 'GI.Gst.Flags.SeekFlagsSnapBefore'.-    -}-    | SeekFlagsTrickmodeKeyUnits-    {- ^-    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)-    -}-    | SeekFlagsTrickmodeNoAudio-    {- ^-    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)-    -}-    | AnotherSeekFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum SeekFlags where-    fromEnum SeekFlagsNone = 0-    fromEnum SeekFlagsFlush = 1-    fromEnum SeekFlagsAccurate = 2-    fromEnum SeekFlagsKeyUnit = 4-    fromEnum SeekFlagsSegment = 8-    fromEnum SeekFlagsTrickmode = 16-    fromEnum SeekFlagsSkip = 16-    fromEnum SeekFlagsSnapBefore = 32-    fromEnum SeekFlagsSnapAfter = 64-    fromEnum SeekFlagsSnapNearest = 96-    fromEnum SeekFlagsTrickmodeKeyUnits = 128-    fromEnum SeekFlagsTrickmodeNoAudio = 256-    fromEnum (AnotherSeekFlags k) = k--    toEnum 0 = SeekFlagsNone-    toEnum 1 = SeekFlagsFlush-    toEnum 2 = SeekFlagsAccurate-    toEnum 4 = SeekFlagsKeyUnit-    toEnum 8 = SeekFlagsSegment-    toEnum 16 = SeekFlagsTrickmode-    toEnum 16 = SeekFlagsSkip-    toEnum 32 = SeekFlagsSnapBefore-    toEnum 64 = SeekFlagsSnapAfter-    toEnum 96 = SeekFlagsSnapNearest-    toEnum 128 = SeekFlagsTrickmodeKeyUnits-    toEnum 256 = SeekFlagsTrickmodeNoAudio-    toEnum k = AnotherSeekFlags k--instance P.Ord SeekFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_seek_flags_get_type" c_gst_seek_flags_get_type :: -    IO GType--instance BoxedFlags SeekFlags where-    boxedFlagsType _ = c_gst_seek_flags_get_type--instance IsGFlag SeekFlags---- Flags SchedulingFlags-{- |-The different scheduling flags.--}-data SchedulingFlags = -      SchedulingFlagsSeekable-    {- ^-    if seeking is possible-    -}-    | SchedulingFlagsSequential-    {- ^-    if sequential access is recommended-    -}-    | SchedulingFlagsBandwidthLimited-    {- ^-    if bandwidth is limited and buffering possible (since 1.2)-    -}-    | AnotherSchedulingFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum SchedulingFlags where-    fromEnum SchedulingFlagsSeekable = 1-    fromEnum SchedulingFlagsSequential = 2-    fromEnum SchedulingFlagsBandwidthLimited = 4-    fromEnum (AnotherSchedulingFlags k) = k--    toEnum 1 = SchedulingFlagsSeekable-    toEnum 2 = SchedulingFlagsSequential-    toEnum 4 = SchedulingFlagsBandwidthLimited-    toEnum k = AnotherSchedulingFlags k--instance P.Ord SchedulingFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_scheduling_flags_get_type" c_gst_scheduling_flags_get_type :: -    IO GType--instance BoxedFlags SchedulingFlags where-    boxedFlagsType _ = c_gst_scheduling_flags_get_type--instance IsGFlag SchedulingFlags---- Flags QueryTypeFlags-{- |-'GI.Gst.Flags.QueryTypeFlags' indicate the aspects of the different 'GI.Gst.Enums.QueryType'-values. You can get the type flags of a 'GI.Gst.Enums.QueryType' with the-'GI.Gst.Functions.queryTypeGetFlags' function.--}-data QueryTypeFlags = -      QueryTypeFlagsUpstream-    {- ^-    Set if the query can travel upstream.-    -}-    | QueryTypeFlagsDownstream-    {- ^-    Set if the query can travel downstream.-    -}-    | QueryTypeFlagsSerialized-    {- ^-    Set if the query should be serialized with data-                                  flow.-    -}-    | AnotherQueryTypeFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum QueryTypeFlags where-    fromEnum QueryTypeFlagsUpstream = 1-    fromEnum QueryTypeFlagsDownstream = 2-    fromEnum QueryTypeFlagsSerialized = 4-    fromEnum (AnotherQueryTypeFlags k) = k--    toEnum 1 = QueryTypeFlagsUpstream-    toEnum 2 = QueryTypeFlagsDownstream-    toEnum 4 = QueryTypeFlagsSerialized-    toEnum k = AnotherQueryTypeFlags k--instance P.Ord QueryTypeFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_query_type_flags_get_type" c_gst_query_type_flags_get_type :: -    IO GType--instance BoxedFlags QueryTypeFlags where-    boxedFlagsType _ = c_gst_query_type_flags_get_type--instance IsGFlag QueryTypeFlags---- Flags PluginFlags-{- |-The plugin loading state--}-data PluginFlags = -      PluginFlagsCached-    {- ^-    Temporarily loaded plugins-    -}-    | PluginFlagsBlacklisted-    {- ^-    The plugin won\'t be scanned (again)-    -}-    | AnotherPluginFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PluginFlags where-    fromEnum PluginFlagsCached = 16-    fromEnum PluginFlagsBlacklisted = 32-    fromEnum (AnotherPluginFlags k) = k--    toEnum 16 = PluginFlagsCached-    toEnum 32 = PluginFlagsBlacklisted-    toEnum k = AnotherPluginFlags k--instance P.Ord PluginFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_plugin_flags_get_type" c_gst_plugin_flags_get_type :: -    IO GType--instance BoxedFlags PluginFlags where-    boxedFlagsType _ = c_gst_plugin_flags_get_type--instance IsGFlag PluginFlags---- Flags PluginDependencyFlags-{- |-Flags used in connection with 'GI.Gst.Objects.Plugin.pluginAddDependency'.--}-data PluginDependencyFlags = -      PluginDependencyFlagsNone-    {- ^-    no special flags-    -}-    | PluginDependencyFlagsRecurse-    {- ^-    recurse into subdirectories-    -}-    | PluginDependencyFlagsPathsAreDefaultOnly-    {- ^-    use paths-            argument only if none of the environment variables is set-    -}-    | PluginDependencyFlagsFileNameIsSuffix-    {- ^-    interpret-            filename argument as filter suffix and check all matching files in-            the directory-    -}-    | PluginDependencyFlagsFileNameIsPrefix-    {- ^-    interpret-            filename argument as filter prefix and check all matching files in-            the directory. Since 1.8.-    -}-    | PluginDependencyFlagsPathsAreRelativeToExe-    {- ^-    interpret-      non-absolute paths as relative to the main executable directory. Since-      1.14.-    -}-    | AnotherPluginDependencyFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PluginDependencyFlags where-    fromEnum PluginDependencyFlagsNone = 0-    fromEnum PluginDependencyFlagsRecurse = 1-    fromEnum PluginDependencyFlagsPathsAreDefaultOnly = 2-    fromEnum PluginDependencyFlagsFileNameIsSuffix = 4-    fromEnum PluginDependencyFlagsFileNameIsPrefix = 8-    fromEnum PluginDependencyFlagsPathsAreRelativeToExe = 16-    fromEnum (AnotherPluginDependencyFlags k) = k--    toEnum 0 = PluginDependencyFlagsNone-    toEnum 1 = PluginDependencyFlagsRecurse-    toEnum 2 = PluginDependencyFlagsPathsAreDefaultOnly-    toEnum 4 = PluginDependencyFlagsFileNameIsSuffix-    toEnum 8 = PluginDependencyFlagsFileNameIsPrefix-    toEnum 16 = PluginDependencyFlagsPathsAreRelativeToExe-    toEnum k = AnotherPluginDependencyFlags k--instance P.Ord PluginDependencyFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_plugin_dependency_flags_get_type" c_gst_plugin_dependency_flags_get_type :: -    IO GType--instance BoxedFlags PluginDependencyFlags where-    boxedFlagsType _ = c_gst_plugin_dependency_flags_get_type--instance IsGFlag PluginDependencyFlags---- Flags PipelineFlags-{- |-Pipeline flags--}-data PipelineFlags = -      PipelineFlagsFixedClock-    {- ^-    this pipeline works with a fixed clock-    -}-    | PipelineFlagsLast-    {- ^-    offset to define more flags-    -}-    | AnotherPipelineFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PipelineFlags where-    fromEnum PipelineFlagsFixedClock = 524288-    fromEnum PipelineFlagsLast = 8388608-    fromEnum (AnotherPipelineFlags k) = k--    toEnum 524288 = PipelineFlagsFixedClock-    toEnum 8388608 = PipelineFlagsLast-    toEnum k = AnotherPipelineFlags k--instance P.Ord PipelineFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pipeline_flags_get_type" c_gst_pipeline_flags_get_type :: -    IO GType--instance BoxedFlags PipelineFlags where-    boxedFlagsType _ = c_gst_pipeline_flags_get_type--instance IsGFlag PipelineFlags---- Flags ParseFlags-{- |-Parsing options.--}-data ParseFlags = -      ParseFlagsNone-    {- ^-    Do not use any special parsing options.-    -}-    | ParseFlagsFatalErrors-    {- ^-    Always return 'Nothing' when an error occurs-        (default behaviour is to return partially constructed bins or elements-         in some cases)-    -}-    | ParseFlagsNoSingleElementBins-    {- ^-    If a bin only has a single element,-        just return the element.-    -}-    | ParseFlagsPlaceInBin-    {- ^-    If more than one toplevel element is described-        by the pipeline description string, put them in a 'GI.Gst.Objects.Bin.Bin' instead of a-        'GI.Gst.Objects.Pipeline.Pipeline'. (Since 1.10)-    -}-    | AnotherParseFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ParseFlags where-    fromEnum ParseFlagsNone = 0-    fromEnum ParseFlagsFatalErrors = 1-    fromEnum ParseFlagsNoSingleElementBins = 2-    fromEnum ParseFlagsPlaceInBin = 4-    fromEnum (AnotherParseFlags k) = k--    toEnum 0 = ParseFlagsNone-    toEnum 1 = ParseFlagsFatalErrors-    toEnum 2 = ParseFlagsNoSingleElementBins-    toEnum 4 = ParseFlagsPlaceInBin-    toEnum k = AnotherParseFlags k--instance P.Ord ParseFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_parse_flags_get_type" c_gst_parse_flags_get_type :: -    IO GType--instance BoxedFlags ParseFlags where-    boxedFlagsType _ = c_gst_parse_flags_get_type--instance IsGFlag ParseFlags---- Flags PadTemplateFlags-{- |-Flags for the padtemplate--}-data PadTemplateFlags = -      PadTemplateFlagsLast-    {- ^-    first flag that can be used by subclasses.-    -}-    | AnotherPadTemplateFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PadTemplateFlags where-    fromEnum PadTemplateFlagsLast = 256-    fromEnum (AnotherPadTemplateFlags k) = k--    toEnum 256 = PadTemplateFlagsLast-    toEnum k = AnotherPadTemplateFlags k--instance P.Ord PadTemplateFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pad_template_flags_get_type" c_gst_pad_template_flags_get_type :: -    IO GType--instance BoxedFlags PadTemplateFlags where-    boxedFlagsType _ = c_gst_pad_template_flags_get_type--instance IsGFlag PadTemplateFlags---- Flags PadProbeType-{- |-The different probing types that can occur. When either one of-/@gSTPADPROBETYPEIDLE@/ or /@gSTPADPROBETYPEBLOCK@/ is used, the probe will be a-blocking probe.--}-data PadProbeType = -      PadProbeTypeInvalid-    {- ^-    invalid probe type-    -}-    | PadProbeTypeIdle-    {- ^-    probe idle pads and block while the callback is called-    -}-    | PadProbeTypeBlock-    {- ^-    probe and block pads-    -}-    | PadProbeTypeBuffer-    {- ^-    probe buffers-    -}-    | PadProbeTypeBufferList-    {- ^-    probe buffer lists-    -}-    | PadProbeTypeEventDownstream-    {- ^-    probe downstream events-    -}-    | PadProbeTypeEventUpstream-    {- ^-    probe upstream events-    -}-    | PadProbeTypeEventFlush-    {- ^-    probe flush events. This probe has to be-        explicitly enabled and is not included in the-        \@/@gSTPADPROBETYPEEVENTDOWNSTREAM@/ or-        \@/@gSTPADPROBETYPEEVENTUPSTREAM@/ probe types.-    -}-    | PadProbeTypeQueryDownstream-    {- ^-    probe downstream queries-    -}-    | PadProbeTypeQueryUpstream-    {- ^-    probe upstream queries-    -}-    | PadProbeTypePush-    {- ^-    probe push-    -}-    | PadProbeTypePull-    {- ^-    probe pull-    -}-    | PadProbeTypeBlocking-    {- ^-    probe and block at the next opportunity, at data flow or when idle-    -}-    | PadProbeTypeDataDownstream-    {- ^-    probe downstream data (buffers, buffer lists, and events)-    -}-    | PadProbeTypeDataUpstream-    {- ^-    probe upstream data (events)-    -}-    | PadProbeTypeDataBoth-    {- ^-    probe upstream and downstream data (buffers, buffer lists, and events)-    -}-    | PadProbeTypeBlockDownstream-    {- ^-    probe and block downstream data (buffers, buffer lists, and events)-    -}-    | PadProbeTypeBlockUpstream-    {- ^-    probe and block upstream data (events)-    -}-    | PadProbeTypeEventBoth-    {- ^-    probe upstream and downstream events-    -}-    | PadProbeTypeQueryBoth-    {- ^-    probe upstream and downstream queries-    -}-    | PadProbeTypeAllBoth-    {- ^-    probe upstream events and queries and downstream buffers, buffer lists, events and queries-    -}-    | PadProbeTypeScheduling-    {- ^-    probe push and pull-    -}-    | AnotherPadProbeType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PadProbeType where-    fromEnum PadProbeTypeInvalid = 0-    fromEnum PadProbeTypeIdle = 1-    fromEnum PadProbeTypeBlock = 2-    fromEnum PadProbeTypeBuffer = 16-    fromEnum PadProbeTypeBufferList = 32-    fromEnum PadProbeTypeEventDownstream = 64-    fromEnum PadProbeTypeEventUpstream = 128-    fromEnum PadProbeTypeEventFlush = 256-    fromEnum PadProbeTypeQueryDownstream = 512-    fromEnum PadProbeTypeQueryUpstream = 1024-    fromEnum PadProbeTypePush = 4096-    fromEnum PadProbeTypePull = 8192-    fromEnum PadProbeTypeBlocking = 3-    fromEnum PadProbeTypeDataDownstream = 112-    fromEnum PadProbeTypeDataUpstream = 128-    fromEnum PadProbeTypeDataBoth = 240-    fromEnum PadProbeTypeBlockDownstream = 114-    fromEnum PadProbeTypeBlockUpstream = 130-    fromEnum PadProbeTypeEventBoth = 192-    fromEnum PadProbeTypeQueryBoth = 1536-    fromEnum PadProbeTypeAllBoth = 1776-    fromEnum PadProbeTypeScheduling = 12288-    fromEnum (AnotherPadProbeType k) = k--    toEnum 0 = PadProbeTypeInvalid-    toEnum 1 = PadProbeTypeIdle-    toEnum 2 = PadProbeTypeBlock-    toEnum 16 = PadProbeTypeBuffer-    toEnum 32 = PadProbeTypeBufferList-    toEnum 64 = PadProbeTypeEventDownstream-    toEnum 128 = PadProbeTypeEventUpstream-    toEnum 256 = PadProbeTypeEventFlush-    toEnum 512 = PadProbeTypeQueryDownstream-    toEnum 1024 = PadProbeTypeQueryUpstream-    toEnum 4096 = PadProbeTypePush-    toEnum 8192 = PadProbeTypePull-    toEnum 3 = PadProbeTypeBlocking-    toEnum 112 = PadProbeTypeDataDownstream-    toEnum 128 = PadProbeTypeDataUpstream-    toEnum 240 = PadProbeTypeDataBoth-    toEnum 114 = PadProbeTypeBlockDownstream-    toEnum 130 = PadProbeTypeBlockUpstream-    toEnum 192 = PadProbeTypeEventBoth-    toEnum 1536 = PadProbeTypeQueryBoth-    toEnum 1776 = PadProbeTypeAllBoth-    toEnum 12288 = PadProbeTypeScheduling-    toEnum k = AnotherPadProbeType k--instance P.Ord PadProbeType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pad_probe_type_get_type" c_gst_pad_probe_type_get_type :: -    IO GType--instance BoxedFlags PadProbeType where-    boxedFlagsType _ = c_gst_pad_probe_type_get_type--instance IsGFlag PadProbeType---- Flags PadLinkCheck-{- |-The amount of checking to be done when linking pads. /@gSTPADLINKCHECKCAPS@/-and /@gSTPADLINKCHECKTEMPLATECAPS@/ are mutually exclusive. If both are-specified, expensive but safe /@gSTPADLINKCHECKCAPS@/ are performed.--> Only disable some of the checks if you are 100% certain you know the link-> will not fail because of hierarchy\/caps compatibility failures. If uncertain,-> use the default checks ('GI.Gst.Flags.PadLinkCheckDefault') or the regular methods-> for linking the pads.--}-data PadLinkCheck = -      PadLinkCheckNothing-    {- ^-    Don\'t check hierarchy or caps compatibility.-    -}-    | PadLinkCheckHierarchy-    {- ^-    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.-    -}-    | PadLinkCheckTemplateCaps-    {- ^-    Check if the pads are compatible by using-      their template caps. This is much faster than /@gSTPADLINKCHECKCAPS@/, but-      would be unsafe e.g. if one pad has @/GST_CAPS_ANY/@.-    -}-    | PadLinkCheckCaps-    {- ^-    Check if the pads are compatible by comparing the-      caps returned by 'GI.Gst.Objects.Pad.padQueryCaps'.-    -}-    | PadLinkCheckNoReconfigure-    {- ^-    Disables pushing a reconfigure event when pads are-      linked.-    -}-    | PadLinkCheckDefault-    {- ^-    The default checks done when linking-      pads (i.e. the ones used by 'GI.Gst.Objects.Pad.padLink').-    -}-    | AnotherPadLinkCheck Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PadLinkCheck where-    fromEnum PadLinkCheckNothing = 0-    fromEnum PadLinkCheckHierarchy = 1-    fromEnum PadLinkCheckTemplateCaps = 2-    fromEnum PadLinkCheckCaps = 4-    fromEnum PadLinkCheckNoReconfigure = 8-    fromEnum PadLinkCheckDefault = 5-    fromEnum (AnotherPadLinkCheck k) = k--    toEnum 0 = PadLinkCheckNothing-    toEnum 1 = PadLinkCheckHierarchy-    toEnum 2 = PadLinkCheckTemplateCaps-    toEnum 4 = PadLinkCheckCaps-    toEnum 8 = PadLinkCheckNoReconfigure-    toEnum 5 = PadLinkCheckDefault-    toEnum k = AnotherPadLinkCheck k--instance P.Ord PadLinkCheck where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pad_link_check_get_type" c_gst_pad_link_check_get_type :: -    IO GType--instance BoxedFlags PadLinkCheck where-    boxedFlagsType _ = c_gst_pad_link_check_get_type--instance IsGFlag PadLinkCheck---- Flags PadFlags-{- |-Pad state flags--}-data PadFlags = -      PadFlagsBlocked-    {- ^-    is dataflow on a pad blocked-    -}-    | PadFlagsFlushing-    {- ^-    is pad flushing-    -}-    | PadFlagsEos-    {- ^-    is pad in EOS state-    -}-    | PadFlagsBlocking-    {- ^-    is pad currently blocking on a buffer or event-    -}-    | PadFlagsNeedParent-    {- ^-    ensure that there is a parent object before calling-                          into the pad callbacks.-    -}-    | PadFlagsNeedReconfigure-    {- ^-    the pad should be reconfigured\/renegotiated.-                               The flag has to be unset manually after-                               reconfiguration happened.-    -}-    | PadFlagsPendingEvents-    {- ^-    the pad has pending events-    -}-    | PadFlagsFixedCaps-    {- ^-    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.-    -}-    | PadFlagsProxyCaps-    {- ^-    the default event and query handler will forward-                         all events and queries to the internally linked pads-                         instead of discarding them.-    -}-    | PadFlagsProxyAllocation-    {- ^-    the default query handler will forward-                         allocation queries to the internally linked pads-                         instead of discarding them.-    -}-    | PadFlagsProxyScheduling-    {- ^-    the default query handler will forward-                         scheduling queries to the internally linked pads-                         instead of discarding them.-    -}-    | PadFlagsAcceptIntersect-    {- ^-    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.-    -}-    | PadFlagsAcceptTemplate-    {- ^-    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 'GI.Gst.Flags.PadFlagsAcceptIntersect'. (Since 1.6)-    -}-    | PadFlagsLast-    {- ^-    offset to define more flags-    -}-    | AnotherPadFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum PadFlags where-    fromEnum PadFlagsBlocked = 16-    fromEnum PadFlagsFlushing = 32-    fromEnum PadFlagsEos = 64-    fromEnum PadFlagsBlocking = 128-    fromEnum PadFlagsNeedParent = 256-    fromEnum PadFlagsNeedReconfigure = 512-    fromEnum PadFlagsPendingEvents = 1024-    fromEnum PadFlagsFixedCaps = 2048-    fromEnum PadFlagsProxyCaps = 4096-    fromEnum PadFlagsProxyAllocation = 8192-    fromEnum PadFlagsProxyScheduling = 16384-    fromEnum PadFlagsAcceptIntersect = 32768-    fromEnum PadFlagsAcceptTemplate = 65536-    fromEnum PadFlagsLast = 1048576-    fromEnum (AnotherPadFlags k) = k--    toEnum 16 = PadFlagsBlocked-    toEnum 32 = PadFlagsFlushing-    toEnum 64 = PadFlagsEos-    toEnum 128 = PadFlagsBlocking-    toEnum 256 = PadFlagsNeedParent-    toEnum 512 = PadFlagsNeedReconfigure-    toEnum 1024 = PadFlagsPendingEvents-    toEnum 2048 = PadFlagsFixedCaps-    toEnum 4096 = PadFlagsProxyCaps-    toEnum 8192 = PadFlagsProxyAllocation-    toEnum 16384 = PadFlagsProxyScheduling-    toEnum 32768 = PadFlagsAcceptIntersect-    toEnum 65536 = PadFlagsAcceptTemplate-    toEnum 1048576 = PadFlagsLast-    toEnum k = AnotherPadFlags k--instance P.Ord PadFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_pad_flags_get_type" c_gst_pad_flags_get_type :: -    IO GType--instance BoxedFlags PadFlags where-    boxedFlagsType _ = c_gst_pad_flags_get_type--instance IsGFlag PadFlags---- Flags ObjectFlags-{- |-The standard flags that an gstobject may have.--}-data ObjectFlags = -      ObjectFlagsMayBeLeaked-    {- ^-    the object is expected to stay alive even-    after 'GI.Gst.Functions.deinit' has been called and so should be ignored by leak-    detection tools. (Since 1.10)-    -}-    | ObjectFlagsLast-    {- ^-    subclasses can add additional flags starting from this flag-    -}-    | AnotherObjectFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ObjectFlags where-    fromEnum ObjectFlagsMayBeLeaked = 1-    fromEnum ObjectFlagsLast = 16-    fromEnum (AnotherObjectFlags k) = k--    toEnum 1 = ObjectFlagsMayBeLeaked-    toEnum 16 = ObjectFlagsLast-    toEnum k = AnotherObjectFlags k--instance P.Ord ObjectFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_object_flags_get_type" c_gst_object_flags_get_type :: -    IO GType--instance BoxedFlags ObjectFlags where-    boxedFlagsType _ = c_gst_object_flags_get_type--instance IsGFlag ObjectFlags---- Flags MiniObjectFlags-{- |-Flags for the mini object--}-data MiniObjectFlags = -      MiniObjectFlagsLockable-    {- ^-    the object can be locked and unlocked with-    'GI.Gst.Structs.MiniObject.miniObjectLock' and 'GI.Gst.Structs.MiniObject.miniObjectUnlock'.-    -}-    | MiniObjectFlagsLockReadonly-    {- ^-    the object is permanently locked in-    READONLY mode. Only read locks can be performed on the object.-    -}-    | MiniObjectFlagsMayBeLeaked-    {- ^-    the object is expected to stay alive-    even after 'GI.Gst.Functions.deinit' has been called and so should be ignored by leak-    detection tools. (Since 1.10)-    -}-    | MiniObjectFlagsLast-    {- ^-    first flag that can be used by subclasses.-    -}-    | AnotherMiniObjectFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum MiniObjectFlags where-    fromEnum MiniObjectFlagsLockable = 1-    fromEnum MiniObjectFlagsLockReadonly = 2-    fromEnum MiniObjectFlagsMayBeLeaked = 4-    fromEnum MiniObjectFlagsLast = 16-    fromEnum (AnotherMiniObjectFlags k) = k--    toEnum 1 = MiniObjectFlagsLockable-    toEnum 2 = MiniObjectFlagsLockReadonly-    toEnum 4 = MiniObjectFlagsMayBeLeaked-    toEnum 16 = MiniObjectFlagsLast-    toEnum k = AnotherMiniObjectFlags k--instance P.Ord MiniObjectFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_mini_object_flags_get_type" c_gst_mini_object_flags_get_type :: -    IO GType--instance BoxedFlags MiniObjectFlags where-    boxedFlagsType _ = c_gst_mini_object_flags_get_type--instance IsGFlag MiniObjectFlags---- Flags MetaFlags-{- |-Extra metadata flags.--}-data MetaFlags = -      MetaFlagsNone-    {- ^-    no flags-    -}-    | MetaFlagsReadonly-    {- ^-    metadata should not be modified-    -}-    | MetaFlagsPooled-    {- ^-    metadata is managed by a bufferpool-    -}-    | MetaFlagsLocked-    {- ^-    metadata should not be removed-    -}-    | MetaFlagsLast-    {- ^-    additional flags can be added starting from this flag.-    -}-    | AnotherMetaFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum MetaFlags where-    fromEnum MetaFlagsNone = 0-    fromEnum MetaFlagsReadonly = 1-    fromEnum MetaFlagsPooled = 2-    fromEnum MetaFlagsLocked = 4-    fromEnum MetaFlagsLast = 65536-    fromEnum (AnotherMetaFlags k) = k--    toEnum 0 = MetaFlagsNone-    toEnum 1 = MetaFlagsReadonly-    toEnum 2 = MetaFlagsPooled-    toEnum 4 = MetaFlagsLocked-    toEnum 65536 = MetaFlagsLast-    toEnum k = AnotherMetaFlags k--instance P.Ord MetaFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_meta_flags_get_type" c_gst_meta_flags_get_type :: -    IO GType--instance BoxedFlags MetaFlags where-    boxedFlagsType _ = c_gst_meta_flags_get_type--instance IsGFlag MetaFlags---- Flags MessageType-{- |-The different message types that are available.--}-data MessageType = -      MessageTypeUnknown-    {- ^-    an undefined message-    -}-    | MessageTypeEos-    {- ^-    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.-    -}-    | MessageTypeError-    {- ^-    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.-    -}-    | MessageTypeWarning-    {- ^-    a warning occurred.-    -}-    | MessageTypeInfo-    {- ^-    an info message occurred-    -}-    | MessageTypeTag-    {- ^-    a tag was found.-    -}-    | MessageTypeBuffering-    {- ^-    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.-    -}-    | MessageTypeStateChanged-    {- ^-    a state change happened-    -}-    | MessageTypeStateDirty-    {- ^-    an element changed state in a streaming thread.-    This message is deprecated.-    -}-    | MessageTypeStepDone-    {- ^-    a stepping operation finished.-    -}-    | MessageTypeClockProvide-    {- ^-    an element notifies its capability of providing-                                a clock. This message is used internally and-                                never forwarded to the application.-    -}-    | MessageTypeClockLost-    {- ^-    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.-    -}-    | MessageTypeNewClock-    {- ^-    a new clock was selected in the pipeline.-    -}-    | MessageTypeStructureChange-    {- ^-    the structure of the pipeline changed. This-    message is used internally and never forwarded to the application.-    -}-    | MessageTypeStreamStatus-    {- ^-    status about a stream, emitted when it starts,-                                stops, errors, etc..-    -}-    | MessageTypeApplication-    {- ^-    message posted by the application, possibly-                              via an application-specific element.-    -}-    | MessageTypeElement-    {- ^-    element-specific message, see the specific element\'s-                          documentation-    -}-    | MessageTypeSegmentStart-    {- ^-    pipeline started playback of a segment. This-    message is used internally and never forwarded to the application.-    -}-    | MessageTypeSegmentDone-    {- ^-    pipeline completed playback of a segment. This-    message is forwarded to the application after all elements that posted-    /@gSTMESSAGESEGMENTSTART@/ posted a GST_MESSAGE_SEGMENT_DONE message.-    -}-    | MessageTypeDurationChanged-    {- ^-    The duration of a pipeline changed. The-    application can get the new duration with a duration query.-    -}-    | MessageTypeLatency-    {- ^-    Posted by elements when their latency changes. The-    application should recalculate and distribute a new latency.-    -}-    | MessageTypeAsyncStart-    {- ^-    Posted by elements when they start an ASYNC-    'GI.Gst.Enums.StateChange'. This message is not forwarded to the application but is used-    internally.-    -}-    | MessageTypeAsyncDone-    {- ^-    Posted by elements when they complete an ASYNC-    'GI.Gst.Enums.StateChange'. The application will only receive this message from the toplevel-    pipeline.-    -}-    | MessageTypeRequestState-    {- ^-    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.-    -}-    | MessageTypeStepStart-    {- ^-    A stepping operation was started.-    -}-    | MessageTypeQos-    {- ^-    A buffer was dropped or an element changed its processing-    strategy for Quality of Service reasons.-    -}-    | MessageTypeProgress-    {- ^-    A progress message.-    -}-    | MessageTypeToc-    {- ^-    A new table of contents (TOC) was found or previously found TOC-    was updated.-    -}-    | MessageTypeResetTime-    {- ^-    Message to request resetting the pipeline\'s-        running time from the pipeline. This is an internal message which-        applications will likely never receive.-    -}-    | MessageTypeStreamStart-    {- ^-    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).-    -}-    | MessageTypeNeedContext-    {- ^-    Message indicating that an element wants a specific context (Since 1.2)-    -}-    | MessageTypeHaveContext-    {- ^-    Message indicating that an element created a context (Since 1.2)-    -}-    | MessageTypeExtended-    {- ^-    Message is an extended message type (see below).-        These extended message IDs can\'t be used directly with mask-based API-        like 'GI.Gst.Objects.Bus.busPoll' or 'GI.Gst.Objects.Bus.busTimedPopFiltered', but you can still-        filter for GST_MESSAGE_EXTENDED and then check the result for the-        specific type. (Since 1.4)-    -}-    | MessageTypeDeviceAdded-    {- ^-    Message indicating a 'GI.Gst.Objects.Device.Device' was added to-        a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' (Since 1.4)-    -}-    | MessageTypeDeviceRemoved-    {- ^-    Message indicating a 'GI.Gst.Objects.Device.Device' was removed-        from a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' (Since 1.4)-    -}-    | MessageTypePropertyNotify-    {- ^-    Message indicating a 'GI.GObject.Objects.Object.Object' property has-        changed (Since 1.10)-    -}-    | MessageTypeStreamCollection-    {- ^-    Message indicating a new 'GI.Gst.Objects.StreamCollection.StreamCollection'-        is available (Since 1.10)-    -}-    | MessageTypeStreamsSelected-    {- ^-    Message indicating the active selection of-        @/GstStreams/@ has changed (Since 1.10)-    -}-    | MessageTypeRedirect-    {- ^-    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)-    -}-    | MessageTypeDeviceChanged-    {- ^-    Message indicating a 'GI.Gst.Objects.Device.Device' was changed-        a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' (Since 1.16)-    -}-    | MessageTypeAny-    {- ^-    mask for all of the above messages.-    -}-    | AnotherMessageType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum MessageType where-    fromEnum MessageTypeUnknown = 0-    fromEnum MessageTypeEos = 1-    fromEnum MessageTypeError = 2-    fromEnum MessageTypeWarning = 4-    fromEnum MessageTypeInfo = 8-    fromEnum MessageTypeTag = 16-    fromEnum MessageTypeBuffering = 32-    fromEnum MessageTypeStateChanged = 64-    fromEnum MessageTypeStateDirty = 128-    fromEnum MessageTypeStepDone = 256-    fromEnum MessageTypeClockProvide = 512-    fromEnum MessageTypeClockLost = 1024-    fromEnum MessageTypeNewClock = 2048-    fromEnum MessageTypeStructureChange = 4096-    fromEnum MessageTypeStreamStatus = 8192-    fromEnum MessageTypeApplication = 16384-    fromEnum MessageTypeElement = 32768-    fromEnum MessageTypeSegmentStart = 65536-    fromEnum MessageTypeSegmentDone = 131072-    fromEnum MessageTypeDurationChanged = 262144-    fromEnum MessageTypeLatency = 524288-    fromEnum MessageTypeAsyncStart = 1048576-    fromEnum MessageTypeAsyncDone = 2097152-    fromEnum MessageTypeRequestState = 4194304-    fromEnum MessageTypeStepStart = 8388608-    fromEnum MessageTypeQos = 16777216-    fromEnum MessageTypeProgress = 33554432-    fromEnum MessageTypeToc = 67108864-    fromEnum MessageTypeResetTime = 134217728-    fromEnum MessageTypeStreamStart = 268435456-    fromEnum MessageTypeNeedContext = 536870912-    fromEnum MessageTypeHaveContext = 1073741824-    fromEnum MessageTypeExtended = 2147483648-    fromEnum MessageTypeDeviceAdded = 2147483649-    fromEnum MessageTypeDeviceRemoved = 2147483650-    fromEnum MessageTypePropertyNotify = 2147483651-    fromEnum MessageTypeStreamCollection = 2147483652-    fromEnum MessageTypeStreamsSelected = 2147483653-    fromEnum MessageTypeRedirect = 2147483654-    fromEnum MessageTypeDeviceChanged = 2147483654-    fromEnum MessageTypeAny = 4294967295-    fromEnum (AnotherMessageType k) = k--    toEnum 0 = MessageTypeUnknown-    toEnum 1 = MessageTypeEos-    toEnum 2 = MessageTypeError-    toEnum 4 = MessageTypeWarning-    toEnum 8 = MessageTypeInfo-    toEnum 16 = MessageTypeTag-    toEnum 32 = MessageTypeBuffering-    toEnum 64 = MessageTypeStateChanged-    toEnum 128 = MessageTypeStateDirty-    toEnum 256 = MessageTypeStepDone-    toEnum 512 = MessageTypeClockProvide-    toEnum 1024 = MessageTypeClockLost-    toEnum 2048 = MessageTypeNewClock-    toEnum 4096 = MessageTypeStructureChange-    toEnum 8192 = MessageTypeStreamStatus-    toEnum 16384 = MessageTypeApplication-    toEnum 32768 = MessageTypeElement-    toEnum 65536 = MessageTypeSegmentStart-    toEnum 131072 = MessageTypeSegmentDone-    toEnum 262144 = MessageTypeDurationChanged-    toEnum 524288 = MessageTypeLatency-    toEnum 1048576 = MessageTypeAsyncStart-    toEnum 2097152 = MessageTypeAsyncDone-    toEnum 4194304 = MessageTypeRequestState-    toEnum 8388608 = MessageTypeStepStart-    toEnum 16777216 = MessageTypeQos-    toEnum 33554432 = MessageTypeProgress-    toEnum 67108864 = MessageTypeToc-    toEnum 134217728 = MessageTypeResetTime-    toEnum 268435456 = MessageTypeStreamStart-    toEnum 536870912 = MessageTypeNeedContext-    toEnum 1073741824 = MessageTypeHaveContext-    toEnum 2147483648 = MessageTypeExtended-    toEnum 2147483649 = MessageTypeDeviceAdded-    toEnum 2147483650 = MessageTypeDeviceRemoved-    toEnum 2147483651 = MessageTypePropertyNotify-    toEnum 2147483652 = MessageTypeStreamCollection-    toEnum 2147483653 = MessageTypeStreamsSelected-    toEnum 2147483654 = MessageTypeRedirect-    toEnum 2147483654 = MessageTypeDeviceChanged-    toEnum 4294967295 = MessageTypeAny-    toEnum k = AnotherMessageType k--instance P.Ord MessageType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_message_type_get_type" c_gst_message_type_get_type :: -    IO GType--instance BoxedFlags MessageType where-    boxedFlagsType _ = c_gst_message_type_get_type--instance IsGFlag MessageType---- Flags MemoryFlags-{- |-Flags for wrapped memory.--}-data MemoryFlags = -      MemoryFlagsReadonly-    {- ^-    memory is readonly. It is not allowed to map the-    memory with @/GST_MAP_WRITE/@.-    -}-    | MemoryFlagsNoShare-    {- ^-    memory must not be shared. Copies will have to be-    made when this memory needs to be shared between buffers.-    -}-    | MemoryFlagsZeroPrefixed-    {- ^-    the memory prefix is filled with 0 bytes-    -}-    | MemoryFlagsZeroPadded-    {- ^-    the memory padding is filled with 0 bytes-    -}-    | MemoryFlagsPhysicallyContiguous-    {- ^-    the memory is physically contiguous. (Since 1.2)-    -}-    | MemoryFlagsNotMappable-    {- ^-    the memory can\'t be mapped via 'GI.Gst.Structs.Memory.memoryMap' without any preconditions. (Since 1.2)-    -}-    | MemoryFlagsLast-    {- ^-    first flag that can be used for custom purposes-    -}-    | AnotherMemoryFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum MemoryFlags where-    fromEnum MemoryFlagsReadonly = 2-    fromEnum MemoryFlagsNoShare = 16-    fromEnum MemoryFlagsZeroPrefixed = 32-    fromEnum MemoryFlagsZeroPadded = 64-    fromEnum MemoryFlagsPhysicallyContiguous = 128-    fromEnum MemoryFlagsNotMappable = 256-    fromEnum MemoryFlagsLast = 1048576-    fromEnum (AnotherMemoryFlags k) = k--    toEnum 2 = MemoryFlagsReadonly-    toEnum 16 = MemoryFlagsNoShare-    toEnum 32 = MemoryFlagsZeroPrefixed-    toEnum 64 = MemoryFlagsZeroPadded-    toEnum 128 = MemoryFlagsPhysicallyContiguous-    toEnum 256 = MemoryFlagsNotMappable-    toEnum 1048576 = MemoryFlagsLast-    toEnum k = AnotherMemoryFlags k--instance P.Ord MemoryFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_memory_flags_get_type" c_gst_memory_flags_get_type :: -    IO GType--instance BoxedFlags MemoryFlags where-    boxedFlagsType _ = c_gst_memory_flags_get_type--instance IsGFlag MemoryFlags---- Flags MapFlags-{- |-Flags used when mapping memory--}-data MapFlags = -      MapFlagsRead-    {- ^-    map for read access-    -}-    | MapFlagsWrite-    {- ^-    map for write access-    -}-    | MapFlagsFlagLast-    {- ^-    first flag that can be used for custom purposes-    -}-    | AnotherMapFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum MapFlags where-    fromEnum MapFlagsRead = 1-    fromEnum MapFlagsWrite = 2-    fromEnum MapFlagsFlagLast = 65536-    fromEnum (AnotherMapFlags k) = k--    toEnum 1 = MapFlagsRead-    toEnum 2 = MapFlagsWrite-    toEnum 65536 = MapFlagsFlagLast-    toEnum k = AnotherMapFlags k--instance P.Ord MapFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_map_flags_get_type" c_gst_map_flags_get_type :: -    IO GType--instance BoxedFlags MapFlags where-    boxedFlagsType _ = c_gst_map_flags_get_type--instance IsGFlag MapFlags---- Flags LockFlags-{- |-Flags used when locking miniobjects--}-data LockFlags = -      LockFlagsRead-    {- ^-    lock for read access-    -}-    | LockFlagsWrite-    {- ^-    lock for write access-    -}-    | LockFlagsExclusive-    {- ^-    lock for exclusive access-    -}-    | LockFlagsLast-    {- ^-    first flag that can be used for custom purposes-    -}-    | AnotherLockFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum LockFlags where-    fromEnum LockFlagsRead = 1-    fromEnum LockFlagsWrite = 2-    fromEnum LockFlagsExclusive = 4-    fromEnum LockFlagsLast = 256-    fromEnum (AnotherLockFlags k) = k--    toEnum 1 = LockFlagsRead-    toEnum 2 = LockFlagsWrite-    toEnum 4 = LockFlagsExclusive-    toEnum 256 = LockFlagsLast-    toEnum k = AnotherLockFlags k--instance P.Ord LockFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_lock_flags_get_type" c_gst_lock_flags_get_type :: -    IO GType--instance BoxedFlags LockFlags where-    boxedFlagsType _ = c_gst_lock_flags_get_type--instance IsGFlag LockFlags---- Flags EventTypeFlags-{- |-'GI.Gst.Flags.EventTypeFlags' indicate the aspects of the different 'GI.Gst.Enums.EventType'-values. You can get the type flags of a 'GI.Gst.Enums.EventType' with the-'GI.Gst.Functions.eventTypeGetFlags' function.--}-data EventTypeFlags = -      EventTypeFlagsUpstream-    {- ^-    Set if the event can travel upstream.-    -}-    | EventTypeFlagsDownstream-    {- ^-    Set if the event can travel downstream.-    -}-    | EventTypeFlagsSerialized-    {- ^-    Set if the event should be serialized with data-                                  flow.-    -}-    | EventTypeFlagsSticky-    {- ^-    Set if the event is sticky on the pads.-    -}-    | EventTypeFlagsStickyMulti-    {- ^-    Multiple sticky events can be on a pad, each-                                  identified by the event name.-    -}-    | AnotherEventTypeFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum EventTypeFlags where-    fromEnum EventTypeFlagsUpstream = 1-    fromEnum EventTypeFlagsDownstream = 2-    fromEnum EventTypeFlagsSerialized = 4-    fromEnum EventTypeFlagsSticky = 8-    fromEnum EventTypeFlagsStickyMulti = 16-    fromEnum (AnotherEventTypeFlags k) = k--    toEnum 1 = EventTypeFlagsUpstream-    toEnum 2 = EventTypeFlagsDownstream-    toEnum 4 = EventTypeFlagsSerialized-    toEnum 8 = EventTypeFlagsSticky-    toEnum 16 = EventTypeFlagsStickyMulti-    toEnum k = AnotherEventTypeFlags k--instance P.Ord EventTypeFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_event_type_flags_get_type" c_gst_event_type_flags_get_type :: -    IO GType--instance BoxedFlags EventTypeFlags where-    boxedFlagsType _ = c_gst_event_type_flags_get_type--instance IsGFlag EventTypeFlags---- Flags ElementFlags-{- |-The standard flags that an element may have.--}-data ElementFlags = -      ElementFlagsLockedState-    {- ^-    ignore state changes from parent-    -}-    | ElementFlagsSink-    {- ^-    the element is a sink-    -}-    | ElementFlagsSource-    {- ^-    the element is a source.-    -}-    | ElementFlagsProvideClock-    {- ^-    the element can provide a clock-    -}-    | ElementFlagsRequireClock-    {- ^-    the element requires a clock-    -}-    | ElementFlagsIndexable-    {- ^-    the element can use an index-    -}-    | ElementFlagsLast-    {- ^-    offset to define more flags-    -}-    | AnotherElementFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ElementFlags where-    fromEnum ElementFlagsLockedState = 16-    fromEnum ElementFlagsSink = 32-    fromEnum ElementFlagsSource = 64-    fromEnum ElementFlagsProvideClock = 128-    fromEnum ElementFlagsRequireClock = 256-    fromEnum ElementFlagsIndexable = 512-    fromEnum ElementFlagsLast = 16384-    fromEnum (AnotherElementFlags k) = k--    toEnum 16 = ElementFlagsLockedState-    toEnum 32 = ElementFlagsSink-    toEnum 64 = ElementFlagsSource-    toEnum 128 = ElementFlagsProvideClock-    toEnum 256 = ElementFlagsRequireClock-    toEnum 512 = ElementFlagsIndexable-    toEnum 16384 = ElementFlagsLast-    toEnum k = AnotherElementFlags k--instance P.Ord ElementFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_element_flags_get_type" c_gst_element_flags_get_type :: -    IO GType--instance BoxedFlags ElementFlags where-    boxedFlagsType _ = c_gst_element_flags_get_type--instance IsGFlag ElementFlags---- Flags DebugGraphDetails-{- |-Available details for pipeline graphs produced by @/GST_DEBUG_BIN_TO_DOT_FILE()/@-and @/GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS()/@.--}-data DebugGraphDetails = -      DebugGraphDetailsMediaType-    {- ^-    show caps-name on edges-    -}-    | DebugGraphDetailsCapsDetails-    {- ^-    show caps-details on edges-    -}-    | DebugGraphDetailsNonDefaultParams-    {- ^-    show modified parameters on-                                              elements-    -}-    | DebugGraphDetailsStates-    {- ^-    show element states-    -}-    | DebugGraphDetailsFullParams-    {- ^-    show full element parameter values even-                                       if they are very long-    -}-    | DebugGraphDetailsAll-    {- ^-    show all the typical details that one might want-    -}-    | DebugGraphDetailsVerbose-    {- ^-    show all details regardless of how large or-                                   verbose they make the resulting output-    -}-    | AnotherDebugGraphDetails Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum DebugGraphDetails where-    fromEnum DebugGraphDetailsMediaType = 1-    fromEnum DebugGraphDetailsCapsDetails = 2-    fromEnum DebugGraphDetailsNonDefaultParams = 4-    fromEnum DebugGraphDetailsStates = 8-    fromEnum DebugGraphDetailsFullParams = 16-    fromEnum DebugGraphDetailsAll = 15-    fromEnum DebugGraphDetailsVerbose = 4294967295-    fromEnum (AnotherDebugGraphDetails k) = k--    toEnum 1 = DebugGraphDetailsMediaType-    toEnum 2 = DebugGraphDetailsCapsDetails-    toEnum 4 = DebugGraphDetailsNonDefaultParams-    toEnum 8 = DebugGraphDetailsStates-    toEnum 16 = DebugGraphDetailsFullParams-    toEnum 15 = DebugGraphDetailsAll-    toEnum 4294967295 = DebugGraphDetailsVerbose-    toEnum k = AnotherDebugGraphDetails k--instance P.Ord DebugGraphDetails where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_debug_graph_details_get_type" c_gst_debug_graph_details_get_type :: -    IO GType--instance BoxedFlags DebugGraphDetails where-    boxedFlagsType _ = c_gst_debug_graph_details_get_type--instance IsGFlag DebugGraphDetails---- Flags DebugColorFlags-{- |-These are some terminal style flags you can use when creating your-debugging categories to make them stand out in debugging output.--}-data DebugColorFlags = -      DebugColorFlagsFgBlack-    {- ^-    Use black as foreground color.-    -}-    | DebugColorFlagsFgRed-    {- ^-    Use red as foreground color.-    -}-    | DebugColorFlagsFgGreen-    {- ^-    Use green as foreground color.-    -}-    | DebugColorFlagsFgYellow-    {- ^-    Use yellow as foreground color.-    -}-    | DebugColorFlagsFgBlue-    {- ^-    Use blue as foreground color.-    -}-    | DebugColorFlagsFgMagenta-    {- ^-    Use magenta as foreground color.-    -}-    | DebugColorFlagsFgCyan-    {- ^-    Use cyan as foreground color.-    -}-    | DebugColorFlagsFgWhite-    {- ^-    Use white as foreground color.-    -}-    | DebugColorFlagsBgBlack-    {- ^-    Use black as background color.-    -}-    | DebugColorFlagsBgRed-    {- ^-    Use red as background color.-    -}-    | DebugColorFlagsBgGreen-    {- ^-    Use green as background color.-    -}-    | DebugColorFlagsBgYellow-    {- ^-    Use yellow as background color.-    -}-    | DebugColorFlagsBgBlue-    {- ^-    Use blue as background color.-    -}-    | DebugColorFlagsBgMagenta-    {- ^-    Use magenta as background color.-    -}-    | DebugColorFlagsBgCyan-    {- ^-    Use cyan as background color.-    -}-    | DebugColorFlagsBgWhite-    {- ^-    Use white as background color.-    -}-    | DebugColorFlagsBold-    {- ^-    Make the output bold.-    -}-    | DebugColorFlagsUnderline-    {- ^-    Underline the output.-    -}-    | AnotherDebugColorFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum DebugColorFlags where-    fromEnum DebugColorFlagsFgBlack = 0-    fromEnum DebugColorFlagsFgRed = 1-    fromEnum DebugColorFlagsFgGreen = 2-    fromEnum DebugColorFlagsFgYellow = 3-    fromEnum DebugColorFlagsFgBlue = 4-    fromEnum DebugColorFlagsFgMagenta = 5-    fromEnum DebugColorFlagsFgCyan = 6-    fromEnum DebugColorFlagsFgWhite = 7-    fromEnum DebugColorFlagsBgBlack = 0-    fromEnum DebugColorFlagsBgRed = 16-    fromEnum DebugColorFlagsBgGreen = 32-    fromEnum DebugColorFlagsBgYellow = 48-    fromEnum DebugColorFlagsBgBlue = 64-    fromEnum DebugColorFlagsBgMagenta = 80-    fromEnum DebugColorFlagsBgCyan = 96-    fromEnum DebugColorFlagsBgWhite = 112-    fromEnum DebugColorFlagsBold = 256-    fromEnum DebugColorFlagsUnderline = 512-    fromEnum (AnotherDebugColorFlags k) = k--    toEnum 0 = DebugColorFlagsFgBlack-    toEnum 1 = DebugColorFlagsFgRed-    toEnum 2 = DebugColorFlagsFgGreen-    toEnum 3 = DebugColorFlagsFgYellow-    toEnum 4 = DebugColorFlagsFgBlue-    toEnum 5 = DebugColorFlagsFgMagenta-    toEnum 6 = DebugColorFlagsFgCyan-    toEnum 7 = DebugColorFlagsFgWhite-    toEnum 0 = DebugColorFlagsBgBlack-    toEnum 16 = DebugColorFlagsBgRed-    toEnum 32 = DebugColorFlagsBgGreen-    toEnum 48 = DebugColorFlagsBgYellow-    toEnum 64 = DebugColorFlagsBgBlue-    toEnum 80 = DebugColorFlagsBgMagenta-    toEnum 96 = DebugColorFlagsBgCyan-    toEnum 112 = DebugColorFlagsBgWhite-    toEnum 256 = DebugColorFlagsBold-    toEnum 512 = DebugColorFlagsUnderline-    toEnum k = AnotherDebugColorFlags k--instance P.Ord DebugColorFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_debug_color_flags_get_type" c_gst_debug_color_flags_get_type :: -    IO GType--instance BoxedFlags DebugColorFlags where-    boxedFlagsType _ = c_gst_debug_color_flags_get_type--instance IsGFlag DebugColorFlags---- Flags ClockFlags-{- |-The capabilities of this clock--}-data ClockFlags = -      ClockFlagsCanDoSingleSync-    {- ^-    clock can do a single sync timeout request-    -}-    | ClockFlagsCanDoSingleAsync-    {- ^-    clock can do a single async timeout request-    -}-    | ClockFlagsCanDoPeriodicSync-    {- ^-    clock can do sync periodic timeout requests-    -}-    | ClockFlagsCanDoPeriodicAsync-    {- ^-    clock can do async periodic timeout callbacks-    -}-    | ClockFlagsCanSetResolution-    {- ^-    clock\'s resolution can be changed-    -}-    | ClockFlagsCanSetMaster-    {- ^-    clock can be slaved to a master clock-    -}-    | ClockFlagsNeedsStartupSync-    {- ^-    clock needs to be synced before it can be used-        (Since 1.6)-    -}-    | ClockFlagsLast-    {- ^-    subclasses can add additional flags starting from this flag-    -}-    | AnotherClockFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ClockFlags where-    fromEnum ClockFlagsCanDoSingleSync = 16-    fromEnum ClockFlagsCanDoSingleAsync = 32-    fromEnum ClockFlagsCanDoPeriodicSync = 64-    fromEnum ClockFlagsCanDoPeriodicAsync = 128-    fromEnum ClockFlagsCanSetResolution = 256-    fromEnum ClockFlagsCanSetMaster = 512-    fromEnum ClockFlagsNeedsStartupSync = 1024-    fromEnum ClockFlagsLast = 4096-    fromEnum (AnotherClockFlags k) = k--    toEnum 16 = ClockFlagsCanDoSingleSync-    toEnum 32 = ClockFlagsCanDoSingleAsync-    toEnum 64 = ClockFlagsCanDoPeriodicSync-    toEnum 128 = ClockFlagsCanDoPeriodicAsync-    toEnum 256 = ClockFlagsCanSetResolution-    toEnum 512 = ClockFlagsCanSetMaster-    toEnum 1024 = ClockFlagsNeedsStartupSync-    toEnum 4096 = ClockFlagsLast-    toEnum k = AnotherClockFlags k--instance P.Ord ClockFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_clock_flags_get_type" c_gst_clock_flags_get_type :: -    IO GType--instance BoxedFlags ClockFlags where-    boxedFlagsType _ = c_gst_clock_flags_get_type--instance IsGFlag ClockFlags---- Flags CapsFlags-{- |-Extra flags for a caps.--}-data CapsFlags = -      CapsFlagsAny-    {- ^-    Caps has no specific content, but can contain-       anything.-    -}-    | AnotherCapsFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum CapsFlags where-    fromEnum CapsFlagsAny = 16-    fromEnum (AnotherCapsFlags k) = k--    toEnum 16 = CapsFlagsAny-    toEnum k = AnotherCapsFlags k--instance P.Ord CapsFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_caps_flags_get_type" c_gst_caps_flags_get_type :: -    IO GType--instance BoxedFlags CapsFlags where-    boxedFlagsType _ = c_gst_caps_flags_get_type--instance IsGFlag CapsFlags---- Flags BusFlags-{- |-The standard flags that a bus may have.--}-data BusFlags = -      BusFlagsFlushing-    {- ^-    The bus is currently dropping all messages-    -}-    | BusFlagsFlagLast-    {- ^-    offset to define more flags-    -}-    | AnotherBusFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BusFlags where-    fromEnum BusFlagsFlushing = 16-    fromEnum BusFlagsFlagLast = 32-    fromEnum (AnotherBusFlags k) = k--    toEnum 16 = BusFlagsFlushing-    toEnum 32 = BusFlagsFlagLast-    toEnum k = AnotherBusFlags k--instance P.Ord BusFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_bus_flags_get_type" c_gst_bus_flags_get_type :: -    IO GType--instance BoxedFlags BusFlags where-    boxedFlagsType _ = c_gst_bus_flags_get_type--instance IsGFlag BusFlags---- Flags BufferPoolAcquireFlags-{- |-Additional flags to control the allocation of a buffer--}-data BufferPoolAcquireFlags = -      BufferPoolAcquireFlagsNone-    {- ^-    no flags-    -}-    | BufferPoolAcquireFlagsKeyUnit-    {- ^-    buffer is keyframe-    -}-    | BufferPoolAcquireFlagsDontwait-    {- ^-    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.-    -}-    | BufferPoolAcquireFlagsDiscont-    {- ^-    buffer is discont-    -}-    | BufferPoolAcquireFlagsLast-    {- ^-    last flag, subclasses can use private flags-       starting from this value.-    -}-    | AnotherBufferPoolAcquireFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BufferPoolAcquireFlags where-    fromEnum BufferPoolAcquireFlagsNone = 0-    fromEnum BufferPoolAcquireFlagsKeyUnit = 1-    fromEnum BufferPoolAcquireFlagsDontwait = 2-    fromEnum BufferPoolAcquireFlagsDiscont = 4-    fromEnum BufferPoolAcquireFlagsLast = 65536-    fromEnum (AnotherBufferPoolAcquireFlags k) = k--    toEnum 0 = BufferPoolAcquireFlagsNone-    toEnum 1 = BufferPoolAcquireFlagsKeyUnit-    toEnum 2 = BufferPoolAcquireFlagsDontwait-    toEnum 4 = BufferPoolAcquireFlagsDiscont-    toEnum 65536 = BufferPoolAcquireFlagsLast-    toEnum k = AnotherBufferPoolAcquireFlags k--instance P.Ord BufferPoolAcquireFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_buffer_pool_acquire_flags_get_type" c_gst_buffer_pool_acquire_flags_get_type :: -    IO GType--instance BoxedFlags BufferPoolAcquireFlags where-    boxedFlagsType _ = c_gst_buffer_pool_acquire_flags_get_type--instance IsGFlag BufferPoolAcquireFlags---- Flags BufferFlags-{- |-A set of buffer flags used to describe properties of a 'GI.Gst.Structs.Buffer.Buffer'.--}-data BufferFlags = -      BufferFlagsLive-    {- ^-    the buffer is live data and should be discarded in-                                    the PAUSED state.-    -}-    | BufferFlagsDecodeOnly-    {- ^-    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.-    -}-    | BufferFlagsDiscont-    {- ^-    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.-    -}-    | BufferFlagsResync-    {- ^-    the buffer timestamps might have a discontinuity-                                    and this buffer is a good point to resynchronize.-    -}-    | BufferFlagsCorrupted-    {- ^-    the buffer data is corrupted.-    -}-    | BufferFlagsMarker-    {- ^-    the buffer contains a media specific marker. for-                                    video this is typically the end of a frame boundary, for audio-                                    this is usually the start of a talkspurt.-    -}-    | BufferFlagsHeader-    {- ^-    the buffer contains header information that is-                                    needed to decode the following data.-    -}-    | BufferFlagsGap-    {- ^-    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).-    -}-    | BufferFlagsDroppable-    {- ^-    the buffer can be dropped without breaking the-                                    stream, for example to reduce bandwidth.-    -}-    | BufferFlagsDeltaUnit-    {- ^-    this unit cannot be decoded independently.-    -}-    | BufferFlagsTagMemory-    {- ^-    this flag is set when memory of the buffer-                                    is added\/removed-    -}-    | BufferFlagsSyncAfter-    {- ^-    Elements which write to disk or permanent-    				 storage should ensure the data is synced after-    				 writing the contents of this buffer. (Since 1.6)-    -}-    | BufferFlagsNonDroppable-    {- ^-    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)-    -}-    | BufferFlagsLast-    {- ^-    additional media specific flags can be added starting from-                                    this flag.-    -}-    | AnotherBufferFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BufferFlags where-    fromEnum BufferFlagsLive = 16-    fromEnum BufferFlagsDecodeOnly = 32-    fromEnum BufferFlagsDiscont = 64-    fromEnum BufferFlagsResync = 128-    fromEnum BufferFlagsCorrupted = 256-    fromEnum BufferFlagsMarker = 512-    fromEnum BufferFlagsHeader = 1024-    fromEnum BufferFlagsGap = 2048-    fromEnum BufferFlagsDroppable = 4096-    fromEnum BufferFlagsDeltaUnit = 8192-    fromEnum BufferFlagsTagMemory = 16384-    fromEnum BufferFlagsSyncAfter = 32768-    fromEnum BufferFlagsNonDroppable = 65536-    fromEnum BufferFlagsLast = 1048576-    fromEnum (AnotherBufferFlags k) = k--    toEnum 16 = BufferFlagsLive-    toEnum 32 = BufferFlagsDecodeOnly-    toEnum 64 = BufferFlagsDiscont-    toEnum 128 = BufferFlagsResync-    toEnum 256 = BufferFlagsCorrupted-    toEnum 512 = BufferFlagsMarker-    toEnum 1024 = BufferFlagsHeader-    toEnum 2048 = BufferFlagsGap-    toEnum 4096 = BufferFlagsDroppable-    toEnum 8192 = BufferFlagsDeltaUnit-    toEnum 16384 = BufferFlagsTagMemory-    toEnum 32768 = BufferFlagsSyncAfter-    toEnum 65536 = BufferFlagsNonDroppable-    toEnum 1048576 = BufferFlagsLast-    toEnum k = AnotherBufferFlags k--instance P.Ord BufferFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_buffer_flags_get_type" c_gst_buffer_flags_get_type :: -    IO GType--instance BoxedFlags BufferFlags where-    boxedFlagsType _ = c_gst_buffer_flags_get_type--instance IsGFlag BufferFlags---- Flags BufferCopyFlags-{- |-A set of flags that can be provided to the 'GI.Gst.Structs.Buffer.bufferCopyInto'-function to specify which items should be copied.--}-data BufferCopyFlags = -      BufferCopyFlagsNone-    {- ^-    copy nothing-    -}-    | BufferCopyFlagsFlags-    {- ^-    flag indicating that buffer flags should be copied-    -}-    | BufferCopyFlagsTimestamps-    {- ^-    flag indicating that buffer pts, dts,-      duration, offset and offset_end should be copied-    -}-    | BufferCopyFlagsMeta-    {- ^-    flag indicating that buffer meta should be-      copied-    -}-    | BufferCopyFlagsMemory-    {- ^-    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 /@gSTBUFFERCOPYDEEP@/ to force a real copy.-    -}-    | BufferCopyFlagsMerge-    {- ^-    flag indicating that buffer memory should be-      merged-    -}-    | BufferCopyFlagsDeep-    {- ^-    flag indicating that memory should always be-      copied instead of reffed (Since 1.2)-    -}-    | AnotherBufferCopyFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BufferCopyFlags where-    fromEnum BufferCopyFlagsNone = 0-    fromEnum BufferCopyFlagsFlags = 1-    fromEnum BufferCopyFlagsTimestamps = 2-    fromEnum BufferCopyFlagsMeta = 4-    fromEnum BufferCopyFlagsMemory = 8-    fromEnum BufferCopyFlagsMerge = 16-    fromEnum BufferCopyFlagsDeep = 32-    fromEnum (AnotherBufferCopyFlags k) = k--    toEnum 0 = BufferCopyFlagsNone-    toEnum 1 = BufferCopyFlagsFlags-    toEnum 2 = BufferCopyFlagsTimestamps-    toEnum 4 = BufferCopyFlagsMeta-    toEnum 8 = BufferCopyFlagsMemory-    toEnum 16 = BufferCopyFlagsMerge-    toEnum 32 = BufferCopyFlagsDeep-    toEnum k = AnotherBufferCopyFlags k--instance P.Ord BufferCopyFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_buffer_copy_flags_get_type" c_gst_buffer_copy_flags_get_type :: -    IO GType--instance BoxedFlags BufferCopyFlags where-    boxedFlagsType _ = c_gst_buffer_copy_flags_get_type--instance IsGFlag BufferCopyFlags---- Flags BinFlags-{- |-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 ().--}-data BinFlags = -      BinFlagsNoResync-    {- ^-    don\'t resync a state change when elements are-                added or linked in the bin (Since 1.0.5)-    -}-    | BinFlagsStreamsAware-    {- ^-    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)-    -}-    | BinFlagsLast-    {- ^-    the last enum in the series of flags for bins.-    Derived classes can use this as first value in a list of flags.-    -}-    | AnotherBinFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BinFlags where-    fromEnum BinFlagsNoResync = 16384-    fromEnum BinFlagsStreamsAware = 32768-    fromEnum BinFlagsLast = 524288-    fromEnum (AnotherBinFlags k) = k--    toEnum 16384 = BinFlagsNoResync-    toEnum 32768 = BinFlagsStreamsAware-    toEnum 524288 = BinFlagsLast-    toEnum k = AnotherBinFlags k--instance P.Ord BinFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_bin_flags_get_type" c_gst_bin_flags_get_type :: -    IO GType--instance BoxedFlags BinFlags where-    boxedFlagsType _ = c_gst_bin_flags_get_type--instance IsGFlag BinFlags---- Flags AllocatorFlags-{- |-Flags for allocators.--}-data AllocatorFlags = -      AllocatorFlagsCustomAlloc-    {- ^-    The allocator has a custom alloc function.-    -}-    | AllocatorFlagsLast-    {- ^-    first flag that can be used for custom purposes-    -}-    | AnotherAllocatorFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum AllocatorFlags where-    fromEnum AllocatorFlagsCustomAlloc = 16-    fromEnum AllocatorFlagsLast = 1048576-    fromEnum (AnotherAllocatorFlags k) = k--    toEnum 16 = AllocatorFlagsCustomAlloc-    toEnum 1048576 = AllocatorFlagsLast-    toEnum k = AnotherAllocatorFlags k--instance P.Ord AllocatorFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "gst_allocator_flags_get_type" c_gst_allocator_flags_get_type :: -    IO GType--instance BoxedFlags AllocatorFlags where-    boxedFlagsType _ = c_gst_allocator_flags_get_type--instance IsGFlag AllocatorFlags--
− GI/Gst/Flags.hs-boot
@@ -1,164 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Flags where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--data TracerValueFlags-instance P.Enum TracerValueFlags where-instance BoxedFlags TracerValueFlags where-instance IsGFlag TracerValueFlags-data StreamType-instance P.Enum StreamType where-instance BoxedFlags StreamType where-instance IsGFlag StreamType-data StreamFlags-instance P.Enum StreamFlags where-instance BoxedFlags StreamFlags where-instance IsGFlag StreamFlags-data StackTraceFlags-instance P.Enum StackTraceFlags where-instance BoxedFlags StackTraceFlags where-instance IsGFlag StackTraceFlags-data SegmentFlags-instance P.Enum SegmentFlags where-instance BoxedFlags SegmentFlags where-instance IsGFlag SegmentFlags-data SeekFlags-instance P.Enum SeekFlags where-instance BoxedFlags SeekFlags where-instance IsGFlag SeekFlags-data SchedulingFlags-instance P.Enum SchedulingFlags where-instance BoxedFlags SchedulingFlags where-instance IsGFlag SchedulingFlags-data QueryTypeFlags-instance P.Enum QueryTypeFlags where-instance BoxedFlags QueryTypeFlags where-instance IsGFlag QueryTypeFlags-data PluginFlags-instance P.Enum PluginFlags where-instance BoxedFlags PluginFlags where-instance IsGFlag PluginFlags-data PluginDependencyFlags-instance P.Enum PluginDependencyFlags where-instance BoxedFlags PluginDependencyFlags where-instance IsGFlag PluginDependencyFlags-data PipelineFlags-instance P.Enum PipelineFlags where-instance BoxedFlags PipelineFlags where-instance IsGFlag PipelineFlags-data ParseFlags-instance P.Enum ParseFlags where-instance BoxedFlags ParseFlags where-instance IsGFlag ParseFlags-data PadTemplateFlags-instance P.Enum PadTemplateFlags where-instance BoxedFlags PadTemplateFlags where-instance IsGFlag PadTemplateFlags-data PadProbeType-instance P.Enum PadProbeType where-instance BoxedFlags PadProbeType where-instance IsGFlag PadProbeType-data PadLinkCheck-instance P.Enum PadLinkCheck where-instance BoxedFlags PadLinkCheck where-instance IsGFlag PadLinkCheck-data PadFlags-instance P.Enum PadFlags where-instance BoxedFlags PadFlags where-instance IsGFlag PadFlags-data ObjectFlags-instance P.Enum ObjectFlags where-instance BoxedFlags ObjectFlags where-instance IsGFlag ObjectFlags-data MiniObjectFlags-instance P.Enum MiniObjectFlags where-instance BoxedFlags MiniObjectFlags where-instance IsGFlag MiniObjectFlags-data MetaFlags-instance P.Enum MetaFlags where-instance BoxedFlags MetaFlags where-instance IsGFlag MetaFlags-data MessageType-instance P.Enum MessageType where-instance BoxedFlags MessageType where-instance IsGFlag MessageType-data MemoryFlags-instance P.Enum MemoryFlags where-instance BoxedFlags MemoryFlags where-instance IsGFlag MemoryFlags-data MapFlags-instance P.Enum MapFlags where-instance BoxedFlags MapFlags where-instance IsGFlag MapFlags-data LockFlags-instance P.Enum LockFlags where-instance BoxedFlags LockFlags where-instance IsGFlag LockFlags-data EventTypeFlags-instance P.Enum EventTypeFlags where-instance BoxedFlags EventTypeFlags where-instance IsGFlag EventTypeFlags-data ElementFlags-instance P.Enum ElementFlags where-instance BoxedFlags ElementFlags where-instance IsGFlag ElementFlags-data DebugGraphDetails-instance P.Enum DebugGraphDetails where-instance BoxedFlags DebugGraphDetails where-instance IsGFlag DebugGraphDetails-data DebugColorFlags-instance P.Enum DebugColorFlags where-instance BoxedFlags DebugColorFlags where-instance IsGFlag DebugColorFlags-data ClockFlags-instance P.Enum ClockFlags where-instance BoxedFlags ClockFlags where-instance IsGFlag ClockFlags-data CapsFlags-instance P.Enum CapsFlags where-instance BoxedFlags CapsFlags where-instance IsGFlag CapsFlags-data BusFlags-instance P.Enum BusFlags where-instance BoxedFlags BusFlags where-instance IsGFlag BusFlags-data BufferPoolAcquireFlags-instance P.Enum BufferPoolAcquireFlags where-instance BoxedFlags BufferPoolAcquireFlags where-instance IsGFlag BufferPoolAcquireFlags-data BufferFlags-instance P.Enum BufferFlags where-instance BoxedFlags BufferFlags where-instance IsGFlag BufferFlags-data BufferCopyFlags-instance P.Enum BufferCopyFlags where-instance BoxedFlags BufferCopyFlags where-instance IsGFlag BufferCopyFlags-data BinFlags-instance P.Enum BinFlags where-instance BoxedFlags BinFlags where-instance IsGFlag BinFlags-data AllocatorFlags-instance P.Enum AllocatorFlags where-instance BoxedFlags AllocatorFlags where-instance IsGFlag AllocatorFlags
− GI/Gst/Functions.hs
@@ -1,5497 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Functions-    ( -- -- * Methods--- ** debugAddLogFunction #method:debugAddLogFunction#--    debugAddLogFunction                     ,----- ** debugAddRingBufferLogger #method:debugAddRingBufferLogger#--    debugAddRingBufferLogger                ,----- ** debugBinToDotData #method:debugBinToDotData#--    debugBinToDotData                       ,----- ** debugBinToDotFile #method:debugBinToDotFile#--    debugBinToDotFile                       ,----- ** debugBinToDotFileWithTs #method:debugBinToDotFileWithTs#--    debugBinToDotFileWithTs                 ,----- ** debugConstructTermColor #method:debugConstructTermColor#--    debugConstructTermColor                 ,----- ** debugConstructWinColor #method:debugConstructWinColor#--    debugConstructWinColor                  ,----- ** debugGetAllCategories #method:debugGetAllCategories#--    debugGetAllCategories                   ,----- ** debugGetColorMode #method:debugGetColorMode#--    debugGetColorMode                       ,----- ** debugGetDefaultThreshold #method:debugGetDefaultThreshold#--    debugGetDefaultThreshold                ,----- ** debugGetStackTrace #method:debugGetStackTrace#--    debugGetStackTrace                      ,----- ** debugIsActive #method:debugIsActive#--    debugIsActive                           ,----- ** debugIsColored #method:debugIsColored#--    debugIsColored                          ,----- ** debugLogDefault #method:debugLogDefault#--    debugLogDefault                         ,----- ** debugPrintStackTrace #method:debugPrintStackTrace#--    debugPrintStackTrace                    ,----- ** debugRemoveLogFunction #method:debugRemoveLogFunction#--    debugRemoveLogFunction                  ,----- ** debugRemoveLogFunctionByData #method:debugRemoveLogFunctionByData#--    debugRemoveLogFunctionByData            ,----- ** debugRemoveRingBufferLogger #method:debugRemoveRingBufferLogger#--    debugRemoveRingBufferLogger             ,----- ** debugRingBufferLoggerGetLogs #method:debugRingBufferLoggerGetLogs#--    debugRingBufferLoggerGetLogs            ,----- ** debugSetActive #method:debugSetActive#--    debugSetActive                          ,----- ** debugSetColorMode #method:debugSetColorMode#--    debugSetColorMode                       ,----- ** debugSetColorModeFromString #method:debugSetColorModeFromString#--    debugSetColorModeFromString             ,----- ** debugSetColored #method:debugSetColored#--    debugSetColored                         ,----- ** debugSetDefaultThreshold #method:debugSetDefaultThreshold#--    debugSetDefaultThreshold                ,----- ** debugSetThresholdForName #method:debugSetThresholdForName#--    debugSetThresholdForName                ,----- ** debugSetThresholdFromString #method:debugSetThresholdFromString#--    debugSetThresholdFromString             ,----- ** debugUnsetThresholdForName #method:debugUnsetThresholdForName#--    debugUnsetThresholdForName              ,----- ** deinit #method:deinit#--    deinit                                  ,----- ** dynamicTypeRegister #method:dynamicTypeRegister#--    dynamicTypeRegister                     ,----- ** errorGetMessage #method:errorGetMessage#--    errorGetMessage                         ,----- ** filenameToUri #method:filenameToUri#--    filenameToUri                           ,----- ** flowGetName #method:flowGetName#--    flowGetName                             ,----- ** flowToQuark #method:flowToQuark#--    flowToQuark                             ,----- ** formatsContains #method:formatsContains#--    formatsContains                         ,----- ** getMainExecutablePath #method:getMainExecutablePath#--    getMainExecutablePath                   ,----- ** init #method:init#--    init                                    ,----- ** initCheck #method:initCheck#--    initCheck                               ,----- ** isCapsFeatures #method:isCapsFeatures#--    isCapsFeatures                          ,----- ** isInitialized #method:isInitialized#--    isInitialized                           ,----- ** paramSpecArray #method:paramSpecArray#--    paramSpecArray                          ,----- ** paramSpecFraction #method:paramSpecFraction#--    paramSpecFraction                       ,----- ** parentBufferMetaApiGetType #method:parentBufferMetaApiGetType#--    parentBufferMetaApiGetType              ,----- ** parseBinFromDescription #method:parseBinFromDescription#--    parseBinFromDescription                 ,----- ** parseBinFromDescriptionFull #method:parseBinFromDescriptionFull#--    parseBinFromDescriptionFull             ,----- ** parseLaunch #method:parseLaunch#--    parseLaunch                             ,----- ** parseLaunchFull #method:parseLaunchFull#--    parseLaunchFull                         ,----- ** parseLaunchv #method:parseLaunchv#--    parseLaunchv                            ,----- ** parseLaunchvFull #method:parseLaunchvFull#--    parseLaunchvFull                        ,----- ** protectionFilterSystemsByAvailableDecryptors #method:protectionFilterSystemsByAvailableDecryptors#--    protectionFilterSystemsByAvailableDecryptors,----- ** protectionMetaApiGetType #method:protectionMetaApiGetType#--    protectionMetaApiGetType                ,----- ** protectionSelectSystem #method:protectionSelectSystem#--    protectionSelectSystem                  ,----- ** referenceTimestampMetaApiGetType #method:referenceTimestampMetaApiGetType#--    referenceTimestampMetaApiGetType        ,----- ** segtrapIsEnabled #method:segtrapIsEnabled#--    segtrapIsEnabled                        ,----- ** segtrapSetEnabled #method:segtrapSetEnabled#--    segtrapSetEnabled                       ,----- ** staticCapsGetType #method:staticCapsGetType#--    staticCapsGetType                       ,----- ** staticPadTemplateGetType #method:staticPadTemplateGetType#--    staticPadTemplateGetType                ,----- ** tagExists #method:tagExists#--    tagExists                               ,----- ** tagGetDescription #method:tagGetDescription#--    tagGetDescription                       ,----- ** tagGetFlag #method:tagGetFlag#--    tagGetFlag                              ,----- ** tagGetNick #method:tagGetNick#--    tagGetNick                              ,----- ** tagGetType #method:tagGetType#--    tagGetType                              ,----- ** tagIsFixed #method:tagIsFixed#--    tagIsFixed                              ,----- ** tagMergeStringsWithComma #method:tagMergeStringsWithComma#--    tagMergeStringsWithComma                ,----- ** tagMergeUseFirst #method:tagMergeUseFirst#--    tagMergeUseFirst                        ,----- ** typeFindGetType #method:typeFindGetType#--    typeFindGetType                         ,----- ** updateRegistry #method:updateRegistry#--    updateRegistry                          ,----- ** utilArrayBinarySearch #method:utilArrayBinarySearch#--    utilArrayBinarySearch                   ,----- ** utilDoubleToFraction #method:utilDoubleToFraction#--    utilDoubleToFraction                    ,----- ** utilDumpBuffer #method:utilDumpBuffer#--    utilDumpBuffer                          ,----- ** utilDumpMem #method:utilDumpMem#--    utilDumpMem                             ,----- ** utilFractionAdd #method:utilFractionAdd#--    utilFractionAdd                         ,----- ** utilFractionCompare #method:utilFractionCompare#--    utilFractionCompare                     ,----- ** utilFractionMultiply #method:utilFractionMultiply#--    utilFractionMultiply                    ,----- ** utilFractionToDouble #method:utilFractionToDouble#--    utilFractionToDouble                    ,----- ** utilGdoubleToGuint64 #method:utilGdoubleToGuint64#--    utilGdoubleToGuint64                    ,----- ** utilGetObjectArray #method:utilGetObjectArray#--    utilGetObjectArray                      ,----- ** utilGetTimestamp #method:utilGetTimestamp#--    utilGetTimestamp                        ,----- ** utilGreatestCommonDivisor #method:utilGreatestCommonDivisor#--    utilGreatestCommonDivisor               ,----- ** utilGreatestCommonDivisorInt64 #method:utilGreatestCommonDivisorInt64#--    utilGreatestCommonDivisorInt64          ,----- ** utilGroupIdNext #method:utilGroupIdNext#--    utilGroupIdNext                         ,----- ** utilGuint64ToGdouble #method:utilGuint64ToGdouble#--    utilGuint64ToGdouble                    ,----- ** utilSeqnumCompare #method:utilSeqnumCompare#--    utilSeqnumCompare                       ,----- ** utilSeqnumNext #method:utilSeqnumNext#--    utilSeqnumNext                          ,----- ** utilSetObjectArg #method:utilSetObjectArg#--    utilSetObjectArg                        ,----- ** utilSetObjectArray #method:utilSetObjectArray#--    utilSetObjectArray                      ,----- ** utilSetValueFromString #method:utilSetValueFromString#--    utilSetValueFromString                  ,----- ** utilUint64Scale #method:utilUint64Scale#--    utilUint64Scale                         ,----- ** utilUint64ScaleCeil #method:utilUint64ScaleCeil#--    utilUint64ScaleCeil                     ,----- ** utilUint64ScaleInt #method:utilUint64ScaleInt#--    utilUint64ScaleInt                      ,----- ** utilUint64ScaleIntCeil #method:utilUint64ScaleIntCeil#--    utilUint64ScaleIntCeil                  ,----- ** utilUint64ScaleIntRound #method:utilUint64ScaleIntRound#--    utilUint64ScaleIntRound                 ,----- ** utilUint64ScaleRound #method:utilUint64ScaleRound#--    utilUint64ScaleRound                    ,----- ** valueCanCompare #method:valueCanCompare#--    valueCanCompare                         ,----- ** valueCanIntersect #method:valueCanIntersect#--    valueCanIntersect                       ,----- ** valueCanSubtract #method:valueCanSubtract#--    valueCanSubtract                        ,----- ** valueCanUnion #method:valueCanUnion#--    valueCanUnion                           ,----- ** valueCompare #method:valueCompare#--    valueCompare                            ,----- ** valueDeserialize #method:valueDeserialize#--    valueDeserialize                        ,----- ** valueFixate #method:valueFixate#--    valueFixate                             ,----- ** valueFractionMultiply #method:valueFractionMultiply#--    valueFractionMultiply                   ,----- ** valueFractionSubtract #method:valueFractionSubtract#--    valueFractionSubtract                   ,----- ** valueGetBitmask #method:valueGetBitmask#--    valueGetBitmask                         ,----- ** valueGetCaps #method:valueGetCaps#--    valueGetCaps                            ,----- ** valueGetCapsFeatures #method:valueGetCapsFeatures#--    valueGetCapsFeatures                    ,----- ** valueGetDoubleRangeMax #method:valueGetDoubleRangeMax#--    valueGetDoubleRangeMax                  ,----- ** valueGetDoubleRangeMin #method:valueGetDoubleRangeMin#--    valueGetDoubleRangeMin                  ,----- ** valueGetFlagsetFlags #method:valueGetFlagsetFlags#--    valueGetFlagsetFlags                    ,----- ** valueGetFlagsetMask #method:valueGetFlagsetMask#--    valueGetFlagsetMask                     ,----- ** valueGetFractionDenominator #method:valueGetFractionDenominator#--    valueGetFractionDenominator             ,----- ** valueGetFractionNumerator #method:valueGetFractionNumerator#--    valueGetFractionNumerator               ,----- ** valueGetFractionRangeMax #method:valueGetFractionRangeMax#--    valueGetFractionRangeMax                ,----- ** valueGetFractionRangeMin #method:valueGetFractionRangeMin#--    valueGetFractionRangeMin                ,----- ** valueGetInt64RangeMax #method:valueGetInt64RangeMax#--    valueGetInt64RangeMax                   ,----- ** valueGetInt64RangeMin #method:valueGetInt64RangeMin#--    valueGetInt64RangeMin                   ,----- ** valueGetInt64RangeStep #method:valueGetInt64RangeStep#--    valueGetInt64RangeStep                  ,----- ** valueGetIntRangeMax #method:valueGetIntRangeMax#--    valueGetIntRangeMax                     ,----- ** valueGetIntRangeMin #method:valueGetIntRangeMin#--    valueGetIntRangeMin                     ,----- ** valueGetIntRangeStep #method:valueGetIntRangeStep#--    valueGetIntRangeStep                    ,----- ** valueGetStructure #method:valueGetStructure#--    valueGetStructure                       ,----- ** valueInitAndCopy #method:valueInitAndCopy#--    valueInitAndCopy                        ,----- ** valueIntersect #method:valueIntersect#--    valueIntersect                          ,----- ** valueIsFixed #method:valueIsFixed#--    valueIsFixed                            ,----- ** valueIsSubset #method:valueIsSubset#--    valueIsSubset                           ,----- ** valueRegister #method:valueRegister#--    valueRegister                           ,----- ** valueSerialize #method:valueSerialize#--    valueSerialize                          ,----- ** valueSetBitmask #method:valueSetBitmask#--    valueSetBitmask                         ,----- ** valueSetCaps #method:valueSetCaps#--    valueSetCaps                            ,----- ** valueSetCapsFeatures #method:valueSetCapsFeatures#--    valueSetCapsFeatures                    ,----- ** valueSetDoubleRange #method:valueSetDoubleRange#--    valueSetDoubleRange                     ,----- ** valueSetFlagset #method:valueSetFlagset#--    valueSetFlagset                         ,----- ** valueSetFraction #method:valueSetFraction#--    valueSetFraction                        ,----- ** valueSetFractionRange #method:valueSetFractionRange#--    valueSetFractionRange                   ,----- ** valueSetFractionRangeFull #method:valueSetFractionRangeFull#--    valueSetFractionRangeFull               ,----- ** valueSetInt64Range #method:valueSetInt64Range#--    valueSetInt64Range                      ,----- ** valueSetInt64RangeStep #method:valueSetInt64RangeStep#--    valueSetInt64RangeStep                  ,----- ** valueSetIntRange #method:valueSetIntRange#--    valueSetIntRange                        ,----- ** valueSetIntRangeStep #method:valueSetIntRangeStep#--    valueSetIntRangeStep                    ,----- ** valueSetStructure #method:valueSetStructure#--    valueSetStructure                       ,----- ** valueSubtract #method:valueSubtract#--    valueSubtract                           ,----- ** valueUnion #method:valueUnion#--    valueUnion                              ,----- ** version #method:version#--    version                                 ,----- ** versionString #method:versionString#--    versionString                           ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.GObject.Flags as GObject.Flags-import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.GObject.Structs.ValueArray as GObject.ValueArray-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Bin as Gst.Bin-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Plugin as Gst.Plugin-import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.CapsFeatures as Gst.CapsFeatures-import {-# SOURCE #-} qualified GI.Gst.Structs.DebugCategory as Gst.DebugCategory-import {-# SOURCE #-} qualified GI.Gst.Structs.DebugMessage as Gst.DebugMessage-import {-# SOURCE #-} qualified GI.Gst.Structs.ParseContext as Gst.ParseContext-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure-import {-# SOURCE #-} qualified GI.Gst.Structs.ValueTable as Gst.ValueTable---- function gst_version_string--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_version_string" gst_version_string :: -    IO CString--{- |-This function returns a string that is useful for describing this version-of GStreamer to the outside world: user agent strings, logging, ...--}-versionString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m T.Text-    {- ^ __Returns:__ a newly allocated string describing this version-    of GStreamer. -}-versionString  = liftIO $ do-    result <- gst_version_string-    checkUnexpectedReturnNULL "versionString" result-    result' <- cstringToText result-    freeMem result-    return result'----- function gst_version--- Args : [Arg {argCName = "major", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a guint to store the major version number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "minor", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a guint to store the minor version number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "micro", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a guint to store the micro version number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "nano", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a guint to store the nano version number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_version" gst_version :: -    Ptr Word32 ->                           -- major : TBasicType TUInt-    Ptr Word32 ->                           -- minor : TBasicType TUInt-    Ptr Word32 ->                           -- micro : TBasicType TUInt-    Ptr Word32 ->                           -- nano : TBasicType TUInt-    IO ()--{- |-Gets the version number of the GStreamer library.--}-version ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ((Word32, Word32, Word32, Word32))-version  = liftIO $ do-    major <- allocMem :: IO (Ptr Word32)-    minor <- allocMem :: IO (Ptr Word32)-    micro <- allocMem :: IO (Ptr Word32)-    nano <- allocMem :: IO (Ptr Word32)-    gst_version major minor micro nano-    major' <- peek major-    minor' <- peek minor-    micro' <- peek micro-    nano' <- peek nano-    freeMem major-    freeMem minor-    freeMem micro-    freeMem nano-    return (major', minor', micro', nano')----- function gst_value_union--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the destination value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to union", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another value to union", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_union" gst_value_union :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- value1 : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- value2 : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-Creates a GValue corresponding to the union of /@value1@/ and /@value2@/.--}-valueUnion ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value1@/: a value to union -}-    -> GValue-    {- ^ /@value2@/: another value to union -}-    -> m ((Bool, GValue))-    {- ^ __Returns:__ 'True' if the union succeeded. -}-valueUnion value1 value2 = liftIO $ do-    dest <- callocBoxedBytes 24 :: IO (Ptr GValue)-    value1' <- unsafeManagedPtrGetPtr value1-    value2' <- unsafeManagedPtrGetPtr value2-    result <- gst_value_union dest value1' value2'-    let result' = (/= 0) result-    dest' <- (wrapBoxed GValue) dest-    touchManagedPtr value1-    touchManagedPtr value2-    return (result', dest')----- function gst_value_subtract--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the destination value\n    for the result if the subtraction is not empty. May be %NULL,\n    in which case the resulting set will not be computed, which can\n    give a fair speedup.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "minuend", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to subtract from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subtrahend", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to subtract", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_subtract" gst_value_subtract :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- minuend : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- subtrahend : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-Subtracts /@subtrahend@/ from /@minuend@/ and stores the result in /@dest@/.-Note that this means subtraction as in sets, not as in mathematics.--}-valueSubtract ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@minuend@/: the value to subtract from -}-    -> GValue-    {- ^ /@subtrahend@/: the value to subtract -}-    -> m ((Bool, GValue))-    {- ^ __Returns:__ 'True' if the subtraction is not empty -}-valueSubtract minuend subtrahend = liftIO $ do-    dest <- callocBoxedBytes 24 :: IO (Ptr GValue)-    minuend' <- unsafeManagedPtrGetPtr minuend-    subtrahend' <- unsafeManagedPtrGetPtr subtrahend-    result <- gst_value_subtract dest minuend' subtrahend'-    let result' = (/= 0) result-    dest' <- (wrapBoxed GValue) dest-    touchManagedPtr minuend-    touchManagedPtr subtrahend-    return (result', dest')----- function gst_value_set_structure--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_STRUCTURE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the structure to set the value to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_structure" gst_value_set_structure :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Sets the contents of /@value@/ to /@structure@/.--}-valueSetStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_STRUCTURE -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the structure to set the value to -}-    -> m ()-valueSetStructure value structure = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    structure' <- unsafeManagedPtrGetPtr structure-    gst_value_set_structure value' structure'-    touchManagedPtr value-    touchManagedPtr structure-    return ()----- function gst_value_set_int_range_step--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the step of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_int_range_step" gst_value_set_int_range_step :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Int32 ->                                -- start : TBasicType TInt-    Int32 ->                                -- end : TBasicType TInt-    Int32 ->                                -- step : TBasicType TInt-    IO ()--{- |-Sets /@value@/ to the range specified by /@start@/, /@end@/ and /@step@/.--}-valueSetIntRangeStep ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT_RANGE -}-    -> Int32-    {- ^ /@start@/: the start of the range -}-    -> Int32-    {- ^ /@end@/: the end of the range -}-    -> Int32-    {- ^ /@step@/: the step of the range -}-    -> m ()-valueSetIntRangeStep value start end step = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    gst_value_set_int_range_step value' start end step-    touchManagedPtr value-    return ()----- function gst_value_set_int_range--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_int_range" gst_value_set_int_range :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Int32 ->                                -- start : TBasicType TInt-    Int32 ->                                -- end : TBasicType TInt-    IO ()--{- |-Sets /@value@/ to the range specified by /@start@/ and /@end@/.--}-valueSetIntRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT_RANGE -}-    -> Int32-    {- ^ /@start@/: the start of the range -}-    -> Int32-    {- ^ /@end@/: the end of the range -}-    -> m ()-valueSetIntRange value start end = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    gst_value_set_int_range value' start end-    touchManagedPtr value-    return ()----- function gst_value_set_int64_range_step--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT64_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "step", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the step of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_int64_range_step" gst_value_set_int64_range_step :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Int64 ->                                -- start : TBasicType TInt64-    Int64 ->                                -- end : TBasicType TInt64-    Int64 ->                                -- step : TBasicType TInt64-    IO ()--{- |-Sets /@value@/ to the range specified by /@start@/, /@end@/ and /@step@/.--}-valueSetInt64RangeStep ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT64_RANGE -}-    -> Int64-    {- ^ /@start@/: the start of the range -}-    -> Int64-    {- ^ /@end@/: the end of the range -}-    -> Int64-    {- ^ /@step@/: the step of the range -}-    -> m ()-valueSetInt64RangeStep value start end step = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    gst_value_set_int64_range_step value' start end step-    touchManagedPtr value-    return ()----- function gst_value_set_int64_range--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT64_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_int64_range" gst_value_set_int64_range :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Int64 ->                                -- start : TBasicType TInt64-    Int64 ->                                -- end : TBasicType TInt64-    IO ()--{- |-Sets /@value@/ to the range specified by /@start@/ and /@end@/.--}-valueSetInt64Range ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT64_RANGE -}-    -> Int64-    {- ^ /@start@/: the start of the range -}-    -> Int64-    {- ^ /@end@/: the end of the range -}-    -> m ()-valueSetInt64Range value start end = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    gst_value_set_int64_range value' start end-    touchManagedPtr value-    return ()----- function gst_value_set_fraction_range_full--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_FRACTION_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "numerator_start", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numerator start of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "denominator_start", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the denominator start of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "numerator_end", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numerator end of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "denominator_end", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the denominator end of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_fraction_range_full" gst_value_set_fraction_range_full :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Int32 ->                                -- numerator_start : TBasicType TInt-    Int32 ->                                -- denominator_start : TBasicType TInt-    Int32 ->                                -- numerator_end : TBasicType TInt-    Int32 ->                                -- denominator_end : TBasicType TInt-    IO ()--{- |-Sets /@value@/ to the range specified by /@numeratorStart@/\//@denominatorStart@/-and /@numeratorEnd@/\//@denominatorEnd@/.--}-valueSetFractionRangeFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_FRACTION_RANGE -}-    -> Int32-    {- ^ /@numeratorStart@/: the numerator start of the range -}-    -> Int32-    {- ^ /@denominatorStart@/: the denominator start of the range -}-    -> Int32-    {- ^ /@numeratorEnd@/: the numerator end of the range -}-    -> Int32-    {- ^ /@denominatorEnd@/: the denominator end of the range -}-    -> m ()-valueSetFractionRangeFull value numeratorStart denominatorStart numeratorEnd denominatorEnd = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    gst_value_set_fraction_range_full value' numeratorStart denominatorStart numeratorEnd denominatorEnd-    touchManagedPtr value-    return ()----- function gst_value_set_fraction_range--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_FRACTION_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start of the range (a GST_TYPE_FRACTION GValue)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end of the range (a GST_TYPE_FRACTION GValue)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_fraction_range" gst_value_set_fraction_range :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- start : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- end : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-Sets /@value@/ to the range specified by /@start@/ and /@end@/.--}-valueSetFractionRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_FRACTION_RANGE -}-    -> GValue-    {- ^ /@start@/: the start of the range (a GST_TYPE_FRACTION GValue) -}-    -> GValue-    {- ^ /@end@/: the end of the range (a GST_TYPE_FRACTION GValue) -}-    -> m ()-valueSetFractionRange value start end = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    start' <- unsafeManagedPtrGetPtr start-    end' <- unsafeManagedPtrGetPtr end-    gst_value_set_fraction_range value' start' end'-    touchManagedPtr value-    touchManagedPtr start-    touchManagedPtr end-    return ()----- function gst_value_set_fraction--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FRACTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "numerator", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numerator of the fraction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "denominator", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the denominator of the fraction", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_fraction" gst_value_set_fraction :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Int32 ->                                -- numerator : TBasicType TInt-    Int32 ->                                -- denominator : TBasicType TInt-    IO ()--{- |-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.--}-valueSetFraction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to @/GST_TYPE_FRACTION/@ -}-    -> Int32-    {- ^ /@numerator@/: the numerator of the fraction -}-    -> Int32-    {- ^ /@denominator@/: the denominator of the fraction -}-    -> m ()-valueSetFraction value numerator denominator = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    gst_value_set_fraction value' numerator denominator-    touchManagedPtr value-    return ()----- function gst_value_set_flagset--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to %GST_TYPE_FLAG_SET", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value of the flags set or unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The mask indicate which flags bits must match for comparisons", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_flagset" gst_value_set_flagset :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Word32 ->                               -- flags : TBasicType TUInt-    Word32 ->                               -- mask : TBasicType TUInt-    IO ()--{- |-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\"--/Since: 1.6/--}-valueSetFlagset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to @/GST_TYPE_FLAG_SET/@ -}-    -> Word32-    {- ^ /@flags@/: The value of the flags set or unset -}-    -> Word32-    {- ^ /@mask@/: The mask indicate which flags bits must match for comparisons -}-    -> m ()-valueSetFlagset value flags mask = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    gst_value_set_flagset value' flags mask-    touchManagedPtr value-    return ()----- function gst_value_set_double_range--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_DOUBLE_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the end of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_double_range" gst_value_set_double_range :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    CDouble ->                              -- start : TBasicType TDouble-    CDouble ->                              -- end : TBasicType TDouble-    IO ()--{- |-Sets /@value@/ to the range specified by /@start@/ and /@end@/.--}-valueSetDoubleRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_DOUBLE_RANGE -}-    -> Double-    {- ^ /@start@/: the start of the range -}-    -> Double-    {- ^ /@end@/: the end of the range -}-    -> m ()-valueSetDoubleRange value start end = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    let start' = realToFrac start-    let end' = realToFrac end-    gst_value_set_double_range value' start' end'-    touchManagedPtr value-    return ()----- function gst_value_set_caps_features--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_CAPS_FEATURES", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the features to set the value to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_caps_features" gst_value_set_caps_features :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr Gst.CapsFeatures.CapsFeatures ->    -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO ()--{- |-Sets the contents of /@value@/ to /@features@/.--}-valueSetCapsFeatures ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_CAPS_FEATURES -}-    -> Gst.CapsFeatures.CapsFeatures-    {- ^ /@features@/: the features to set the value to -}-    -> m ()-valueSetCapsFeatures value features = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    features' <- unsafeManagedPtrGetPtr features-    gst_value_set_caps_features value' features'-    touchManagedPtr value-    touchManagedPtr features-    return ()----- function gst_value_set_caps--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_CAPS", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the caps to set the value to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_caps" gst_value_set_caps :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-Sets the contents of /@value@/ to /@caps@/. A reference to the-provided /@caps@/ will be taken by the /@value@/.--}-valueSetCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_CAPS -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: the caps to set the value to -}-    -> m ()-valueSetCaps value caps = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    caps' <- unsafeManagedPtrGetPtr caps-    gst_value_set_caps value' caps'-    touchManagedPtr value-    touchManagedPtr caps-    return ()----- function gst_value_set_bitmask--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_BITMASK", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bitmask", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the bitmask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_set_bitmask" gst_value_set_bitmask :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    Word64 ->                               -- bitmask : TBasicType TUInt64-    IO ()--{- |-Sets /@value@/ to the bitmask specified by /@bitmask@/.--}-valueSetBitmask ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to @/GST_TYPE_BITMASK/@ -}-    -> Word64-    {- ^ /@bitmask@/: the bitmask -}-    -> m ()-valueSetBitmask value bitmask = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    gst_value_set_bitmask value' bitmask-    touchManagedPtr value-    return ()----- function gst_value_serialize--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue to serialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_value_serialize" gst_value_serialize :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CString--{- |-tries to transform the given /@value@/ into a string representation that allows-getting back this string later on using 'GI.Gst.Functions.valueDeserialize'.--Free-function: g_free--}-valueSerialize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a 'GI.GObject.Structs.Value.Value' to serialize -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the serialization for /@value@/-or 'Nothing' if none exists -}-valueSerialize value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_serialize value'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr value-    return maybeResult----- function gst_value_register--- Args : [Arg {argCName = "table", argType = TInterface (Name {namespace = "Gst", name = "ValueTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "structure containing functions to register", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_register" gst_value_register :: -    Ptr Gst.ValueTable.ValueTable ->        -- table : TInterface (Name {namespace = "Gst", name = "ValueTable"})-    IO ()--{- |-Registers functions to perform calculations on 'GI.GObject.Structs.Value.Value' items of a given-type. Each type can only be added once.--}-valueRegister ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.ValueTable.ValueTable-    {- ^ /@table@/: structure containing functions to register -}-    -> m ()-valueRegister table = liftIO $ do-    table' <- unsafeManagedPtrGetPtr table-    gst_value_register table'-    touchManagedPtr table-    return ()----- function gst_value_is_subset--- Args : [Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_is_subset" gst_value_is_subset :: -    Ptr GValue ->                           -- value1 : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- value2 : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-Check that /@value1@/ is a subset of /@value2@/.--}-valueIsSubset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value1@/: a 'GI.GObject.Structs.Value.Value' -}-    -> GValue-    {- ^ /@value2@/: a 'GI.GObject.Structs.Value.Value' -}-    -> m Bool-    {- ^ __Returns:__ 'True' is /@value1@/ is a subset of /@value2@/ -}-valueIsSubset value1 value2 = liftIO $ do-    value1' <- unsafeManagedPtrGetPtr value1-    value2' <- unsafeManagedPtrGetPtr value2-    result <- gst_value_is_subset value1' value2'-    let result' = (/= 0) result-    touchManagedPtr value1-    touchManagedPtr value2-    return result'----- function gst_value_is_fixed--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_is_fixed" gst_value_is_fixed :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-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.--}-valueIsFixed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: the 'GI.GObject.Structs.Value.Value' to check -}-    -> m Bool-    {- ^ __Returns:__ true if the value is \"fixed\". -}-valueIsFixed value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_is_fixed value'-    let result' = (/= 0) result-    touchManagedPtr value-    return result'----- function gst_value_intersect--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n  a uninitialized #GValue that will hold the calculated\n  intersection value. May be %NULL if the resulting set if not\n  needed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything},Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another value to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_intersect" gst_value_intersect :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- value1 : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- value2 : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-Calculates the intersection of two values.  If the values have-a non-empty intersection, the value representing the intersection-is placed in /@dest@/, unless 'Nothing'.  If the intersection is non-empty,-/@dest@/ is not modified.--}-valueIntersect ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value1@/: a value to intersect -}-    -> GValue-    {- ^ /@value2@/: another value to intersect -}-    -> m ((Bool, GValue))-    {- ^ __Returns:__ 'True' if the intersection is non-empty -}-valueIntersect value1 value2 = liftIO $ do-    dest <- callocBoxedBytes 24 :: IO (Ptr GValue)-    value1' <- unsafeManagedPtrGetPtr value1-    value2' <- unsafeManagedPtrGetPtr value2-    result <- gst_value_intersect dest value1' value2'-    let result' = (/= 0) result-    dest' <- (wrapBoxed GValue) dest-    touchManagedPtr value1-    touchManagedPtr value2-    return (result', dest')----- function gst_value_init_and_copy--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the target value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "src", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_value_init_and_copy" gst_value_init_and_copy :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- src : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-Initialises the target value to be of the same type as source and then copies-the contents from source to target.--}-valueInitAndCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@src@/: the source value -}-    -> m (GValue)-valueInitAndCopy src = liftIO $ do-    dest <- callocBoxedBytes 24 :: IO (Ptr GValue)-    src' <- unsafeManagedPtrGetPtr src-    gst_value_init_and_copy dest src'-    dest' <- (wrapBoxed GValue) dest-    touchManagedPtr src-    return dest'----- function gst_value_get_structure--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_STRUCTURE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_structure" gst_value_get_structure :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO (Ptr Gst.Structure.Structure)--{- |-Gets the contents of /@value@/.--}-valueGetStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_STRUCTURE -}-    -> m Gst.Structure.Structure-    {- ^ __Returns:__ the contents of /@value@/ -}-valueGetStructure value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_structure value'-    checkUnexpectedReturnNULL "valueGetStructure" result-    result' <- (newBoxed Gst.Structure.Structure) result-    touchManagedPtr value-    return result'----- function gst_value_get_int_range_step--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_int_range_step" gst_value_get_int_range_step :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Int32--{- |-Gets the step of the range specified by /@value@/.--}-valueGetIntRangeStep ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT_RANGE -}-    -> m Int32-    {- ^ __Returns:__ the step of the range -}-valueGetIntRangeStep value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_int_range_step value'-    touchManagedPtr value-    return result----- function gst_value_get_int_range_min--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_int_range_min" gst_value_get_int_range_min :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Int32--{- |-Gets the minimum of the range specified by /@value@/.--}-valueGetIntRangeMin ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT_RANGE -}-    -> m Int32-    {- ^ __Returns:__ the minimum of the range -}-valueGetIntRangeMin value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_int_range_min value'-    touchManagedPtr value-    return result----- function gst_value_get_int_range_max--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_int_range_max" gst_value_get_int_range_max :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Int32--{- |-Gets the maximum of the range specified by /@value@/.--}-valueGetIntRangeMax ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT_RANGE -}-    -> m Int32-    {- ^ __Returns:__ the maximum of the range -}-valueGetIntRangeMax value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_int_range_max value'-    touchManagedPtr value-    return result----- function gst_value_get_int64_range_step--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT64_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_int64_range_step" gst_value_get_int64_range_step :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Int64--{- |-Gets the step of the range specified by /@value@/.--}-valueGetInt64RangeStep ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT64_RANGE -}-    -> m Int64-    {- ^ __Returns:__ the step of the range -}-valueGetInt64RangeStep value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_int64_range_step value'-    touchManagedPtr value-    return result----- function gst_value_get_int64_range_min--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT64_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_int64_range_min" gst_value_get_int64_range_min :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Int64--{- |-Gets the minimum of the range specified by /@value@/.--}-valueGetInt64RangeMin ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT64_RANGE -}-    -> m Int64-    {- ^ __Returns:__ the minimum of the range -}-valueGetInt64RangeMin value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_int64_range_min value'-    touchManagedPtr value-    return result----- function gst_value_get_int64_range_max--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_INT64_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_int64_range_max" gst_value_get_int64_range_max :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Int64--{- |-Gets the maximum of the range specified by /@value@/.--}-valueGetInt64RangeMax ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_INT64_RANGE -}-    -> m Int64-    {- ^ __Returns:__ the maximum of the range -}-valueGetInt64RangeMax value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_int64_range_max value'-    touchManagedPtr value-    return result----- function gst_value_get_fraction_range_min--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_FRACTION_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Value"}))--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_fraction_range_min" gst_value_get_fraction_range_min :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO (Ptr GValue)--{- |-Gets the minimum of the range specified by /@value@/.--}-valueGetFractionRangeMin ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_FRACTION_RANGE -}-    -> m (Maybe GValue)-    {- ^ __Returns:__ the minimum of the range -}-valueGetFractionRangeMin value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_fraction_range_min value'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed GValue) result'-        return result''-    touchManagedPtr value-    return maybeResult----- function gst_value_get_fraction_range_max--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_FRACTION_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Value"}))--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_fraction_range_max" gst_value_get_fraction_range_max :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO (Ptr GValue)--{- |-Gets the maximum of the range specified by /@value@/.--}-valueGetFractionRangeMax ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_FRACTION_RANGE -}-    -> m (Maybe GValue)-    {- ^ __Returns:__ the maximum of the range -}-valueGetFractionRangeMax value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_fraction_range_max value'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed GValue) result'-        return result''-    touchManagedPtr value-    return maybeResult----- function gst_value_get_fraction_numerator--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FRACTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_fraction_numerator" gst_value_get_fraction_numerator :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Int32--{- |-Gets the numerator of the fraction specified by /@value@/.--}-valueGetFractionNumerator ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to @/GST_TYPE_FRACTION/@ -}-    -> m Int32-    {- ^ __Returns:__ the numerator of the fraction. -}-valueGetFractionNumerator value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_fraction_numerator value'-    touchManagedPtr value-    return result----- function gst_value_get_fraction_denominator--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FRACTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_fraction_denominator" gst_value_get_fraction_denominator :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Int32--{- |-Gets the denominator of the fraction specified by /@value@/.--}-valueGetFractionDenominator ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to @/GST_TYPE_FRACTION/@ -}-    -> m Int32-    {- ^ __Returns:__ the denominator of the fraction. -}-valueGetFractionDenominator value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_fraction_denominator value'-    touchManagedPtr value-    return result----- function gst_value_get_flagset_mask--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FLAG_SET", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_flagset_mask" gst_value_get_flagset_mask :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Word32--{- |-Retrieve the mask field of a GstFlagSet /@value@/.--/Since: 1.6/--}-valueGetFlagsetMask ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to @/GST_TYPE_FLAG_SET/@ -}-    -> m Word32-    {- ^ __Returns:__ the mask field of the flagset instance. -}-valueGetFlagsetMask value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_flagset_mask value'-    touchManagedPtr value-    return result----- function gst_value_get_flagset_flags--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FLAG_SET", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_flagset_flags" gst_value_get_flagset_flags :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Word32--{- |-Retrieve the flags field of a GstFlagSet /@value@/.--/Since: 1.6/--}-valueGetFlagsetFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to @/GST_TYPE_FLAG_SET/@ -}-    -> m Word32-    {- ^ __Returns:__ the flags field of the flagset instance. -}-valueGetFlagsetFlags value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_flagset_flags value'-    touchManagedPtr value-    return result----- function gst_value_get_double_range_min--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_DOUBLE_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_double_range_min" gst_value_get_double_range_min :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CDouble--{- |-Gets the minimum of the range specified by /@value@/.--}-valueGetDoubleRangeMin ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_DOUBLE_RANGE -}-    -> m Double-    {- ^ __Returns:__ the minimum of the range -}-valueGetDoubleRangeMin value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_double_range_min value'-    let result' = realToFrac result-    touchManagedPtr value-    return result'----- function gst_value_get_double_range_max--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_DOUBLE_RANGE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_double_range_max" gst_value_get_double_range_max :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CDouble--{- |-Gets the maximum of the range specified by /@value@/.--}-valueGetDoubleRangeMax ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_DOUBLE_RANGE -}-    -> m Double-    {- ^ __Returns:__ the maximum of the range -}-valueGetDoubleRangeMax value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_double_range_max value'-    let result' = realToFrac result-    touchManagedPtr value-    return result'----- function gst_value_get_caps_features--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_CAPS_FEATURES", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "CapsFeatures"}))--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_caps_features" gst_value_get_caps_features :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO (Ptr Gst.CapsFeatures.CapsFeatures)--{- |-Gets the contents of /@value@/.--}-valueGetCapsFeatures ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_CAPS_FEATURES -}-    -> m Gst.CapsFeatures.CapsFeatures-    {- ^ __Returns:__ the contents of /@value@/ -}-valueGetCapsFeatures value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_caps_features value'-    checkUnexpectedReturnNULL "valueGetCapsFeatures" result-    result' <- (newBoxed Gst.CapsFeatures.CapsFeatures) result-    touchManagedPtr value-    return result'----- function gst_value_get_caps--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to GST_TYPE_CAPS", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_caps" gst_value_get_caps :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO (Ptr Gst.Caps.Caps)--{- |-Gets the contents of /@value@/. The reference count of the returned-'GI.Gst.Structs.Caps.Caps' will not be modified, therefore the caller must take one-before getting rid of the /@value@/.--}-valueGetCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to GST_TYPE_CAPS -}-    -> m Gst.Caps.Caps-    {- ^ __Returns:__ the contents of /@value@/ -}-valueGetCaps value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_caps value'-    checkUnexpectedReturnNULL "valueGetCaps" result-    result' <- (newBoxed Gst.Caps.Caps) result-    touchManagedPtr value-    return result'----- function gst_value_get_bitmask--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_BITMASK", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_value_get_bitmask" gst_value_get_bitmask :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Word64--{- |-Gets the bitmask specified by /@value@/.--}-valueGetBitmask ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value@/: a GValue initialized to @/GST_TYPE_BITMASK/@ -}-    -> m Word64-    {- ^ __Returns:__ the bitmask. -}-valueGetBitmask value = liftIO $ do-    value' <- unsafeManagedPtrGetPtr value-    result <- gst_value_get_bitmask value'-    touchManagedPtr value-    return result----- function gst_value_fraction_subtract--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FRACTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minuend", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FRACTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subtrahend", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FRACTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_fraction_subtract" gst_value_fraction_subtract :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- minuend : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- subtrahend : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-Subtracts the /@subtrahend@/ from the /@minuend@/ and sets /@dest@/ to the result.--}-valueFractionSubtract ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@dest@/: a GValue initialized to @/GST_TYPE_FRACTION/@ -}-    -> GValue-    {- ^ /@minuend@/: a GValue initialized to @/GST_TYPE_FRACTION/@ -}-    -> GValue-    {- ^ /@subtrahend@/: a GValue initialized to @/GST_TYPE_FRACTION/@ -}-    -> m Bool-    {- ^ __Returns:__ 'False' in case of an error (like integer overflow), 'True' otherwise. -}-valueFractionSubtract dest minuend subtrahend = liftIO $ do-    dest' <- unsafeManagedPtrGetPtr dest-    minuend' <- unsafeManagedPtrGetPtr minuend-    subtrahend' <- unsafeManagedPtrGetPtr subtrahend-    result <- gst_value_fraction_subtract dest' minuend' subtrahend'-    let result' = (/= 0) result-    touchManagedPtr dest-    touchManagedPtr minuend-    touchManagedPtr subtrahend-    return result'----- function gst_value_fraction_multiply--- Args : [Arg {argCName = "product", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FRACTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "factor1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FRACTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "factor2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GValue initialized to #GST_TYPE_FRACTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_fraction_multiply" gst_value_fraction_multiply :: -    Ptr GValue ->                           -- product : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- factor1 : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- factor2 : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-Multiplies the two 'GI.GObject.Structs.Value.Value' items containing a @/GST_TYPE_FRACTION/@ and sets-/@product@/ to the product of the two fractions.--}-valueFractionMultiply ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@product@/: a GValue initialized to @/GST_TYPE_FRACTION/@ -}-    -> GValue-    {- ^ /@factor1@/: a GValue initialized to @/GST_TYPE_FRACTION/@ -}-    -> GValue-    {- ^ /@factor2@/: a GValue initialized to @/GST_TYPE_FRACTION/@ -}-    -> m Bool-    {- ^ __Returns:__ 'False' in case of an error (like integer overflow), 'True' otherwise. -}-valueFractionMultiply product factor1 factor2 = liftIO $ do-    product' <- unsafeManagedPtrGetPtr product-    factor1' <- unsafeManagedPtrGetPtr factor1-    factor2' <- unsafeManagedPtrGetPtr factor2-    result <- gst_value_fraction_multiply product' factor1' factor2'-    let result' = (/= 0) result-    touchManagedPtr product-    touchManagedPtr factor1-    touchManagedPtr factor2-    return result'----- function gst_value_fixate--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GValue to fixate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_fixate" gst_value_fixate :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- src : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-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'.--}-valueFixate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@dest@/: the 'GI.GObject.Structs.Value.Value' destination -}-    -> GValue-    {- ^ /@src@/: the 'GI.GObject.Structs.Value.Value' to fixate -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@dest@/ contains a fixated version of /@src@/. -}-valueFixate dest src = liftIO $ do-    dest' <- unsafeManagedPtrGetPtr dest-    src' <- unsafeManagedPtrGetPtr src-    result <- gst_value_fixate dest' src'-    let result' = (/= 0) result-    touchManagedPtr dest-    touchManagedPtr src-    return result'----- function gst_value_deserialize--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GValue to fill with contents of\n    deserialization", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "src", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string to deserialize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_deserialize" gst_value_deserialize :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    CString ->                              -- src : TBasicType TUTF8-    IO CInt--{- |-Tries to deserialize a string into the type specified by the given GValue.-If the operation succeeds, 'True' is returned, 'False' otherwise.--}-valueDeserialize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@src@/: string to deserialize -}-    -> m ((Bool, GValue))-    {- ^ __Returns:__ 'True' on success -}-valueDeserialize src = liftIO $ do-    dest <- callocBoxedBytes 24 :: IO (Ptr GValue)-    src' <- textToCString src-    result <- gst_value_deserialize dest src'-    let result' = (/= 0) result-    dest' <- (wrapBoxed GValue) dest-    freeMem src'-    return (result', dest')----- function gst_value_compare--- Args : [Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to compare", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another value to compare", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_value_compare" gst_value_compare :: -    Ptr GValue ->                           -- value1 : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- value2 : TInterface (Name {namespace = "GObject", name = "Value"})-    IO Int32--{- |-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.--}-valueCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value1@/: a value to compare -}-    -> GValue-    {- ^ /@value2@/: another value to compare -}-    -> m Int32-    {- ^ __Returns:__ comparison result -}-valueCompare value1 value2 = liftIO $ do-    value1' <- unsafeManagedPtrGetPtr value1-    value2' <- unsafeManagedPtrGetPtr value2-    result <- gst_value_compare value1' value2'-    touchManagedPtr value1-    touchManagedPtr value2-    return result----- function gst_value_can_union--- Args : [Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to union", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another value to union", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_can_union" gst_value_can_union :: -    Ptr GValue ->                           -- value1 : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- value2 : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-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'.--}-valueCanUnion ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value1@/: a value to union -}-    -> GValue-    {- ^ /@value2@/: another value to union -}-    -> m Bool-    {- ^ __Returns:__ 'True' if there is a function allowing the two values to-be unioned. -}-valueCanUnion value1 value2 = liftIO $ do-    value1' <- unsafeManagedPtrGetPtr value1-    value2' <- unsafeManagedPtrGetPtr value2-    result <- gst_value_can_union value1' value2'-    let result' = (/= 0) result-    touchManagedPtr value1-    touchManagedPtr value2-    return result'----- function gst_value_can_subtract--- Args : [Arg {argCName = "minuend", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to subtract from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subtrahend", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to subtract", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_can_subtract" gst_value_can_subtract :: -    Ptr GValue ->                           -- minuend : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- subtrahend : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-Checks if it\'s possible to subtract /@subtrahend@/ from /@minuend@/.--}-valueCanSubtract ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@minuend@/: the value to subtract from -}-    -> GValue-    {- ^ /@subtrahend@/: the value to subtract -}-    -> m Bool-    {- ^ __Returns:__ 'True' if a subtraction is possible -}-valueCanSubtract minuend subtrahend = liftIO $ do-    minuend' <- unsafeManagedPtrGetPtr minuend-    subtrahend' <- unsafeManagedPtrGetPtr subtrahend-    result <- gst_value_can_subtract minuend' subtrahend'-    let result' = (/= 0) result-    touchManagedPtr minuend-    touchManagedPtr subtrahend-    return result'----- function gst_value_can_intersect--- Args : [Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another value to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_can_intersect" gst_value_can_intersect :: -    Ptr GValue ->                           -- value1 : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- value2 : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-Determines if intersecting two values will produce a valid result.-Two values will produce a valid intersection if they have the same-type.--}-valueCanIntersect ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value1@/: a value to intersect -}-    -> GValue-    {- ^ /@value2@/: another value to intersect -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the values can intersect -}-valueCanIntersect value1 value2 = liftIO $ do-    value1' <- unsafeManagedPtrGetPtr value1-    value2' <- unsafeManagedPtrGetPtr value2-    result <- gst_value_can_intersect value1' value2'-    let result' = (/= 0) result-    touchManagedPtr value1-    touchManagedPtr value2-    return result'----- function gst_value_can_compare--- Args : [Arg {argCName = "value1", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to compare", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value2", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another value to compare", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_value_can_compare" gst_value_can_compare :: -    Ptr GValue ->                           -- value1 : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- value2 : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CInt--{- |-Determines if /@value1@/ and /@value2@/ can be compared.--}-valueCanCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@value1@/: a value to compare -}-    -> GValue-    {- ^ /@value2@/: another value to compare -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the values can be compared -}-valueCanCompare value1 value2 = liftIO $ do-    value1' <- unsafeManagedPtrGetPtr value1-    value2' <- unsafeManagedPtrGetPtr value2-    result <- gst_value_can_compare value1' value2'-    let result' = (/= 0) result-    touchManagedPtr value1-    touchManagedPtr value2-    return result'----- function gst_util_uint64_scale_round--- Args : [Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number to scale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numerator of the scale ratio", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "denom", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the denominator of the scale ratio", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_util_uint64_scale_round" gst_util_uint64_scale_round :: -    Word64 ->                               -- val : TBasicType TUInt64-    Word64 ->                               -- num : TBasicType TUInt64-    Word64 ->                               -- denom : TBasicType TUInt64-    IO Word64--{- |-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.--}-utilUint64ScaleRound ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@val@/: the number to scale -}-    -> Word64-    {- ^ /@num@/: the numerator of the scale ratio -}-    -> Word64-    {- ^ /@denom@/: the denominator of the scale ratio -}-    -> m Word64-    {- ^ __Returns:__ /@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 'GI.Gst.Functions.utilUint64Scale',-'GI.Gst.Functions.utilUint64ScaleCeil', 'GI.Gst.Functions.utilUint64ScaleInt',-'GI.Gst.Functions.utilUint64ScaleIntRound', 'GI.Gst.Functions.utilUint64ScaleIntCeil'. -}-utilUint64ScaleRound val num denom = liftIO $ do-    result <- gst_util_uint64_scale_round val num denom-    return result----- function gst_util_uint64_scale_int_round--- Args : [Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "guint64 (such as a #GstClockTime) to scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "numerator of the scale factor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "denom", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "denominator of the scale factor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_util_uint64_scale_int_round" gst_util_uint64_scale_int_round :: -    Word64 ->                               -- val : TBasicType TUInt64-    Int32 ->                                -- num : TBasicType TInt-    Int32 ->                                -- denom : TBasicType TInt-    IO Word64--{- |-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.--}-utilUint64ScaleIntRound ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@val@/: guint64 (such as a @/GstClockTime/@) to scale. -}-    -> Int32-    {- ^ /@num@/: numerator of the scale factor. -}-    -> Int32-    {- ^ /@denom@/: denominator of the scale factor. -}-    -> m Word64-    {- ^ __Returns:__ /@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 'GI.Gst.Functions.utilUint64ScaleInt',-'GI.Gst.Functions.utilUint64ScaleIntCeil', 'GI.Gst.Functions.utilUint64Scale',-'GI.Gst.Functions.utilUint64ScaleRound', 'GI.Gst.Functions.utilUint64ScaleCeil'. -}-utilUint64ScaleIntRound val num denom = liftIO $ do-    result <- gst_util_uint64_scale_int_round val num denom-    return result----- function gst_util_uint64_scale_int_ceil--- Args : [Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "guint64 (such as a #GstClockTime) to scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "numerator of the scale factor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "denom", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "denominator of the scale factor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_util_uint64_scale_int_ceil" gst_util_uint64_scale_int_ceil :: -    Word64 ->                               -- val : TBasicType TUInt64-    Int32 ->                                -- num : TBasicType TInt-    Int32 ->                                -- denom : TBasicType TInt-    IO Word64--{- |-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.--}-utilUint64ScaleIntCeil ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@val@/: guint64 (such as a @/GstClockTime/@) to scale. -}-    -> Int32-    {- ^ /@num@/: numerator of the scale factor. -}-    -> Int32-    {- ^ /@denom@/: denominator of the scale factor. -}-    -> m Word64-    {- ^ __Returns:__ /@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-'GI.Gst.Functions.utilUint64ScaleInt', 'GI.Gst.Functions.utilUint64ScaleIntRound',-'GI.Gst.Functions.utilUint64Scale', 'GI.Gst.Functions.utilUint64ScaleRound',-'GI.Gst.Functions.utilUint64ScaleCeil'. -}-utilUint64ScaleIntCeil val num denom = liftIO $ do-    result <- gst_util_uint64_scale_int_ceil val num denom-    return result----- function gst_util_uint64_scale_int--- Args : [Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "guint64 (such as a #GstClockTime) to scale.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "numerator of the scale factor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "denom", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "denominator of the scale factor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_util_uint64_scale_int" gst_util_uint64_scale_int :: -    Word64 ->                               -- val : TBasicType TUInt64-    Int32 ->                                -- num : TBasicType TInt-    Int32 ->                                -- denom : TBasicType TInt-    IO Word64--{- |-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.--}-utilUint64ScaleInt ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@val@/: guint64 (such as a @/GstClockTime/@) to scale. -}-    -> Int32-    {- ^ /@num@/: numerator of the scale factor. -}-    -> Int32-    {- ^ /@denom@/: denominator of the scale factor. -}-    -> m Word64-    {- ^ __Returns:__ /@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-'GI.Gst.Functions.utilUint64ScaleIntRound', 'GI.Gst.Functions.utilUint64ScaleIntCeil',-'GI.Gst.Functions.utilUint64Scale', 'GI.Gst.Functions.utilUint64ScaleRound',-'GI.Gst.Functions.utilUint64ScaleCeil'. -}-utilUint64ScaleInt val num denom = liftIO $ do-    result <- gst_util_uint64_scale_int val num denom-    return result----- function gst_util_uint64_scale_ceil--- Args : [Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number to scale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numerator of the scale ratio", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "denom", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the denominator of the scale ratio", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_util_uint64_scale_ceil" gst_util_uint64_scale_ceil :: -    Word64 ->                               -- val : TBasicType TUInt64-    Word64 ->                               -- num : TBasicType TUInt64-    Word64 ->                               -- denom : TBasicType TUInt64-    IO Word64--{- |-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.--}-utilUint64ScaleCeil ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@val@/: the number to scale -}-    -> Word64-    {- ^ /@num@/: the numerator of the scale ratio -}-    -> Word64-    {- ^ /@denom@/: the denominator of the scale ratio -}-    -> m Word64-    {- ^ __Returns:__ /@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-'GI.Gst.Functions.utilUint64Scale', 'GI.Gst.Functions.utilUint64ScaleRound',-'GI.Gst.Functions.utilUint64ScaleInt', 'GI.Gst.Functions.utilUint64ScaleIntRound',-'GI.Gst.Functions.utilUint64ScaleIntCeil'. -}-utilUint64ScaleCeil val num denom = liftIO $ do-    result <- gst_util_uint64_scale_ceil val num denom-    return result----- function gst_util_uint64_scale--- Args : [Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number to scale", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numerator of the scale ratio", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "denom", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the denominator of the scale ratio", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_util_uint64_scale" gst_util_uint64_scale :: -    Word64 ->                               -- val : TBasicType TUInt64-    Word64 ->                               -- num : TBasicType TUInt64-    Word64 ->                               -- denom : TBasicType TUInt64-    IO Word64--{- |-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.--}-utilUint64Scale ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@val@/: the number to scale -}-    -> Word64-    {- ^ /@num@/: the numerator of the scale ratio -}-    -> Word64-    {- ^ /@denom@/: the denominator of the scale ratio -}-    -> m Word64-    {- ^ __Returns:__ /@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-'GI.Gst.Functions.utilUint64ScaleRound', 'GI.Gst.Functions.utilUint64ScaleCeil',-'GI.Gst.Functions.utilUint64ScaleInt', 'GI.Gst.Functions.utilUint64ScaleIntRound',-'GI.Gst.Functions.utilUint64ScaleIntCeil'. -}-utilUint64Scale val num denom = liftIO $ do-    result <- gst_util_uint64_scale val num denom-    return result----- function gst_util_set_value_from_string--- Args : [Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "value_str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to get the value from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_util_set_value_from_string" gst_util_set_value_from_string :: -    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    CString ->                              -- value_str : TBasicType TUTF8-    IO ()--{- |-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.--}-utilSetValueFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@valueStr@/: the string to get the value from -}-    -> m (GValue)-utilSetValueFromString valueStr = liftIO $ do-    value <- callocBoxedBytes 24 :: IO (Ptr GValue)-    valueStr' <- textToCString valueStr-    gst_util_set_value_from_string value valueStr'-    value' <- (wrapBoxed GValue) value-    freeMem valueStr'-    return value'----- function gst_util_set_object_array--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object to set the array to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the property to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValueArray containing the values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_util_set_object_array" gst_util_set_object_array :: -    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})-    CString ->                              -- name : TBasicType TUTF8-    Ptr GObject.ValueArray.ValueArray ->    -- array : TInterface (Name {namespace = "GObject", name = "ValueArray"})-    IO CInt--{- |-Transfer a 'GI.GObject.Structs.ValueArray.ValueArray' 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.--/Since: 1.12/--}-utilSetObjectArray ::-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>-    a-    {- ^ /@object@/: the object to set the array to -}-    -> T.Text-    {- ^ /@name@/: the name of the property to set -}-    -> GObject.ValueArray.ValueArray-    {- ^ /@array@/: a 'GI.GObject.Structs.ValueArray.ValueArray' containing the values -}-    -> m Bool-utilSetObjectArray object name array = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    name' <- textToCString name-    array' <- unsafeManagedPtrGetPtr array-    result <- gst_util_set_object_array object' name' array'-    let result' = (/= 0) result-    touchManagedPtr object-    touchManagedPtr array-    freeMem name'-    return result'----- function gst_util_set_object_arg--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object to set the argument of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the argument to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string value to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_util_set_object_arg" gst_util_set_object_arg :: -    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})-    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- value : TBasicType TUTF8-    IO ()--{- |-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.--}-utilSetObjectArg ::-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>-    a-    {- ^ /@object@/: the object to set the argument of -}-    -> T.Text-    {- ^ /@name@/: the name of the argument to set -}-    -> T.Text-    {- ^ /@value@/: the string value to set -}-    -> m ()-utilSetObjectArg object name value = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    name' <- textToCString name-    value' <- textToCString value-    gst_util_set_object_arg object' name' value'-    touchManagedPtr object-    freeMem name'-    freeMem value'-    return ()----- function gst_util_seqnum_next--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "gst_util_seqnum_next" gst_util_seqnum_next :: -    IO Word32--{- |-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 'GI.Gst.Constants.SEQNUM_INVALID' (which is 0).--}-utilSeqnumNext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-    {- ^ __Returns:__ A constantly incrementing 32-bit unsigned integer, which might-overflow at some point. Use 'GI.Gst.Functions.utilSeqnumCompare' to make sure-you handle wraparound correctly. -}-utilSeqnumNext  = liftIO $ do-    result <- gst_util_seqnum_next-    return result----- function gst_util_seqnum_compare--- Args : [Arg {argCName = "s1", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A sequence number.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s2", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Another sequence number.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt32)--- throws : False--- Skip return : False--foreign import ccall "gst_util_seqnum_compare" gst_util_seqnum_compare :: -    Word32 ->                               -- s1 : TBasicType TUInt32-    Word32 ->                               -- s2 : TBasicType TUInt32-    IO Int32--{- |-Compare two sequence numbers, handling wraparound.--The current implementation just returns (gint32)(/@s1@/ - /@s2@/).--}-utilSeqnumCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@s1@/: A sequence number. -}-    -> Word32-    {- ^ /@s2@/: Another sequence number. -}-    -> m Int32-    {- ^ __Returns:__ A negative number if /@s1@/ is before /@s2@/, 0 if they are equal, or a-positive number if /@s1@/ is after /@s2@/. -}-utilSeqnumCompare s1 s2 = liftIO $ do-    result <- gst_util_seqnum_compare s1 s2-    return result----- function gst_util_guint64_to_gdouble--- Args : [Arg {argCName = "value", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "gst_util_guint64_to_gdouble" gst_util_guint64_to_gdouble :: -    Word64 ->                               -- value : TBasicType TUInt64-    IO CDouble--{- |-/No description available in the introspection data./--}-utilGuint64ToGdouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    -> m Double-utilGuint64ToGdouble value = liftIO $ do-    result <- gst_util_guint64_to_gdouble value-    let result' = realToFrac result-    return result'----- function gst_util_group_id_next--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_util_group_id_next" gst_util_group_id_next :: -    IO Word32--{- |-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 'GI.Gst.Constants.GROUP_ID_INVALID' (which is 0)--}-utilGroupIdNext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-    {- ^ __Returns:__ A constantly incrementing unsigned integer, which might-overflow back to 0 at some point. -}-utilGroupIdNext  = liftIO $ do-    result <- gst_util_group_id_next-    return result----- function gst_util_greatest_common_divisor_int64--- Args : [Arg {argCName = "a", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "First value as #gint64", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Second value as #gint64", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_util_greatest_common_divisor_int64" gst_util_greatest_common_divisor_int64 :: -    Int64 ->                                -- a : TBasicType TInt64-    Int64 ->                                -- b : TBasicType TInt64-    IO Int64--{- |-Calculates the greatest common divisor of /@a@/-and /@b@/.--}-utilGreatestCommonDivisorInt64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int64-    {- ^ /@a@/: First value as @/gint64/@ -}-    -> Int64-    {- ^ /@b@/: Second value as @/gint64/@ -}-    -> m Int64-    {- ^ __Returns:__ Greatest common divisor of /@a@/ and /@b@/ -}-utilGreatestCommonDivisorInt64 a b = liftIO $ do-    result <- gst_util_greatest_common_divisor_int64 a b-    return result----- function gst_util_greatest_common_divisor--- Args : [Arg {argCName = "a", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "First value as #gint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Second value as #gint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_util_greatest_common_divisor" gst_util_greatest_common_divisor :: -    Int32 ->                                -- a : TBasicType TInt-    Int32 ->                                -- b : TBasicType TInt-    IO Int32--{- |-Calculates the greatest common divisor of /@a@/-and /@b@/.--}-utilGreatestCommonDivisor ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@a@/: First value as @/gint/@ -}-    -> Int32-    {- ^ /@b@/: Second value as @/gint/@ -}-    -> m Int32-    {- ^ __Returns:__ Greatest common divisor of /@a@/ and /@b@/ -}-utilGreatestCommonDivisor a b = liftIO $ do-    result <- gst_util_greatest_common_divisor a b-    return result----- function gst_util_get_timestamp--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_util_get_timestamp" gst_util_get_timestamp :: -    IO Word64--{- |-Get a timestamp as GstClockTime to be used for interval measurements.-The timestamp should not be interpreted in any other way.--}-utilGetTimestamp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word64-    {- ^ __Returns:__ the timestamp -}-utilGetTimestamp  = liftIO $ do-    result <- gst_util_get_timestamp-    return result----- function gst_util_get_object_array--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object to set the array to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the property to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a return #GValueArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_util_get_object_array" gst_util_get_object_array :: -    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})-    CString ->                              -- name : TBasicType TUTF8-    Ptr (Ptr GObject.ValueArray.ValueArray) -> -- array : TInterface (Name {namespace = "GObject", name = "ValueArray"})-    IO CInt--{- |-Get a property of type @/GST_TYPE_ARRAY/@ and transform it into a-'GI.GObject.Structs.ValueArray.ValueArray'. This allow language bindings to get GST_TYPE_ARRAY-properties which are otherwise not an accessible type.--/Since: 1.12/--}-utilGetObjectArray ::-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>-    a-    {- ^ /@object@/: the object to set the array to -}-    -> T.Text-    {- ^ /@name@/: the name of the property to set -}-    -> m ((Bool, GObject.ValueArray.ValueArray))-utilGetObjectArray object name = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    name' <- textToCString name-    array <- allocMem :: IO (Ptr (Ptr GObject.ValueArray.ValueArray))-    result <- gst_util_get_object_array object' name' array-    let result' = (/= 0) result-    array' <- peek array-    array'' <- (wrapBoxed GObject.ValueArray.ValueArray) array'-    touchManagedPtr object-    freeMem name'-    freeMem array-    return (result', array'')----- function gst_util_gdouble_to_guint64--- Args : [Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_util_gdouble_to_guint64" gst_util_gdouble_to_guint64 :: -    CDouble ->                              -- value : TBasicType TDouble-    IO Word64--{- |-/No description available in the introspection data./--}-utilGdoubleToGuint64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Double-    -> m Word64-utilGdoubleToGuint64 value = liftIO $ do-    let value' = realToFrac value-    result <- gst_util_gdouble_to_guint64 value'-    return result----- function gst_util_fraction_to_double--- Args : [Arg {argCName = "src_n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Fraction numerator as #gint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_d", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Fraction denominator #gint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a #gdouble for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_util_fraction_to_double" gst_util_fraction_to_double :: -    Int32 ->                                -- src_n : TBasicType TInt-    Int32 ->                                -- src_d : TBasicType TInt-    Ptr CDouble ->                          -- dest : TBasicType TDouble-    IO ()--{- |-Transforms a fraction to a @/gdouble/@.--}-utilFractionToDouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@srcN@/: Fraction numerator as @/gint/@ -}-    -> Int32-    {- ^ /@srcD@/: Fraction denominator @/gint/@ -}-    -> m (Double)-utilFractionToDouble srcN srcD = liftIO $ do-    dest <- allocMem :: IO (Ptr CDouble)-    gst_util_fraction_to_double srcN srcD dest-    dest' <- peek dest-    let dest'' = realToFrac dest'-    freeMem dest-    return dest''----- function gst_util_fraction_multiply--- Args : [Arg {argCName = "a_n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Numerator of first value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a_d", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Denominator of first value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b_n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Numerator of second value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b_d", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Denominator of second value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "res_n", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to #gint to hold the result numerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "res_d", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to #gint to hold the result denominator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_util_fraction_multiply" gst_util_fraction_multiply :: -    Int32 ->                                -- a_n : TBasicType TInt-    Int32 ->                                -- a_d : TBasicType TInt-    Int32 ->                                -- b_n : TBasicType TInt-    Int32 ->                                -- b_d : TBasicType TInt-    Ptr Int32 ->                            -- res_n : TBasicType TInt-    Ptr Int32 ->                            -- res_d : TBasicType TInt-    IO CInt--{- |-Multiplies the fractions /@aN@/\//@aD@/ and /@bN@/\//@bD@/ and stores-the result in /@resN@/ and /@resD@/.--}-utilFractionMultiply ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@aN@/: Numerator of first value -}-    -> Int32-    {- ^ /@aD@/: Denominator of first value -}-    -> Int32-    {- ^ /@bN@/: Numerator of second value -}-    -> Int32-    {- ^ /@bD@/: Denominator of second value -}-    -> m ((Bool, Int32, Int32))-    {- ^ __Returns:__ 'False' on overflow, 'True' otherwise. -}-utilFractionMultiply aN aD bN bD = liftIO $ do-    resN <- allocMem :: IO (Ptr Int32)-    resD <- allocMem :: IO (Ptr Int32)-    result <- gst_util_fraction_multiply aN aD bN bD resN resD-    let result' = (/= 0) result-    resN' <- peek resN-    resD' <- peek resD-    freeMem resN-    freeMem resD-    return (result', resN', resD')----- function gst_util_fraction_compare--- Args : [Arg {argCName = "a_n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Numerator of first value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a_d", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Denominator of first value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b_n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Numerator of second value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b_d", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Denominator of second value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_util_fraction_compare" gst_util_fraction_compare :: -    Int32 ->                                -- a_n : TBasicType TInt-    Int32 ->                                -- a_d : TBasicType TInt-    Int32 ->                                -- b_n : TBasicType TInt-    Int32 ->                                -- b_d : TBasicType TInt-    IO Int32--{- |-Compares the fractions /@aN@/\//@aD@/ and /@bN@/\//@bD@/ and returns--1 if a \< b, 0 if a = b and 1 if a > b.--}-utilFractionCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@aN@/: Numerator of first value -}-    -> Int32-    {- ^ /@aD@/: Denominator of first value -}-    -> Int32-    {- ^ /@bN@/: Numerator of second value -}-    -> Int32-    {- ^ /@bD@/: Denominator of second value -}-    -> m Int32-    {- ^ __Returns:__ -1 if a \< b; 0 if a = b; 1 if a > b. -}-utilFractionCompare aN aD bN bD = liftIO $ do-    result <- gst_util_fraction_compare aN aD bN bD-    return result----- function gst_util_fraction_add--- Args : [Arg {argCName = "a_n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Numerator of first value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a_d", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Denominator of first value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b_n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Numerator of second value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b_d", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Denominator of second value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "res_n", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to #gint to hold the result numerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "res_d", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to #gint to hold the result denominator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_util_fraction_add" gst_util_fraction_add :: -    Int32 ->                                -- a_n : TBasicType TInt-    Int32 ->                                -- a_d : TBasicType TInt-    Int32 ->                                -- b_n : TBasicType TInt-    Int32 ->                                -- b_d : TBasicType TInt-    Ptr Int32 ->                            -- res_n : TBasicType TInt-    Ptr Int32 ->                            -- res_d : TBasicType TInt-    IO CInt--{- |-Adds the fractions /@aN@/\//@aD@/ and /@bN@/\//@bD@/ and stores-the result in /@resN@/ and /@resD@/.--}-utilFractionAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@aN@/: Numerator of first value -}-    -> Int32-    {- ^ /@aD@/: Denominator of first value -}-    -> Int32-    {- ^ /@bN@/: Numerator of second value -}-    -> Int32-    {- ^ /@bD@/: Denominator of second value -}-    -> m ((Bool, Int32, Int32))-    {- ^ __Returns:__ 'False' on overflow, 'True' otherwise. -}-utilFractionAdd aN aD bN bD = liftIO $ do-    resN <- allocMem :: IO (Ptr Int32)-    resD <- allocMem :: IO (Ptr Int32)-    result <- gst_util_fraction_add aN aD bN bD resN resD-    let result' = (/= 0) result-    resN' <- peek resN-    resD' <- peek resD-    freeMem resN-    freeMem resD-    return (result', resN', resD')----- function gst_util_dump_mem--- Args : [Arg {argCName = "mem", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the memory to dump", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the memory block to dump", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the memory block to dump", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_util_dump_mem" gst_util_dump_mem :: -    Ptr Word8 ->                            -- mem : TCArray False (-1) 1 (TBasicType TUInt8)-    Word32 ->                               -- size : TBasicType TUInt-    IO ()--{- |-Dumps the memory block into a hex representation. Useful for debugging.--}-utilDumpMem ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@mem@/: a pointer to the memory to dump -}-    -> m ()-utilDumpMem mem = liftIO $ do-    let size = fromIntegral $ B.length mem-    mem' <- packByteString mem-    gst_util_dump_mem mem' size-    freeMem mem'-    return ()----- function gst_util_dump_buffer--- Args : [Arg {argCName = "buf", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer whose memory to dump", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_util_dump_buffer" gst_util_dump_buffer :: -    Ptr Gst.Buffer.Buffer ->                -- buf : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO ()--{- |-Dumps the buffer memory into a hex representation. Useful for debugging.--/Since: 1.14/--}-utilDumpBuffer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Buffer.Buffer-    {- ^ /@buf@/: a 'GI.Gst.Structs.Buffer.Buffer' whose memory to dump -}-    -> m ()-utilDumpBuffer buf = liftIO $ do-    buf' <- unsafeManagedPtrGetPtr buf-    gst_util_dump_buffer buf'-    touchManagedPtr buf-    return ()----- function gst_util_double_to_fraction--- Args : [Arg {argCName = "src", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#gdouble to transform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_n", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a #gint to hold the result numerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "dest_d", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a #gint to hold the result denominator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_util_double_to_fraction" gst_util_double_to_fraction :: -    CDouble ->                              -- src : TBasicType TDouble-    Ptr Int32 ->                            -- dest_n : TBasicType TInt-    Ptr Int32 ->                            -- dest_d : TBasicType TInt-    IO ()--{- |-Transforms a @/gdouble/@ to a fraction and simplifies-the result.--}-utilDoubleToFraction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Double-    {- ^ /@src@/: @/gdouble/@ to transform -}-    -> m ((Int32, Int32))-utilDoubleToFraction src = liftIO $ do-    let src' = realToFrac src-    destN <- allocMem :: IO (Ptr Int32)-    destD <- allocMem :: IO (Ptr Int32)-    gst_util_double_to_fraction src' destN destD-    destN' <- peek destN-    destD' <- peek destD-    freeMem destN-    freeMem destD-    return (destN', destD')----- function gst_util_array_binary_search--- Args : [Arg {argCName = "array", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the sorted input array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "num_elements", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of every element in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_func", argType = TInterface (Name {namespace = "GLib", name = "CompareDataFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to compare two elements, @search_data will always be passed as second argument", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "SearchMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "search mode that should be used", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "element that should be found", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @search_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "gst_util_array_binary_search" gst_util_array_binary_search :: -    Ptr () ->                               -- array : TBasicType TPtr-    Word32 ->                               -- num_elements : TBasicType TUInt-    Word64 ->                               -- element_size : TBasicType TUInt64-    FunPtr GLib.Callbacks.C_CompareDataFunc -> -- search_func : TInterface (Name {namespace = "GLib", name = "CompareDataFunc"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "SearchMode"})-    Ptr () ->                               -- search_data : TBasicType TPtr-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO (Ptr ())--{- |-Searches inside /@array@/ for /@searchData@/ by using the comparison function-/@searchFunc@/. /@array@/ must be sorted ascending.--As /@searchData@/ is always passed as second argument to /@searchFunc@/ it\'s-not required that /@searchData@/ has the same type as the array elements.--The complexity of this search function is O(log (num_elements)).--}-utilArrayBinarySearch ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@array@/: the sorted input array -}-    -> Word32-    {- ^ /@numElements@/: number of elements in the array -}-    -> Word64-    {- ^ /@elementSize@/: size of every element in bytes -}-    -> GLib.Callbacks.CompareDataFunc-    {- ^ /@searchFunc@/: function to compare two elements, /@searchData@/ will always be passed as second argument -}-    -> Gst.Enums.SearchMode-    {- ^ /@mode@/: search mode that should be used -}-    -> Ptr ()-    {- ^ /@searchData@/: element that should be found -}-    -> m (Ptr ())-    {- ^ __Returns:__ The address of the found-element or 'Nothing' if nothing was found -}-utilArrayBinarySearch array numElements elementSize searchFunc mode searchData = liftIO $ do-    searchFunc' <- GLib.Callbacks.mk_CompareDataFunc (GLib.Callbacks.wrap_CompareDataFunc Nothing (GLib.Callbacks.drop_closures_CompareDataFunc searchFunc))-    let mode' = (fromIntegral . fromEnum) mode-    let userData = nullPtr-    result <- gst_util_array_binary_search array numElements elementSize searchFunc' mode' searchData userData-    safeFreeFunPtr $ castFunPtrToPtr searchFunc'-    return result----- function gst_update_registry--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_update_registry" gst_update_registry :: -    IO CInt--{- |-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 'GI.Gst.Functions.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.--}-updateRegistry ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True' if the registry has been updated successfully (does not-         imply that there were changes), otherwise 'False'. -}-updateRegistry  = liftIO $ do-    result <- gst_update_registry-    let result' = (/= 0) result-    return result'----- function gst_type_find_get_type--- Args : []--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_get_type" gst_type_find_get_type :: -    IO CGType--{- |-/No description available in the introspection data./--}-typeFindGetType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GType-typeFindGetType  = liftIO $ do-    result <- gst_type_find_get_type-    let result' = GType result-    return result'----- function gst_tag_merge_use_first--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "uninitialized GValue to store result in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "src", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GValue to copy from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_merge_use_first" gst_tag_merge_use_first :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- src : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-This is a convenience function for the func argument of @/gst_tag_register()/@.-It creates a copy of the first value from the list.--}-tagMergeUseFirst ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@src@/: GValue to copy from -}-    -> m (GValue)-tagMergeUseFirst src = liftIO $ do-    dest <- callocBoxedBytes 24 :: IO (Ptr GValue)-    src' <- unsafeManagedPtrGetPtr src-    gst_tag_merge_use_first dest src'-    dest' <- (wrapBoxed GValue) dest-    touchManagedPtr src-    return dest'----- function gst_tag_merge_strings_with_comma--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "uninitialized GValue to store result in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "src", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GValue to copy from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_merge_strings_with_comma" gst_tag_merge_strings_with_comma :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr GValue ->                           -- src : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-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.--}-tagMergeStringsWithComma ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GValue-    {- ^ /@src@/: GValue to copy from -}-    -> m (GValue)-tagMergeStringsWithComma src = liftIO $ do-    dest <- callocBoxedBytes 24 :: IO (Ptr GValue)-    src' <- unsafeManagedPtrGetPtr src-    gst_tag_merge_strings_with_comma dest src'-    dest' <- (wrapBoxed GValue) dest-    touchManagedPtr src-    return dest'----- function gst_tag_is_fixed--- Args : [Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_is_fixed" gst_tag_is_fixed :: -    CString ->                              -- tag : TBasicType TUTF8-    IO CInt--{- |-Checks if the given tag is fixed. A fixed tag can only contain one value.-Unfixed tags can contain lists of values.--}-tagIsFixed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@tag@/: tag to check -}-    -> m Bool-    {- ^ __Returns:__ 'True', if the given tag is fixed. -}-tagIsFixed tag = liftIO $ do-    tag' <- textToCString tag-    result <- gst_tag_is_fixed tag'-    let result' = (/= 0) result-    freeMem tag'-    return result'----- function gst_tag_get_type--- Args : [Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_type" gst_tag_get_type :: -    CString ->                              -- tag : TBasicType TUTF8-    IO CGType--{- |-Gets the 'GType' used for this tag.--}-tagGetType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@tag@/: the tag -}-    -> m GType-    {- ^ __Returns:__ the 'GType' of this tag -}-tagGetType tag = liftIO $ do-    tag' <- textToCString tag-    result <- gst_tag_get_type tag'-    let result' = GType result-    freeMem tag'-    return result'----- function gst_tag_get_nick--- Args : [Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_nick" gst_tag_get_nick :: -    CString ->                              -- tag : TBasicType TUTF8-    IO CString--{- |-Returns the human-readable name of this tag, You must not change or free-this string.--}-tagGetNick ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@tag@/: the tag -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the human-readable name of this tag -}-tagGetNick tag = liftIO $ do-    tag' <- textToCString tag-    result <- gst_tag_get_nick tag'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    freeMem tag'-    return maybeResult----- function gst_tag_get_flag--- Args : [Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagFlag"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_flag" gst_tag_get_flag :: -    CString ->                              -- tag : TBasicType TUTF8-    IO CUInt--{- |-Gets the flag of /@tag@/.--}-tagGetFlag ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@tag@/: the tag -}-    -> m Gst.Enums.TagFlag-    {- ^ __Returns:__ the flag of this tag. -}-tagGetFlag tag = liftIO $ do-    tag' <- textToCString tag-    result <- gst_tag_get_flag tag'-    let result' = (toEnum . fromIntegral) result-    freeMem tag'-    return result'----- function gst_tag_get_description--- Args : [Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_get_description" gst_tag_get_description :: -    CString ->                              -- tag : TBasicType TUTF8-    IO CString--{- |-Returns the human-readable description of this tag, You must not change or-free this string.--}-tagGetDescription ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@tag@/: the tag -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the human-readable description of this tag -}-tagGetDescription tag = liftIO $ do-    tag' <- textToCString tag-    result <- gst_tag_get_description tag'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    freeMem tag'-    return maybeResult----- function gst_tag_exists--- Args : [Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_exists" gst_tag_exists :: -    CString ->                              -- tag : TBasicType TUTF8-    IO CInt--{- |-Checks if the given type is already registered.--}-tagExists ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@tag@/: name of the tag -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the type is already registered -}-tagExists tag = liftIO $ do-    tag' <- textToCString tag-    result <- gst_tag_exists tag'-    let result' = (/= 0) result-    freeMem tag'-    return result'----- function gst_static_pad_template_get_type--- Args : []--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_static_pad_template_get_type" gst_static_pad_template_get_type :: -    IO CGType--{- |-/No description available in the introspection data./--}-staticPadTemplateGetType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GType-staticPadTemplateGetType  = liftIO $ do-    result <- gst_static_pad_template_get_type-    let result' = GType result-    return result'----- function gst_static_caps_get_type--- Args : []--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_static_caps_get_type" gst_static_caps_get_type :: -    IO CGType--{- |-/No description available in the introspection data./--}-staticCapsGetType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GType-staticCapsGetType  = liftIO $ do-    result <- gst_static_caps_get_type-    let result' = GType result-    return result'----- function gst_segtrap_set_enabled--- Args : [Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether a custom SIGSEGV handler should be installed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_segtrap_set_enabled" gst_segtrap_set_enabled :: -    CInt ->                                 -- enabled : TBasicType TBoolean-    IO ()--{- |-Applications might want to disable\/enable the SIGSEGV handling of-the GStreamer core. See 'GI.Gst.Functions.segtrapIsEnabled' for more information.--}-segtrapSetEnabled ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bool-    {- ^ /@enabled@/: whether a custom SIGSEGV handler should be installed. -}-    -> m ()-segtrapSetEnabled enabled = liftIO $ do-    let enabled' = (fromIntegral . fromEnum) enabled-    gst_segtrap_set_enabled enabled'-    return ()----- function gst_segtrap_is_enabled--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_segtrap_is_enabled" gst_segtrap_is_enabled :: -    IO CInt--{- |-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-'GI.Gst.Functions.segtrapSetEnabled' function. This is typically done if the application-wants to install its own handler without GStreamer interfering.--}-segtrapIsEnabled ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True' if GStreamer is allowed to install a custom SIGSEGV handler. -}-segtrapIsEnabled  = liftIO $ do-    result <- gst_segtrap_is_enabled-    let result' = (/= 0) result-    return result'----- function gst_reference_timestamp_meta_api_get_type--- Args : []--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_reference_timestamp_meta_api_get_type" gst_reference_timestamp_meta_api_get_type :: -    IO CGType--{- |-/No description available in the introspection data./--}-referenceTimestampMetaApiGetType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GType-referenceTimestampMetaApiGetType  = liftIO $ do-    result <- gst_reference_timestamp_meta_api_get_type-    let result' = GType result-    return result'----- function gst_protection_select_system--- Args : [Arg {argCName = "system_identifiers", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A null terminated array of strings\nthat contains the UUID values of each protection system that is to be\nchecked.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_protection_select_system" gst_protection_select_system :: -    Ptr CString ->                          -- system_identifiers : TCArray True (-1) (-1) (TBasicType TUTF8)-    IO CString--{- |-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.--/Since: 1.6/--}-protectionSelectSystem ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [T.Text]-    {- ^ /@systemIdentifiers@/: A null terminated array of strings-that contains the UUID values of each protection system that is to be-checked. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ One of the strings from-/@systemIdentifiers@/ that indicates the highest ranked element that-implements the protection system indicated by that system ID, or 'Nothing' if no-element has been found. -}-protectionSelectSystem systemIdentifiers = liftIO $ do-    systemIdentifiers' <- packZeroTerminatedUTF8CArray systemIdentifiers-    result <- gst_protection_select_system systemIdentifiers'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    mapZeroTerminatedCArray freeMem systemIdentifiers'-    freeMem systemIdentifiers'-    return maybeResult----- function gst_protection_meta_api_get_type--- Args : []--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_protection_meta_api_get_type" gst_protection_meta_api_get_type :: -    IO CGType--{- |-/No description available in the introspection data./--}-protectionMetaApiGetType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GType-protectionMetaApiGetType  = liftIO $ do-    result <- gst_protection_meta_api_get_type-    let result' = GType result-    return result'----- function gst_protection_filter_systems_by_available_decryptors--- Args : [Arg {argCName = "system_identifiers", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\nA null terminated array of strings that contains the UUID values of each\nprotection system that is to be checked.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_protection_filter_systems_by_available_decryptors" gst_protection_filter_systems_by_available_decryptors :: -    Ptr CString ->                          -- system_identifiers : TCArray True (-1) (-1) (TBasicType TUTF8)-    IO (Ptr CString)--{- |-Iterates the supplied list of UUIDs and checks the GstRegistry for-all the decryptors supporting one of the supplied UUIDs.--/Since: 1.14/--}-protectionFilterSystemsByAvailableDecryptors ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [T.Text]-    {- ^ /@systemIdentifiers@/: -A null terminated array of strings that contains the UUID values of each-protection system that is to be checked. -}-    -> m (Maybe [T.Text])-    {- ^ __Returns:__ -A null terminated array containing all-the /@systemIdentifiers@/ supported by the set of available decryptors, or-'Nothing' if no matches were found. -}-protectionFilterSystemsByAvailableDecryptors systemIdentifiers = liftIO $ do-    systemIdentifiers' <- packZeroTerminatedUTF8CArray systemIdentifiers-    result <- gst_protection_filter_systems_by_available_decryptors systemIdentifiers'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- unpackZeroTerminatedUTF8CArray result'-        mapZeroTerminatedCArray freeMem result'-        freeMem result'-        return result''-    mapZeroTerminatedCArray freeMem systemIdentifiers'-    freeMem systemIdentifiers'-    return maybeResult----- function gst_parse_launchv_full--- Args : [Arg {argCName = "argv", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "null-terminated array of arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "ParseContext"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a parse context allocated with\n    gst_parse_context_new(), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "ParseFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "parsing options, or #GST_PARSE_FLAG_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : True--- Skip return : False--foreign import ccall "gst_parse_launchv_full" gst_parse_launchv_full :: -    Ptr CString ->                          -- argv : TCArray True (-1) (-1) (TBasicType TUTF8)-    Ptr Gst.ParseContext.ParseContext ->    -- context : TInterface (Name {namespace = "Gst", name = "ParseContext"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "ParseFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Gst.Element.Element)--{- |-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.--}-parseLaunchvFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [T.Text]-    {- ^ /@argv@/: null-terminated array of arguments -}-    -> Maybe (Gst.ParseContext.ParseContext)-    {- ^ /@context@/: a parse context allocated with-    'GI.Gst.Structs.ParseContext.parseContextNew', or 'Nothing' -}-    -> [Gst.Flags.ParseFlags]-    {- ^ /@flags@/: parsing options, or @/GST_PARSE_FLAG_NONE/@ -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ a new element on success; on-  failure, either 'Nothing' 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 'Nothing' will always be returned-  on failure) /(Can throw 'Data.GI.Base.GError.GError')/ -}-parseLaunchvFull argv context flags = liftIO $ do-    argv' <- packZeroTerminatedUTF8CArray argv-    maybeContext <- case context of-        Nothing -> return nullPtr-        Just jContext -> do-            jContext' <- unsafeManagedPtrGetPtr jContext-            return jContext'-    let flags' = gflagsToWord flags-    onException (do-        result <- propagateGError $ gst_parse_launchv_full argv' maybeContext flags'-        maybeResult <- convertIfNonNull result $ \result' -> do-            result'' <- (newObject Gst.Element.Element) result'-            return result''-        whenJust context touchManagedPtr-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        return maybeResult-     ) (do-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-     )----- function gst_parse_launchv--- Args : [Arg {argCName = "argv", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "null-terminated array of arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : True--- Skip return : False--foreign import ccall "gst_parse_launchv" gst_parse_launchv :: -    Ptr CString ->                          -- argv : TCArray True (-1) (-1) (TBasicType TUTF8)-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Gst.Element.Element)--{- |-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.--}-parseLaunchv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [T.Text]-    {- ^ /@argv@/: null-terminated array of arguments -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ a new element on success and 'Nothing'-on failure. /(Can throw 'Data.GI.Base.GError.GError')/ -}-parseLaunchv argv = liftIO $ do-    argv' <- packZeroTerminatedUTF8CArray argv-    onException (do-        result <- propagateGError $ gst_parse_launchv argv'-        maybeResult <- convertIfNonNull result $ \result' -> do-            result'' <- (newObject Gst.Element.Element) result'-            return result''-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        return maybeResult-     ) (do-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-     )----- function gst_parse_launch_full--- Args : [Arg {argCName = "pipeline_description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the command line describing the pipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "ParseContext"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a parse context allocated with\n     gst_parse_context_new(), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "ParseFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "parsing options, or #GST_PARSE_FLAG_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : True--- Skip return : False--foreign import ccall "gst_parse_launch_full" gst_parse_launch_full :: -    CString ->                              -- pipeline_description : TBasicType TUTF8-    Ptr Gst.ParseContext.ParseContext ->    -- context : TInterface (Name {namespace = "Gst", name = "ParseContext"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "ParseFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Gst.Element.Element)--{- |-Create a new pipeline based on command line syntax.-Please note that you might get a return value that is not 'Nothing' even though-the /@error@/ is set. In this case there was a recoverable parsing error and you-can try to play the pipeline.--}-parseLaunchFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@pipelineDescription@/: the command line describing the pipeline -}-    -> Maybe (Gst.ParseContext.ParseContext)-    {- ^ /@context@/: a parse context allocated with-     'GI.Gst.Structs.ParseContext.parseContextNew', or 'Nothing' -}-    -> [Gst.Flags.ParseFlags]-    {- ^ /@flags@/: parsing options, or @/GST_PARSE_FLAG_NONE/@ -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ a new element on success, 'Nothing' on-   failure. If more than one toplevel element is specified by the-   /@pipelineDescription@/, all elements are put into a 'GI.Gst.Objects.Pipeline.Pipeline', which-   then is returned (unless the GST_PARSE_FLAG_PLACE_IN_BIN flag is set, in-   which case they are put in a 'GI.Gst.Objects.Bin.Bin' instead). /(Can throw 'Data.GI.Base.GError.GError')/ -}-parseLaunchFull pipelineDescription context flags = liftIO $ do-    pipelineDescription' <- textToCString pipelineDescription-    maybeContext <- case context of-        Nothing -> return nullPtr-        Just jContext -> do-            jContext' <- unsafeManagedPtrGetPtr jContext-            return jContext'-    let flags' = gflagsToWord flags-    onException (do-        result <- propagateGError $ gst_parse_launch_full pipelineDescription' maybeContext flags'-        maybeResult <- convertIfNonNull result $ \result' -> do-            result'' <- (newObject Gst.Element.Element) result'-            return result''-        whenJust context touchManagedPtr-        freeMem pipelineDescription'-        return maybeResult-     ) (do-        freeMem pipelineDescription'-     )----- function gst_parse_launch--- Args : [Arg {argCName = "pipeline_description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the command line describing the pipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : True--- Skip return : False--foreign import ccall "gst_parse_launch" gst_parse_launch :: -    CString ->                              -- pipeline_description : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Gst.Element.Element)--{- |-Create a new pipeline based on command line syntax.-Please note that you might get a return value that is not 'Nothing' even though-the /@error@/ is set. In this case there was a recoverable parsing error and you-can try to play the pipeline.--}-parseLaunch ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@pipelineDescription@/: the command line describing the pipeline -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ a new element on success, 'Nothing' on-  failure. If more than one toplevel element is specified by the-  /@pipelineDescription@/, all elements are put into a 'GI.Gst.Objects.Pipeline.Pipeline', which-  than is returned. /(Can throw 'Data.GI.Base.GError.GError')/ -}-parseLaunch pipelineDescription = liftIO $ do-    pipelineDescription' <- textToCString pipelineDescription-    onException (do-        result <- propagateGError $ gst_parse_launch pipelineDescription'-        maybeResult <- convertIfNonNull result $ \result' -> do-            result'' <- (newObject Gst.Element.Element) result'-            return result''-        freeMem pipelineDescription'-        return maybeResult-     ) (do-        freeMem pipelineDescription'-     )----- function gst_parse_bin_from_description_full--- Args : [Arg {argCName = "bin_description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "command line describing the bin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ghost_unlinked_pads", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to automatically create ghost pads\n    for unlinked source or sink pads within the bin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "ParseContext"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a parse context allocated with\n    gst_parse_context_new(), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "ParseFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "parsing options, or #GST_PARSE_FLAG_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : True--- Skip return : False--foreign import ccall "gst_parse_bin_from_description_full" gst_parse_bin_from_description_full :: -    CString ->                              -- bin_description : TBasicType TUTF8-    CInt ->                                 -- ghost_unlinked_pads : TBasicType TBoolean-    Ptr Gst.ParseContext.ParseContext ->    -- context : TInterface (Name {namespace = "Gst", name = "ParseContext"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "ParseFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Gst.Element.Element)--{- |-This is a convenience wrapper around 'GI.Gst.Functions.parseLaunch' to create a-'GI.Gst.Objects.Bin.Bin' from a gst-launch-style pipeline description. See-'GI.Gst.Functions.parseLaunch' 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).--}-parseBinFromDescriptionFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@binDescription@/: command line describing the bin -}-    -> Bool-    {- ^ /@ghostUnlinkedPads@/: whether to automatically create ghost pads-    for unlinked source or sink pads within the bin -}-    -> Maybe (Gst.ParseContext.ParseContext)-    {- ^ /@context@/: a parse context allocated with-    'GI.Gst.Structs.ParseContext.parseContextNew', or 'Nothing' -}-    -> [Gst.Flags.ParseFlags]-    {- ^ /@flags@/: parsing options, or @/GST_PARSE_FLAG_NONE/@ -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ a newly-created-  element, which is guaranteed to be a bin unless-  GST_FLAG_NO_SINGLE_ELEMENT_BINS was passed, or 'Nothing' if an error-  occurred. /(Can throw 'Data.GI.Base.GError.GError')/ -}-parseBinFromDescriptionFull binDescription ghostUnlinkedPads context flags = liftIO $ do-    binDescription' <- textToCString binDescription-    let ghostUnlinkedPads' = (fromIntegral . fromEnum) ghostUnlinkedPads-    maybeContext <- case context of-        Nothing -> return nullPtr-        Just jContext -> do-            jContext' <- unsafeManagedPtrGetPtr jContext-            return jContext'-    let flags' = gflagsToWord flags-    onException (do-        result <- propagateGError $ gst_parse_bin_from_description_full binDescription' ghostUnlinkedPads' maybeContext flags'-        maybeResult <- convertIfNonNull result $ \result' -> do-            result'' <- (newObject Gst.Element.Element) result'-            return result''-        whenJust context touchManagedPtr-        freeMem binDescription'-        return maybeResult-     ) (do-        freeMem binDescription'-     )----- function gst_parse_bin_from_description--- Args : [Arg {argCName = "bin_description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "command line describing the bin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ghost_unlinked_pads", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to automatically create ghost pads\n    for unlinked source or sink pads within the bin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Bin"}))--- throws : True--- Skip return : False--foreign import ccall "gst_parse_bin_from_description" gst_parse_bin_from_description :: -    CString ->                              -- bin_description : TBasicType TUTF8-    CInt ->                                 -- ghost_unlinked_pads : TBasicType TBoolean-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Gst.Bin.Bin)--{- |-This is a convenience wrapper around 'GI.Gst.Functions.parseLaunch' to create a-'GI.Gst.Objects.Bin.Bin' from a gst-launch-style pipeline description. See-'GI.Gst.Functions.parseLaunch' 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).--}-parseBinFromDescription ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@binDescription@/: command line describing the bin -}-    -> Bool-    {- ^ /@ghostUnlinkedPads@/: whether to automatically create ghost pads-    for unlinked source or sink pads within the bin -}-    -> m (Maybe Gst.Bin.Bin)-    {- ^ __Returns:__ a-  newly-created bin, or 'Nothing' if an error occurred. /(Can throw 'Data.GI.Base.GError.GError')/ -}-parseBinFromDescription binDescription ghostUnlinkedPads = liftIO $ do-    binDescription' <- textToCString binDescription-    let ghostUnlinkedPads' = (fromIntegral . fromEnum) ghostUnlinkedPads-    onException (do-        result <- propagateGError $ gst_parse_bin_from_description binDescription' ghostUnlinkedPads'-        maybeResult <- convertIfNonNull result $ \result' -> do-            result'' <- (newObject Gst.Bin.Bin) result'-            return result''-        freeMem binDescription'-        return maybeResult-     ) (do-        freeMem binDescription'-     )----- function gst_parent_buffer_meta_api_get_type--- Args : []--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_parent_buffer_meta_api_get_type" gst_parent_buffer_meta_api_get_type :: -    IO CGType--{- |-/No description available in the introspection data./--}-parentBufferMetaApiGetType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GType-parentBufferMetaApiGetType  = liftIO $ do-    result <- gst_parent_buffer_meta_api_get_type-    let result' = GType result-    return result'----- function gst_param_spec_fraction--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value (fraction numerator)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_denom", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum value (fraction denominator)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value (fraction numerator)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_denom", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum value (fraction denominator)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value (fraction numerator)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_denom", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "default value (fraction denominator)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just TParamSpec--- throws : False--- Skip return : False--foreign import ccall "gst_param_spec_fraction" gst_param_spec_fraction :: -    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- nick : TBasicType TUTF8-    CString ->                              -- blurb : TBasicType TUTF8-    Int32 ->                                -- min_num : TBasicType TInt-    Int32 ->                                -- min_denom : TBasicType TInt-    Int32 ->                                -- max_num : TBasicType TInt-    Int32 ->                                -- max_denom : TBasicType TInt-    Int32 ->                                -- default_num : TBasicType TInt-    Int32 ->                                -- default_denom : TBasicType TInt-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})-    IO (Ptr GParamSpec)--{- |-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 'GI.GObject.Structs.ObjectClass.objectClassInstallProperty' in a GObjects\'s-instance_init function.--}-paramSpecFraction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: canonical name of the property specified -}-    -> T.Text-    {- ^ /@nick@/: nick name for the property specified -}-    -> T.Text-    {- ^ /@blurb@/: description of the property specified -}-    -> Int32-    {- ^ /@minNum@/: minimum value (fraction numerator) -}-    -> Int32-    {- ^ /@minDenom@/: minimum value (fraction denominator) -}-    -> Int32-    {- ^ /@maxNum@/: maximum value (fraction numerator) -}-    -> Int32-    {- ^ /@maxDenom@/: maximum value (fraction denominator) -}-    -> Int32-    {- ^ /@defaultNum@/: default value (fraction numerator) -}-    -> Int32-    {- ^ /@defaultDenom@/: default value (fraction denominator) -}-    -> [GObject.Flags.ParamFlags]-    {- ^ /@flags@/: flags for the property specified -}-    -> m (Maybe GParamSpec)-    {- ^ __Returns:__ a newly created parameter specification -}-paramSpecFraction name nick blurb minNum minDenom maxNum maxDenom defaultNum defaultDenom flags = liftIO $ do-    name' <- textToCString name-    nick' <- textToCString nick-    blurb' <- textToCString blurb-    let flags' = gflagsToWord flags-    result <- gst_param_spec_fraction name' nick' blurb' minNum minDenom maxNum maxDenom defaultNum defaultDenom flags'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- B.GParamSpec.wrapGParamSpecPtr result'-        return result''-    freeMem name'-    freeMem nick'-    freeMem blurb'-    return maybeResult----- function gst_param_spec_array--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "canonical name of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nick", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "nick name for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blurb", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element_spec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GParamSpec of the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GObject", name = "ParamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the property specified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just TParamSpec--- throws : False--- Skip return : False--foreign import ccall "gst_param_spec_array" gst_param_spec_array :: -    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- nick : TBasicType TUTF8-    CString ->                              -- blurb : TBasicType TUTF8-    Ptr GParamSpec ->                       -- element_spec : TParamSpec-    CUInt ->                                -- flags : TInterface (Name {namespace = "GObject", name = "ParamFlags"})-    IO (Ptr GParamSpec)--{- |-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 'GI.GObject.Structs.ObjectClass.objectClassInstallProperty' in a-GObjects\'s instance_init function.--/Since: 1.14/--}-paramSpecArray ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: canonical name of the property specified -}-    -> T.Text-    {- ^ /@nick@/: nick name for the property specified -}-    -> T.Text-    {- ^ /@blurb@/: description of the property specified -}-    -> GParamSpec-    {- ^ /@elementSpec@/: GParamSpec of the array -}-    -> [GObject.Flags.ParamFlags]-    {- ^ /@flags@/: flags for the property specified -}-    -> m GParamSpec-    {- ^ __Returns:__ a newly created parameter specification -}-paramSpecArray name nick blurb elementSpec flags = liftIO $ do-    name' <- textToCString name-    nick' <- textToCString nick-    blurb' <- textToCString blurb-    elementSpec' <- unsafeManagedPtrGetPtr elementSpec-    let flags' = gflagsToWord flags-    result <- gst_param_spec_array name' nick' blurb' elementSpec' flags'-    checkUnexpectedReturnNULL "paramSpecArray" result-    result' <- B.GParamSpec.wrapGParamSpecPtr result-    touchManagedPtr elementSpec-    freeMem name'-    freeMem nick'-    freeMem blurb'-    return result'----- function gst_is_initialized--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_is_initialized" gst_is_initialized :: -    IO CInt--{- |-Use this function to check if GStreamer has been initialized with 'GI.Gst.Functions.init'-or 'GI.Gst.Functions.initCheck'.--}-isInitialized ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True' if initialization has been done, 'False' otherwise. -}-isInitialized  = liftIO $ do-    result <- gst_is_initialized-    let result' = (/= 0) result-    return result'----- function gst_is_caps_features--- Args : [Arg {argCName = "obj", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_is_caps_features" gst_is_caps_features :: -    Ptr () ->                               -- obj : TBasicType TPtr-    IO CInt--{- |-/No description available in the introspection data./--}-isCapsFeatures ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    -> m Bool-isCapsFeatures obj = liftIO $ do-    result <- gst_is_caps_features obj-    let result' = (/= 0) result-    return result'----- function gst_init_check--- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer to application's argc", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer to application's argv", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer to application's argc", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "gst_init_check" gst_init_check :: -    Ptr Int32 ->                            -- argc : TBasicType TInt-    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-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 'GI.Gst.Functions.init' instead.--}-initCheck ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([T.Text])-    {- ^ /@argv@/: pointer to application\'s argv -}-    -> m ((Maybe [T.Text]))-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-initCheck argv = liftIO $ do-    let argc = case argv of-            Nothing -> 0-            Just jArgv -> fromIntegral $ length jArgv-    argc' <- allocMem :: IO (Ptr Int32)-    poke argc' argc-    maybeArgv <- case argv of-        Nothing -> return nullPtr-        Just jArgv -> do-            jArgv' <- packUTF8CArray jArgv-            return jArgv'-    maybeArgv' <- allocMem :: IO (Ptr (Ptr CString))-    poke maybeArgv' maybeArgv-    onException (do-        _ <- propagateGError $ gst_init_check argc' maybeArgv'-        argc'' <- peek argc'-        maybeArgv'' <- peek maybeArgv'-        maybeMaybeArgv'' <- convertIfNonNull maybeArgv'' $ \maybeArgv''' -> do-            maybeArgv'''' <- (unpackUTF8CArrayWithLength argc'') maybeArgv'''-            (mapCArrayWithLength argc'') freeMem maybeArgv'''-            freeMem maybeArgv'''-            return maybeArgv''''-        freeMem argc'-        freeMem maybeArgv'-        return maybeMaybeArgv''-     ) (do-        freeMem argc'-        freeMem maybeArgv'-     )----- function gst_init--- Args : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer to application's argc", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argv", argType = TCArray False (-1) 0 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer to application's argv", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer to application's argc", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_init" gst_init :: -    Ptr Int32 ->                            -- argc : TBasicType TInt-    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 0 (TBasicType TUTF8)-    IO ()--{- |-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 'GI.Gst.Functions.updateRegistry' for-details and section-\<link linkend=\"gst-running\">Running GStreamer Applications\<\/link>-for how to disable automatic registry updates.--> This function will terminate your program if it was unable to initialize-> GStreamer for some reason.  If you want your program to fall back,-> use 'GI.Gst.Functions.initCheck' 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.--}-init ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([T.Text])-    {- ^ /@argv@/: pointer to application\'s argv -}-    -> m ((Maybe [T.Text]))-init argv = liftIO $ do-    let argc = case argv of-            Nothing -> 0-            Just jArgv -> fromIntegral $ length jArgv-    argc' <- allocMem :: IO (Ptr Int32)-    poke argc' argc-    maybeArgv <- case argv of-        Nothing -> return nullPtr-        Just jArgv -> do-            jArgv' <- packUTF8CArray jArgv-            return jArgv'-    maybeArgv' <- allocMem :: IO (Ptr (Ptr CString))-    poke maybeArgv' maybeArgv-    gst_init argc' maybeArgv'-    argc'' <- peek argc'-    maybeArgv'' <- peek maybeArgv'-    maybeMaybeArgv'' <- convertIfNonNull maybeArgv'' $ \maybeArgv''' -> do-        maybeArgv'''' <- (unpackUTF8CArrayWithLength argc'') maybeArgv'''-        (mapCArrayWithLength argc'') freeMem maybeArgv'''-        freeMem maybeArgv'''-        return maybeArgv''''-    freeMem argc'-    freeMem maybeArgv'-    return maybeMaybeArgv''----- function gst_get_main_executable_path--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_get_main_executable_path" gst_get_main_executable_path :: -    IO CString--{- |-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.--/Since: 1.14/--}-getMainExecutablePath ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m (Maybe T.Text)-    {- ^ __Returns:__ The path of the executable that-  initialized GStreamer, or 'Nothing' if it could not be determined. -}-getMainExecutablePath  = liftIO $ do-    result <- gst_get_main_executable_path-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    return maybeResult----- function gst_formats_contains--- Args : [Arg {argCName = "formats", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "Gst", name = "Format"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The format array to search", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_formats_contains" gst_formats_contains :: -    Ptr CUInt ->                            -- formats : TCArray True (-1) (-1) (TInterface (Name {namespace = "Gst", name = "Format"}))-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO CInt--{- |-See if the given format is inside the format array.--}-formatsContains ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Gst.Enums.Format]-    {- ^ /@formats@/: The format array to search -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format to find -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the format is found inside the array -}-formatsContains formats format = liftIO $ do-    let formats' = map (fromIntegral . fromEnum) formats-    formats'' <- packZeroTerminatedStorableArray formats'-    let format' = (fromIntegral . fromEnum) format-    result <- gst_formats_contains formats'' format'-    let result' = (/= 0) result-    freeMem formats''-    return result'----- function gst_flow_to_quark--- Args : [Arg {argCName = "ret", argType = TInterface (Name {namespace = "Gst", name = "FlowReturn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstFlowReturn to get the quark of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "gst_flow_to_quark" gst_flow_to_quark :: -    CInt ->                                 -- ret : TInterface (Name {namespace = "Gst", name = "FlowReturn"})-    IO Word32--{- |-Get the unique quark for the given GstFlowReturn.--}-flowToQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.FlowReturn-    {- ^ /@ret@/: a 'GI.Gst.Enums.FlowReturn' to get the quark of. -}-    -> m Word32-    {- ^ __Returns:__ the quark associated with the flow return or 0 if an-invalid return was specified. -}-flowToQuark ret = liftIO $ do-    let ret' = (fromIntegral . fromEnum) ret-    result <- gst_flow_to_quark ret'-    return result----- function gst_flow_get_name--- Args : [Arg {argCName = "ret", argType = TInterface (Name {namespace = "Gst", name = "FlowReturn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstFlowReturn to get the name of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_flow_get_name" gst_flow_get_name :: -    CInt ->                                 -- ret : TInterface (Name {namespace = "Gst", name = "FlowReturn"})-    IO CString--{- |-Gets a string representing the given flow return.--}-flowGetName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.FlowReturn-    {- ^ /@ret@/: a 'GI.Gst.Enums.FlowReturn' to get the name of. -}-    -> m T.Text-    {- ^ __Returns:__ a static string with the name of the flow return. -}-flowGetName ret = liftIO $ do-    let ret' = (fromIntegral . fromEnum) ret-    result <- gst_flow_get_name ret'-    checkUnexpectedReturnNULL "flowGetName" result-    result' <- cstringToText result-    return result'----- function gst_filename_to_uri--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "absolute or relative file name path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : True--- Skip return : False--foreign import ccall "gst_filename_to_uri" gst_filename_to_uri :: -    CString ->                              -- filename : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Similar to 'GI.GLib.Functions.filenameToUri', 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.--}-filenameToUri ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: absolute or relative file name path -}-    -> m T.Text-    {- ^ __Returns:__ newly-allocated URI string, or NULL on error. The caller must-  free the URI string with 'GI.GLib.Functions.free' when no longer needed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-filenameToUri filename = liftIO $ do-    filename' <- stringToCString filename-    onException (do-        result <- propagateGError $ gst_filename_to_uri filename'-        checkUnexpectedReturnNULL "filenameToUri" result-        result' <- cstringToText result-        freeMem result-        freeMem filename'-        return result'-     ) (do-        freeMem filename'-     )----- function gst_error_get_message--- Args : [Arg {argCName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the GStreamer error domain this error belongs to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "code", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the error code belonging to the domain.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_error_get_message" gst_error_get_message :: -    Word32 ->                               -- domain : TBasicType TUInt32-    Int32 ->                                -- code : TBasicType TInt-    IO CString--{- |-Get a string describing the error message in the current locale.--}-errorGetMessage ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@domain@/: the GStreamer error domain this error belongs to. -}-    -> Int32-    {- ^ /@code@/: the error code belonging to the domain. -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string describing-    the error message (in UTF-8 encoding) -}-errorGetMessage domain code = liftIO $ do-    result <- gst_error_get_message domain code-    checkUnexpectedReturnNULL "errorGetMessage" result-    result' <- cstringToText result-    freeMem result-    return result'----- function gst_dynamic_type_register--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_dynamic_type_register" gst_dynamic_type_register :: -    Ptr Gst.Plugin.Plugin ->                -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    CGType ->                               -- type : TBasicType TGType-    IO CInt--{- |-/No description available in the introspection data./--}-dynamicTypeRegister ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Plugin.IsPlugin a) =>-    a-    -> GType-    -> m Bool-dynamicTypeRegister plugin type_ = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    let type_' = gtypeToCGType type_-    result <- gst_dynamic_type_register plugin' type_'-    let result' = (/= 0) result-    touchManagedPtr plugin-    return result'----- function gst_deinit--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_deinit" gst_deinit :: -    IO ()--{- |-Clean up any resources created by GStreamer in 'GI.Gst.Functions.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.--}-deinit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-deinit  = liftIO $ do-    gst_deinit-    return ()----- function gst_debug_unset_threshold_for_name--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the categories to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_unset_threshold_for_name" gst_debug_unset_threshold_for_name :: -    CString ->                              -- name : TBasicType TUTF8-    IO ()--{- |-Resets all categories with the given name back to the default level.--}-debugUnsetThresholdForName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: name of the categories to set -}-    -> m ()-debugUnsetThresholdForName name = liftIO $ do-    name' <- textToCString name-    gst_debug_unset_threshold_for_name name'-    freeMem name'-    return ()----- function gst_debug_set_threshold_from_string--- Args : [Arg {argCName = "list", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "comma-separated list of \"category:level\" pairs to be used\n    as debug logging levels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reset", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to clear all previously-set debug levels before setting\n    new thresholds\n%FALSE if adding the threshold described by @list to the one already set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_set_threshold_from_string" gst_debug_set_threshold_from_string :: -    CString ->                              -- list : TBasicType TUTF8-    CInt ->                                 -- reset : TBasicType TBoolean-    IO ()--{- |-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.--/Since: 1.2/--}-debugSetThresholdFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@list@/: comma-separated list of \"category:level\" pairs to be used-    as debug logging levels -}-    -> Bool-    {- ^ /@reset@/: '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. -}-    -> m ()-debugSetThresholdFromString list reset = liftIO $ do-    list' <- textToCString list-    let reset' = (fromIntegral . fromEnum) reset-    gst_debug_set_threshold_from_string list' reset'-    freeMem list'-    return ()----- function gst_debug_set_threshold_for_name--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the categories to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "level", argType = TInterface (Name {namespace = "Gst", name = "DebugLevel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "level to set them to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_set_threshold_for_name" gst_debug_set_threshold_for_name :: -    CString ->                              -- name : TBasicType TUTF8-    CUInt ->                                -- level : TInterface (Name {namespace = "Gst", name = "DebugLevel"})-    IO ()--{- |-Sets all categories which match the given glob style pattern to the given-level.--}-debugSetThresholdForName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: name of the categories to set -}-    -> Gst.Enums.DebugLevel-    {- ^ /@level@/: level to set them to -}-    -> m ()-debugSetThresholdForName name level = liftIO $ do-    name' <- textToCString name-    let level' = (fromIntegral . fromEnum) level-    gst_debug_set_threshold_for_name name' level'-    freeMem name'-    return ()----- function gst_debug_set_default_threshold--- Args : [Arg {argCName = "level", argType = TInterface (Name {namespace = "Gst", name = "DebugLevel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "level to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_set_default_threshold" gst_debug_set_default_threshold :: -    CUInt ->                                -- level : TInterface (Name {namespace = "Gst", name = "DebugLevel"})-    IO ()--{- |-Sets the default threshold to the given level and updates all categories to-use this threshold.--This function may be called before 'GI.Gst.Functions.init'.--}-debugSetDefaultThreshold ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.DebugLevel-    {- ^ /@level@/: level to set -}-    -> m ()-debugSetDefaultThreshold level = liftIO $ do-    let level' = (fromIntegral . fromEnum) level-    gst_debug_set_default_threshold level'-    return ()----- function gst_debug_set_colored--- Args : [Arg {argCName = "colored", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether to use colored output or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_set_colored" gst_debug_set_colored :: -    CInt ->                                 -- colored : TBasicType TBoolean-    IO ()--{- |-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 'GI.Gst.Functions.init'.--}-debugSetColored ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bool-    {- ^ /@colored@/: Whether to use colored output or not -}-    -> m ()-debugSetColored colored = liftIO $ do-    let colored' = (fromIntegral . fromEnum) colored-    gst_debug_set_colored colored'-    return ()----- function gst_debug_set_color_mode_from_string--- Args : [Arg {argCName = "mode", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The coloring mode for debug output. One of the following:\n\"on\", \"auto\", \"off\", \"disable\", \"unix\".", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_set_color_mode_from_string" gst_debug_set_color_mode_from_string :: -    CString ->                              -- mode : TBasicType TUTF8-    IO ()--{- |-Changes the coloring mode for debug output.--This function may be called before 'GI.Gst.Functions.init'.--/Since: 1.2/--}-debugSetColorModeFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@mode@/: The coloring mode for debug output. One of the following:-\"on\", \"auto\", \"off\", \"disable\", \"unix\". -}-    -> m ()-debugSetColorModeFromString mode = liftIO $ do-    mode' <- textToCString mode-    gst_debug_set_color_mode_from_string mode'-    freeMem mode'-    return ()----- function gst_debug_set_color_mode--- Args : [Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "DebugColorMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The coloring mode for debug output. See @GstDebugColorMode.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_set_color_mode" gst_debug_set_color_mode :: -    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "DebugColorMode"})-    IO ()--{- |-Changes the coloring mode for debug output.--This function may be called before 'GI.Gst.Functions.init'.--/Since: 1.2/--}-debugSetColorMode ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.DebugColorMode-    {- ^ /@mode@/: The coloring mode for debug output. See /@gstDebugColorMode@/. -}-    -> m ()-debugSetColorMode mode = liftIO $ do-    let mode' = (fromIntegral . fromEnum) mode-    gst_debug_set_color_mode mode'-    return ()----- function gst_debug_set_active--- Args : [Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether to use debugging output or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_set_active" gst_debug_set_active :: -    CInt ->                                 -- active : TBasicType TBoolean-    IO ()--{- |-If activated, debugging messages are sent to the debugging-handlers.-It makes sense to deactivate it for speed issues.-> This function is not threadsafe. It makes sense to only call it-during initialization.--}-debugSetActive ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bool-    {- ^ /@active@/: Whether to use debugging output or not -}-    -> m ()-debugSetActive active = liftIO $ do-    let active' = (fromIntegral . fromEnum) active-    gst_debug_set_active active'-    return ()----- function gst_debug_ring_buffer_logger_get_logs--- Args : []--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_debug_ring_buffer_logger_get_logs" gst_debug_ring_buffer_logger_get_logs :: -    IO (Ptr CString)--{- |-Fetches the current logs per thread from the ring buffer logger. See-'GI.Gst.Functions.debugAddRingBufferLogger' for details.--/Since: 1.14/--}-debugRingBufferLoggerGetLogs ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [T.Text]-    {- ^ __Returns:__ NULL-terminated array of-strings with the debug output per thread -}-debugRingBufferLoggerGetLogs  = liftIO $ do-    result <- gst_debug_ring_buffer_logger_get_logs-    checkUnexpectedReturnNULL "debugRingBufferLoggerGetLogs" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    return result'----- function gst_debug_remove_ring_buffer_logger--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_remove_ring_buffer_logger" gst_debug_remove_ring_buffer_logger :: -    IO ()--{- |-Removes any previously added ring buffer logger with-'GI.Gst.Functions.debugAddRingBufferLogger'.--/Since: 1.14/--}-debugRemoveRingBufferLogger ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-debugRemoveRingBufferLogger  = liftIO $ do-    gst_debug_remove_ring_buffer_logger-    return ()----- function gst_debug_remove_log_function_by_data--- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data of the log function to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_remove_log_function_by_data" gst_debug_remove_log_function_by_data :: -    Ptr () ->                               -- data : TBasicType TPtr-    IO Word32--{- |-Removes all registered instances of log functions with the given user data.--}-debugRemoveLogFunctionByData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@data@/: user data of the log function to remove -}-    -> m Word32-    {- ^ __Returns:__ How many instances of the function were removed -}-debugRemoveLogFunctionByData data_ = liftIO $ do-    result <- gst_debug_remove_log_function_by_data data_-    return result----- function gst_debug_remove_log_function--- Args : [Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "LogFunction"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the log function to remove, or %NULL to\n    remove the default log function", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_remove_log_function" gst_debug_remove_log_function :: -    FunPtr Gst.Callbacks.C_LogFunction ->   -- func : TInterface (Name {namespace = "Gst", name = "LogFunction"})-    IO Word32--{- |-Removes all registered instances of the given logging functions.--}-debugRemoveLogFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (Gst.Callbacks.LogFunction)-    {- ^ /@func@/: the log function to remove, or 'Nothing' to-    remove the default log function -}-    -> m Word32-    {- ^ __Returns:__ How many instances of the function were removed -}-debugRemoveLogFunction func = liftIO $ do-    maybeFunc <- case func of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jFunc -> do-            jFunc' <- Gst.Callbacks.mk_LogFunction (Gst.Callbacks.wrap_LogFunction Nothing (Gst.Callbacks.drop_closures_LogFunction jFunc))-            return jFunc'-    result <- gst_debug_remove_log_function maybeFunc-    safeFreeFunPtr $ castFunPtrToPtr maybeFunc-    return result----- function gst_debug_print_stack_trace--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_print_stack_trace" gst_debug_print_stack_trace :: -    IO ()--{- |-If libunwind, glibc backtrace or DbgHelp are present-a stack trace is printed.--}-debugPrintStackTrace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-debugPrintStackTrace  = liftIO $ do-    gst_debug_print_stack_trace-    return ()----- function gst_debug_log_default--- Args : [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "category to log", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "level", argType = TInterface (Name {namespace = "Gst", name = "DebugLevel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "level of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the file that emitted the message, usually the __FILE__ identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function that emitted the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the line from that the message was emitted, usually __LINE__", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the object this message relates to,\n    or %NULL if none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "DebugMessage"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the actual message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the FILE* to log to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_log_default" gst_debug_log_default :: -    Ptr Gst.DebugCategory.DebugCategory ->  -- category : TInterface (Name {namespace = "Gst", name = "DebugCategory"})-    CUInt ->                                -- level : TInterface (Name {namespace = "Gst", name = "DebugLevel"})-    CString ->                              -- file : TBasicType TUTF8-    CString ->                              -- function : TBasicType TUTF8-    Int32 ->                                -- line : TBasicType TInt-    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})-    Ptr Gst.DebugMessage.DebugMessage ->    -- message : TInterface (Name {namespace = "Gst", name = "DebugMessage"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-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-/@userData@/.--You can add other handlers by using 'GI.Gst.Functions.debugAddLogFunction'.-And you can remove this handler by calling-gst_debug_remove_log_function(gst_debug_log_default);--}-debugLogDefault ::-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a) =>-    Gst.DebugCategory.DebugCategory-    {- ^ /@category@/: category to log -}-    -> Gst.Enums.DebugLevel-    {- ^ /@level@/: level of the message -}-    -> T.Text-    {- ^ /@file@/: the file that emitted the message, usually the __FILE__ identifier -}-    -> T.Text-    {- ^ /@function@/: the function that emitted the message -}-    -> Int32-    {- ^ /@line@/: the line from that the message was emitted, usually __LINE__ -}-    -> Maybe (a)-    {- ^ /@object@/: the object this message relates to,-    or 'Nothing' if none -}-    -> Gst.DebugMessage.DebugMessage-    {- ^ /@message@/: the actual message -}-    -> Ptr ()-    {- ^ /@userData@/: the FILE* to log to -}-    -> m ()-debugLogDefault category level file function line object message userData = liftIO $ do-    category' <- unsafeManagedPtrGetPtr category-    let level' = (fromIntegral . fromEnum) level-    file' <- textToCString file-    function' <- textToCString function-    maybeObject <- case object of-        Nothing -> return nullPtr-        Just jObject -> do-            jObject' <- unsafeManagedPtrCastPtr jObject-            return jObject'-    message' <- unsafeManagedPtrGetPtr message-    gst_debug_log_default category' level' file' function' line maybeObject message' userData-    touchManagedPtr category-    whenJust object touchManagedPtr-    touchManagedPtr message-    freeMem file'-    freeMem function'-    return ()----- function gst_debug_is_colored--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_is_colored" gst_debug_is_colored :: -    IO CInt--{- |-Checks if the debugging output should be colored.--}-debugIsColored ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True', if the debug output should be colored. -}-debugIsColored  = liftIO $ do-    result <- gst_debug_is_colored-    let result' = (/= 0) result-    return result'----- function gst_debug_is_active--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_is_active" gst_debug_is_active :: -    IO CInt--{- |-Checks if debugging output is activated.--}-debugIsActive ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True', if debugging is activated -}-debugIsActive  = liftIO $ do-    result <- gst_debug_is_active-    let result' = (/= 0) result-    return result'----- function gst_debug_get_stack_trace--- Args : [Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "StackTraceFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A set of #GstStackTraceFlags to determine how the stack\ntrace should look like. Pass 0 to retrieve a minimal backtrace.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_get_stack_trace" gst_debug_get_stack_trace :: -    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "StackTraceFlags"})-    IO CString--{- |-/No description available in the introspection data./--/Since: 1.12/--}-debugGetStackTrace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Gst.Flags.StackTraceFlags]-    {- ^ /@flags@/: A set of 'GI.Gst.Flags.StackTraceFlags' to determine how the stack-trace should look like. Pass 0 to retrieve a minimal backtrace. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ a stack trace, if libunwind or glibc backtrace are-present, else 'Nothing'. -}-debugGetStackTrace flags = liftIO $ do-    let flags' = gflagsToWord flags-    result <- gst_debug_get_stack_trace flags'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    return maybeResult----- function gst_debug_get_default_threshold--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DebugLevel"}))--- throws : False--- Skip return : False--foreign import ccall "gst_debug_get_default_threshold" gst_debug_get_default_threshold :: -    IO CUInt--{- |-Returns the default threshold that is used for new categories.--}-debugGetDefaultThreshold ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Gst.Enums.DebugLevel-    {- ^ __Returns:__ the default threshold level -}-debugGetDefaultThreshold  = liftIO $ do-    result <- gst_debug_get_default_threshold-    let result' = (toEnum . fromIntegral) result-    return result'----- function gst_debug_get_color_mode--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DebugColorMode"}))--- throws : False--- Skip return : False--foreign import ccall "gst_debug_get_color_mode" gst_debug_get_color_mode :: -    IO CUInt--{- |-Changes the coloring mode for debug output.--/Since: 1.2/--}-debugGetColorMode ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Gst.Enums.DebugColorMode-    {- ^ __Returns:__ see /@gstDebugColorMode@/ for possible values. -}-debugGetColorMode  = liftIO $ do-    result <- gst_debug_get_color_mode-    let result' = (toEnum . fromIntegral) result-    return result'----- function gst_debug_get_all_categories--- Args : []--- Lengths : []--- returnType : Just (TGSList (TInterface (Name {namespace = "Gst", name = "DebugCategory"})))--- throws : False--- Skip return : False--foreign import ccall "gst_debug_get_all_categories" gst_debug_get_all_categories :: -    IO (Ptr (GSList (Ptr Gst.DebugCategory.DebugCategory)))--{- |-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.--}-debugGetAllCategories ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Gst.DebugCategory.DebugCategory]-    {- ^ __Returns:__ the list of-    debug categories -}-debugGetAllCategories  = liftIO $ do-    result <- gst_debug_get_all_categories-    result' <- unpackGSList result-    result'' <- mapM (newPtr Gst.DebugCategory.DebugCategory) result'-    g_slist_free result-    return result''----- function gst_debug_construct_win_color--- Args : [Arg {argCName = "colorinfo", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the color info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_construct_win_color" gst_debug_construct_win_color :: -    Word32 ->                               -- colorinfo : TBasicType TUInt-    IO Int32--{- |-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.--}-debugConstructWinColor ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@colorinfo@/: the color info -}-    -> m Int32-    {- ^ __Returns:__ an integer containing the color definition -}-debugConstructWinColor colorinfo = liftIO $ do-    result <- gst_debug_construct_win_color colorinfo-    return result----- function gst_debug_construct_term_color--- Args : [Arg {argCName = "colorinfo", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the color info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_construct_term_color" gst_debug_construct_term_color :: -    Word32 ->                               -- colorinfo : TBasicType TUInt-    IO CString--{- |-Constructs a string that can be used for getting the desired color in color-terminals.-You need to free the string after use.--}-debugConstructTermColor ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@colorinfo@/: the color info -}-    -> m T.Text-    {- ^ __Returns:__ a string containing the color-    definition -}-debugConstructTermColor colorinfo = liftIO $ do-    result <- gst_debug_construct_term_color colorinfo-    checkUnexpectedReturnNULL "debugConstructTermColor" result-    result' <- cstringToText result-    freeMem result-    return result'----- function gst_debug_bin_to_dot_file_with_ts--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the top-level pipeline that should be analyzed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "details", argType = TInterface (Name {namespace = "Gst", name = "DebugGraphDetails"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of #GstDebugGraphDetails to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "output base filename (e.g. \"myplayer\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_bin_to_dot_file_with_ts" gst_debug_bin_to_dot_file_with_ts :: -    Ptr Gst.Bin.Bin ->                      -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    CUInt ->                                -- details : TInterface (Name {namespace = "Gst", name = "DebugGraphDetails"})-    CString ->                              -- file_name : TBasicType TFileName-    IO ()--{- |-This works like 'GI.Gst.Functions.debugBinToDotFile', but adds the current timestamp-to the filename, so that it can be used to take multiple snapshots.--}-debugBinToDotFileWithTs ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Bin.IsBin a) =>-    a-    {- ^ /@bin@/: the top-level pipeline that should be analyzed -}-    -> [Gst.Flags.DebugGraphDetails]-    {- ^ /@details@/: type of 'GI.Gst.Flags.DebugGraphDetails' to use -}-    -> [Char]-    {- ^ /@fileName@/: output base filename (e.g. \"myplayer\") -}-    -> m ()-debugBinToDotFileWithTs bin details fileName = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    let details' = gflagsToWord details-    fileName' <- stringToCString fileName-    gst_debug_bin_to_dot_file_with_ts bin' details' fileName'-    touchManagedPtr bin-    freeMem fileName'-    return ()----- function gst_debug_bin_to_dot_file--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the top-level pipeline that should be analyzed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "details", argType = TInterface (Name {namespace = "Gst", name = "DebugGraphDetails"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of #GstDebugGraphDetails to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "output base filename (e.g. \"myplayer\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_bin_to_dot_file" gst_debug_bin_to_dot_file :: -    Ptr Gst.Bin.Bin ->                      -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    CUInt ->                                -- details : TInterface (Name {namespace = "Gst", name = "DebugGraphDetails"})-    CString ->                              -- file_name : TBasicType TFileName-    IO ()--{- |-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.-\<informalexample>\<programlisting>- dot -Tpng -oimage.png graph_lowlevel.dot-\<\/programlisting>\<\/informalexample>--}-debugBinToDotFile ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Bin.IsBin a) =>-    a-    {- ^ /@bin@/: the top-level pipeline that should be analyzed -}-    -> [Gst.Flags.DebugGraphDetails]-    {- ^ /@details@/: type of 'GI.Gst.Flags.DebugGraphDetails' to use -}-    -> [Char]-    {- ^ /@fileName@/: output base filename (e.g. \"myplayer\") -}-    -> m ()-debugBinToDotFile bin details fileName = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    let details' = gflagsToWord details-    fileName' <- stringToCString fileName-    gst_debug_bin_to_dot_file bin' details' fileName'-    touchManagedPtr bin-    freeMem fileName'-    return ()----- function gst_debug_bin_to_dot_data--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the top-level pipeline that should be analyzed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "details", argType = TInterface (Name {namespace = "Gst", name = "DebugGraphDetails"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "type of #GstDebugGraphDetails to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_bin_to_dot_data" gst_debug_bin_to_dot_data :: -    Ptr Gst.Bin.Bin ->                      -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    CUInt ->                                -- details : TInterface (Name {namespace = "Gst", name = "DebugGraphDetails"})-    IO CString--{- |-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.--}-debugBinToDotData ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Bin.IsBin a) =>-    a-    {- ^ /@bin@/: the top-level pipeline that should be analyzed -}-    -> [Gst.Flags.DebugGraphDetails]-    {- ^ /@details@/: type of 'GI.Gst.Flags.DebugGraphDetails' to use -}-    -> m T.Text-    {- ^ __Returns:__ a string containing the pipeline in graphviz-dot format. -}-debugBinToDotData bin details = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    let details' = gflagsToWord details-    result <- gst_debug_bin_to_dot_data bin' details'-    checkUnexpectedReturnNULL "debugBinToDotData" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr bin-    return result'----- function gst_debug_add_ring_buffer_logger--- Args : [Arg {argCName = "max_size_per_thread", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Maximum size of log per thread in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "thread_timeout", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Timeout for threads in seconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_add_ring_buffer_logger" gst_debug_add_ring_buffer_logger :: -    Word32 ->                               -- max_size_per_thread : TBasicType TUInt-    Word32 ->                               -- thread_timeout : TBasicType TUInt-    IO ()--{- |-Adds a memory ringbuffer based debug logger that stores up to-/@maxSizePerThread@/ bytes of logs per thread and times out threads after-/@threadTimeout@/ seconds of inactivity.--Logs can be fetched with 'GI.Gst.Functions.debugRingBufferLoggerGetLogs' and the-logger can be removed again with 'GI.Gst.Functions.debugRemoveRingBufferLogger'.-Only one logger at a time is possible.--/Since: 1.14/--}-debugAddRingBufferLogger ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@maxSizePerThread@/: Maximum size of log per thread in bytes -}-    -> Word32-    {- ^ /@threadTimeout@/: Timeout for threads in seconds -}-    -> m ()-debugAddRingBufferLogger maxSizePerThread threadTimeout = liftIO $ do-    gst_debug_add_ring_buffer_logger maxSizePerThread threadTimeout-    return ()----- function gst_debug_add_log_function--- Args : [Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "LogFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to use", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "called when @user_data is not used anymore", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_add_log_function" gst_debug_add_log_function :: -    FunPtr Gst.Callbacks.C_LogFunction ->   -- func : TInterface (Name {namespace = "Gst", name = "LogFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Adds the logging function to the list of logging functions.-Be sure to use @/G_GNUC_NO_INSTRUMENT/@ on that function, it is needed.--}-debugAddLogFunction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Callbacks.LogFunction-    {- ^ /@func@/: the function to use -}-    -> m ()-debugAddLogFunction func = liftIO $ do-    func' <- Gst.Callbacks.mk_LogFunction (Gst.Callbacks.wrap_LogFunction Nothing (Gst.Callbacks.drop_closures_LogFunction func))-    let userData = castFunPtrToPtr func'-    let notify = safeFreeFunPtrPtr-    gst_debug_add_log_function func' userData notify-    return ()---
− GI/Gst/Interfaces.hs
@@ -1,49 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Interfaces-    (     module GI.Gst.Interfaces.ChildProxy     ,-    module GI.Gst.Interfaces.Preset         ,-    module GI.Gst.Interfaces.TagSetter      ,-    module GI.Gst.Interfaces.TocSetter      ,-    module GI.Gst.Interfaces.URIHandler     ,---    ) where--import GI.Gst.Interfaces.ChildProxy-import GI.Gst.Interfaces.Preset-import GI.Gst.Interfaces.TagSetter-import GI.Gst.Interfaces.TocSetter-import GI.Gst.Interfaces.URIHandler--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL---
− GI/Gst/Interfaces/ChildProxy.hs
@@ -1,755 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--This interface abstracts handling of property sets for elements with-children. Imagine elements such as mixers or polyphonic generators. They all-have multiple 'GI.Gst.Objects.Pad.Pad' or some kind of voice objects. Another use case are-container elements like 'GI.Gst.Objects.Bin.Bin'.-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 'GI.Gst.Interfaces.ChildProxy.ChildProxy' interface.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Interfaces.ChildProxy-    ( ---- * Exported types-    ChildProxy(..)                          ,-    noChildProxy                            ,-    IsChildProxy                            ,-    toChildProxy                            ,--- -- * Methods--- ** childAdded #method:childAdded#--#if ENABLE_OVERLOADING-    ChildProxyChildAddedMethodInfo          ,-#endif-    childProxyChildAdded                    ,----- ** childRemoved #method:childRemoved#--#if ENABLE_OVERLOADING-    ChildProxyChildRemovedMethodInfo        ,-#endif-    childProxyChildRemoved                  ,----- ** getChildByIndex #method:getChildByIndex#--#if ENABLE_OVERLOADING-    ChildProxyGetChildByIndexMethodInfo     ,-#endif-    childProxyGetChildByIndex               ,----- ** getChildByName #method:getChildByName#--#if ENABLE_OVERLOADING-    ChildProxyGetChildByNameMethodInfo      ,-#endif-    childProxyGetChildByName                ,----- ** getChildrenCount #method:getChildrenCount#--#if ENABLE_OVERLOADING-    ChildProxyGetChildrenCountMethodInfo    ,-#endif-    childProxyGetChildrenCount              ,----- ** getProperty #method:getProperty#--#if ENABLE_OVERLOADING-    ChildProxyGetPropertyMethodInfo         ,-#endif-    childProxyGetProperty                   ,----- ** lookup #method:lookup#--#if ENABLE_OVERLOADING-    ChildProxyLookupMethodInfo              ,-#endif-    childProxyLookup                        ,----- ** setProperty #method:setProperty#--#if ENABLE_OVERLOADING-    ChildProxySetPropertyMethodInfo         ,-#endif-    childProxySetProperty                   ,----- -- * Signals--- ** childAdded #signal:childAdded#--    C_ChildProxyChildAddedCallback          ,-    ChildProxyChildAddedCallback            ,-#if ENABLE_OVERLOADING-    ChildProxyChildAddedSignalInfo          ,-#endif-    afterChildProxyChildAdded               ,-    genClosure_ChildProxyChildAdded         ,-    mk_ChildProxyChildAddedCallback         ,-    noChildProxyChildAddedCallback          ,-    onChildProxyChildAdded                  ,-    wrap_ChildProxyChildAddedCallback       ,----- ** childRemoved #signal:childRemoved#--    C_ChildProxyChildRemovedCallback        ,-    ChildProxyChildRemovedCallback          ,-#if ENABLE_OVERLOADING-    ChildProxyChildRemovedSignalInfo        ,-#endif-    afterChildProxyChildRemoved             ,-    genClosure_ChildProxyChildRemoved       ,-    mk_ChildProxyChildRemovedCallback       ,-    noChildProxyChildRemovedCallback        ,-    onChildProxyChildRemoved                ,-    wrap_ChildProxyChildRemovedCallback     ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object---- interface ChildProxy --- | Memory-managed wrapper type.-newtype ChildProxy = ChildProxy (ManagedPtr ChildProxy)--- | A convenience alias for `Nothing` :: `Maybe` `ChildProxy`.-noChildProxy :: Maybe ChildProxy-noChildProxy = Nothing---- signal ChildProxy::child-added-{- |-Will be emitted after the /@object@/ was added to the /@childProxy@/.--}-type ChildProxyChildAddedCallback =-    GObject.Object.Object-    {- ^ /@object@/: the 'GI.GObject.Objects.Object.Object' that was added -}-    -> T.Text-    {- ^ /@name@/: the name of the new child -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ChildProxyChildAddedCallback`@.-noChildProxyChildAddedCallback :: Maybe ChildProxyChildAddedCallback-noChildProxyChildAddedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_ChildProxyChildAddedCallback =-    Ptr () ->                               -- object-    Ptr GObject.Object.Object ->-    CString ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_ChildProxyChildAddedCallback`.-foreign import ccall "wrapper"-    mk_ChildProxyChildAddedCallback :: C_ChildProxyChildAddedCallback -> IO (FunPtr C_ChildProxyChildAddedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_ChildProxyChildAdded :: MonadIO m => ChildProxyChildAddedCallback -> m (GClosure C_ChildProxyChildAddedCallback)-genClosure_ChildProxyChildAdded cb = liftIO $ do-    let cb' = wrap_ChildProxyChildAddedCallback cb-    mk_ChildProxyChildAddedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `ChildProxyChildAddedCallback` into a `C_ChildProxyChildAddedCallback`.-wrap_ChildProxyChildAddedCallback ::-    ChildProxyChildAddedCallback ->-    C_ChildProxyChildAddedCallback-wrap_ChildProxyChildAddedCallback _cb _ object name _ = do-    object' <- (newObject GObject.Object.Object) object-    name' <- cstringToText name-    _cb  object' name'---{- |-Connect a signal handler for the “@child-added@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' childProxy #childAdded callback-@--}-onChildProxyChildAdded :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId-onChildProxyChildAdded obj cb = liftIO $ do-    let cb' = wrap_ChildProxyChildAddedCallback cb-    cb'' <- mk_ChildProxyChildAddedCallback cb'-    connectSignalFunPtr obj "child-added" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@child-added@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' childProxy #childAdded callback-@--}-afterChildProxyChildAdded :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildAddedCallback -> m SignalHandlerId-afterChildProxyChildAdded obj cb = liftIO $ do-    let cb' = wrap_ChildProxyChildAddedCallback cb-    cb'' <- mk_ChildProxyChildAddedCallback cb'-    connectSignalFunPtr obj "child-added" cb'' SignalConnectAfter----- signal ChildProxy::child-removed-{- |-Will be emitted after the /@object@/ was removed from the /@childProxy@/.--}-type ChildProxyChildRemovedCallback =-    GObject.Object.Object-    {- ^ /@object@/: the 'GI.GObject.Objects.Object.Object' that was removed -}-    -> T.Text-    {- ^ /@name@/: the name of the old child -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ChildProxyChildRemovedCallback`@.-noChildProxyChildRemovedCallback :: Maybe ChildProxyChildRemovedCallback-noChildProxyChildRemovedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_ChildProxyChildRemovedCallback =-    Ptr () ->                               -- object-    Ptr GObject.Object.Object ->-    CString ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_ChildProxyChildRemovedCallback`.-foreign import ccall "wrapper"-    mk_ChildProxyChildRemovedCallback :: C_ChildProxyChildRemovedCallback -> IO (FunPtr C_ChildProxyChildRemovedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_ChildProxyChildRemoved :: MonadIO m => ChildProxyChildRemovedCallback -> m (GClosure C_ChildProxyChildRemovedCallback)-genClosure_ChildProxyChildRemoved cb = liftIO $ do-    let cb' = wrap_ChildProxyChildRemovedCallback cb-    mk_ChildProxyChildRemovedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `ChildProxyChildRemovedCallback` into a `C_ChildProxyChildRemovedCallback`.-wrap_ChildProxyChildRemovedCallback ::-    ChildProxyChildRemovedCallback ->-    C_ChildProxyChildRemovedCallback-wrap_ChildProxyChildRemovedCallback _cb _ object name _ = do-    object' <- (newObject GObject.Object.Object) object-    name' <- cstringToText name-    _cb  object' name'---{- |-Connect a signal handler for the “@child-removed@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' childProxy #childRemoved callback-@--}-onChildProxyChildRemoved :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId-onChildProxyChildRemoved obj cb = liftIO $ do-    let cb' = wrap_ChildProxyChildRemovedCallback cb-    cb'' <- mk_ChildProxyChildRemovedCallback cb'-    connectSignalFunPtr obj "child-removed" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@child-removed@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' childProxy #childRemoved callback-@--}-afterChildProxyChildRemoved :: (IsChildProxy a, MonadIO m) => a -> ChildProxyChildRemovedCallback -> m SignalHandlerId-afterChildProxyChildRemoved obj cb = liftIO $ do-    let cb' = wrap_ChildProxyChildRemovedCallback cb-    cb'' <- mk_ChildProxyChildRemovedCallback cb'-    connectSignalFunPtr obj "child-removed" cb'' SignalConnectAfter---#if ENABLE_OVERLOADING-data ChildProxyChildAddedSignalInfo-instance SignalInfo ChildProxyChildAddedSignalInfo where-    type HaskellCallbackType ChildProxyChildAddedSignalInfo = ChildProxyChildAddedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_ChildProxyChildAddedCallback cb-        cb'' <- mk_ChildProxyChildAddedCallback cb'-        connectSignalFunPtr obj "child-added" cb'' connectMode--data ChildProxyChildRemovedSignalInfo-instance SignalInfo ChildProxyChildRemovedSignalInfo where-    type HaskellCallbackType ChildProxyChildRemovedSignalInfo = ChildProxyChildRemovedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_ChildProxyChildRemovedCallback cb-        cb'' <- mk_ChildProxyChildRemovedCallback cb'-        connectSignalFunPtr obj "child-removed" cb'' connectMode--type instance O.SignalList ChildProxy = ChildProxySignalList-type ChildProxySignalList = ('[ '("childAdded", ChildProxyChildAddedSignalInfo), '("childRemoved", ChildProxyChildRemovedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif--foreign import ccall "gst_child_proxy_get_type"-    c_gst_child_proxy_get_type :: IO GType--instance GObject ChildProxy where-    gobjectType = c_gst_child_proxy_get_type-    ---- | Type class for types which can be safely cast to `ChildProxy`, for instance with `toChildProxy`.-class (GObject o, O.IsDescendantOf ChildProxy o) => IsChildProxy o-instance (GObject o, O.IsDescendantOf ChildProxy o) => IsChildProxy o--instance O.HasParentTypes ChildProxy-type instance O.ParentTypes ChildProxy = '[GObject.Object.Object]---- | Cast to `ChildProxy`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toChildProxy :: (MonadIO m, IsChildProxy o) => o -> m ChildProxy-toChildProxy = liftIO . unsafeCastTo ChildProxy--#if ENABLE_OVERLOADING-instance O.HasAttributeList ChildProxy-type instance O.AttributeList ChildProxy = ChildProxyAttributeList-type ChildProxyAttributeList = ('[ ] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveChildProxyMethod (t :: Symbol) (o :: *) :: * where-    ResolveChildProxyMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveChildProxyMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveChildProxyMethod "childAdded" o = ChildProxyChildAddedMethodInfo-    ResolveChildProxyMethod "childRemoved" o = ChildProxyChildRemovedMethodInfo-    ResolveChildProxyMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveChildProxyMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveChildProxyMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveChildProxyMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveChildProxyMethod "lookup" o = ChildProxyLookupMethodInfo-    ResolveChildProxyMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveChildProxyMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveChildProxyMethod "ref" o = GObject.Object.ObjectRefMethodInfo-    ResolveChildProxyMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveChildProxyMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveChildProxyMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveChildProxyMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveChildProxyMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveChildProxyMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo-    ResolveChildProxyMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveChildProxyMethod "getChildByIndex" o = ChildProxyGetChildByIndexMethodInfo-    ResolveChildProxyMethod "getChildByName" o = ChildProxyGetChildByNameMethodInfo-    ResolveChildProxyMethod "getChildrenCount" o = ChildProxyGetChildrenCountMethodInfo-    ResolveChildProxyMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveChildProxyMethod "getProperty" o = ChildProxyGetPropertyMethodInfo-    ResolveChildProxyMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveChildProxyMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveChildProxyMethod "setProperty" o = ChildProxySetPropertyMethodInfo-    ResolveChildProxyMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveChildProxyMethod t ChildProxy, O.MethodInfo info ChildProxy p) => OL.IsLabel t (ChildProxy -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- method ChildProxy::child_added--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "ChildProxy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the newly added child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the new child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_child_proxy_child_added" gst_child_proxy_child_added :: -    Ptr ChildProxy ->                       -- parent : TInterface (Name {namespace = "Gst", name = "ChildProxy"})-    Ptr GObject.Object.Object ->            -- child : TInterface (Name {namespace = "GObject", name = "Object"})-    CString ->                              -- name : TBasicType TUTF8-    IO ()--{- |-Emits the \"child-added\" signal.--}-childProxyChildAdded ::-    (B.CallStack.HasCallStack, MonadIO m, IsChildProxy a, GObject.Object.IsObject b) =>-    a-    {- ^ /@parent@/: the parent object -}-    -> b-    {- ^ /@child@/: the newly added child -}-    -> T.Text-    {- ^ /@name@/: the name of the new child -}-    -> m ()-childProxyChildAdded parent child name = liftIO $ do-    parent' <- unsafeManagedPtrCastPtr parent-    child' <- unsafeManagedPtrCastPtr child-    name' <- textToCString name-    gst_child_proxy_child_added parent' child' name'-    touchManagedPtr parent-    touchManagedPtr child-    freeMem name'-    return ()--#if ENABLE_OVERLOADING-data ChildProxyChildAddedMethodInfo-instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsChildProxy a, GObject.Object.IsObject b) => O.MethodInfo ChildProxyChildAddedMethodInfo a signature where-    overloadedMethod _ = childProxyChildAdded--#endif---- method ChildProxy::child_removed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "ChildProxy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the removed child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the old child", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_child_proxy_child_removed" gst_child_proxy_child_removed :: -    Ptr ChildProxy ->                       -- parent : TInterface (Name {namespace = "Gst", name = "ChildProxy"})-    Ptr GObject.Object.Object ->            -- child : TInterface (Name {namespace = "GObject", name = "Object"})-    CString ->                              -- name : TBasicType TUTF8-    IO ()--{- |-Emits the \"child-removed\" signal.--}-childProxyChildRemoved ::-    (B.CallStack.HasCallStack, MonadIO m, IsChildProxy a, GObject.Object.IsObject b) =>-    a-    {- ^ /@parent@/: the parent object -}-    -> b-    {- ^ /@child@/: the removed child -}-    -> T.Text-    {- ^ /@name@/: the name of the old child -}-    -> m ()-childProxyChildRemoved parent child name = liftIO $ do-    parent' <- unsafeManagedPtrCastPtr parent-    child' <- unsafeManagedPtrCastPtr child-    name' <- textToCString name-    gst_child_proxy_child_removed parent' child' name'-    touchManagedPtr parent-    touchManagedPtr child-    freeMem name'-    return ()--#if ENABLE_OVERLOADING-data ChildProxyChildRemovedMethodInfo-instance (signature ~ (b -> T.Text -> m ()), MonadIO m, IsChildProxy a, GObject.Object.IsObject b) => O.MethodInfo ChildProxyChildRemovedMethodInfo a signature where-    overloadedMethod _ = childProxyChildRemoved--#endif---- method ChildProxy::get_child_by_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "ChildProxy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent object to get the child from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child's position in the child list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))--- throws : False--- Skip return : False--foreign import ccall "gst_child_proxy_get_child_by_index" gst_child_proxy_get_child_by_index :: -    Ptr ChildProxy ->                       -- parent : TInterface (Name {namespace = "Gst", name = "ChildProxy"})-    Word32 ->                               -- index : TBasicType TUInt-    IO (Ptr GObject.Object.Object)--{- |-Fetches a child by its number.--}-childProxyGetChildByIndex ::-    (B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>-    a-    {- ^ /@parent@/: the parent object to get the child from -}-    -> Word32-    {- ^ /@index@/: the child\'s position in the child list -}-    -> m (Maybe GObject.Object.Object)-    {- ^ __Returns:__ the child object or 'Nothing' if-    not found (index too high). Unref after usage.--MT safe. -}-childProxyGetChildByIndex parent index = liftIO $ do-    parent' <- unsafeManagedPtrCastPtr parent-    result <- gst_child_proxy_get_child_by_index parent' index-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject GObject.Object.Object) result'-        return result''-    touchManagedPtr parent-    return maybeResult--#if ENABLE_OVERLOADING-data ChildProxyGetChildByIndexMethodInfo-instance (signature ~ (Word32 -> m (Maybe GObject.Object.Object)), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyGetChildByIndexMethodInfo a signature where-    overloadedMethod _ = childProxyGetChildByIndex--#endif---- method ChildProxy::get_child_by_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "ChildProxy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent object to get the child from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the child's name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Object"}))--- throws : False--- Skip return : False--foreign import ccall "gst_child_proxy_get_child_by_name" gst_child_proxy_get_child_by_name :: -    Ptr ChildProxy ->                       -- parent : TInterface (Name {namespace = "Gst", name = "ChildProxy"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr GObject.Object.Object)--{- |-Looks up a child element by the given name.--This virtual method has a default implementation that uses 'GI.Gst.Objects.Object.Object'-together with 'GI.Gst.Objects.Object.objectGetName'. If the interface is to be used with-@/GObjects/@, this methods needs to be overridden.--}-childProxyGetChildByName ::-    (B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>-    a-    {- ^ /@parent@/: the parent object to get the child from -}-    -> T.Text-    {- ^ /@name@/: the child\'s name -}-    -> m (Maybe GObject.Object.Object)-    {- ^ __Returns:__ the child object or 'Nothing' if-    not found. Unref after usage.--MT safe. -}-childProxyGetChildByName parent name = liftIO $ do-    parent' <- unsafeManagedPtrCastPtr parent-    name' <- textToCString name-    result <- gst_child_proxy_get_child_by_name parent' name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject GObject.Object.Object) result'-        return result''-    touchManagedPtr parent-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-data ChildProxyGetChildByNameMethodInfo-instance (signature ~ (T.Text -> m (Maybe GObject.Object.Object)), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyGetChildByNameMethodInfo a signature where-    overloadedMethod _ = childProxyGetChildByName--#endif---- method ChildProxy::get_children_count--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "ChildProxy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_child_proxy_get_children_count" gst_child_proxy_get_children_count :: -    Ptr ChildProxy ->                       -- parent : TInterface (Name {namespace = "Gst", name = "ChildProxy"})-    IO Word32--{- |-Gets the number of child objects this parent contains.--}-childProxyGetChildrenCount ::-    (B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>-    a-    {- ^ /@parent@/: the parent object -}-    -> m Word32-    {- ^ __Returns:__ the number of child objects--MT safe. -}-childProxyGetChildrenCount parent = liftIO $ do-    parent' <- unsafeManagedPtrCastPtr parent-    result <- gst_child_proxy_get_children_count parent'-    touchManagedPtr parent-    return result--#if ENABLE_OVERLOADING-data ChildProxyGetChildrenCountMethodInfo-instance (signature ~ (m Word32), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyGetChildrenCountMethodInfo a signature where-    overloadedMethod _ = childProxyGetChildrenCount--#endif---- method ChildProxy::get_property--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "ChildProxy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "object to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GValue that should take the result.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_child_proxy_get_property" gst_child_proxy_get_property :: -    Ptr ChildProxy ->                       -- object : TInterface (Name {namespace = "Gst", name = "ChildProxy"})-    CString ->                              -- name : TBasicType TUTF8-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-Gets a single property using the GstChildProxy mechanism.-You are responsible for freeing it by calling 'GI.GObject.Structs.Value.valueUnset'--}-childProxyGetProperty ::-    (B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>-    a-    {- ^ /@object@/: object to query -}-    -> T.Text-    {- ^ /@name@/: name of the property -}-    -> m (GValue)-childProxyGetProperty object name = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    name' <- textToCString name-    value <- callocBoxedBytes 24 :: IO (Ptr GValue)-    gst_child_proxy_get_property object' name' value-    value' <- (wrapBoxed GValue) value-    touchManagedPtr object-    freeMem name'-    return value'--#if ENABLE_OVERLOADING-data ChildProxyGetPropertyMethodInfo-instance (signature ~ (T.Text -> m (GValue)), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyGetPropertyMethodInfo a signature where-    overloadedMethod _ = childProxyGetProperty--#endif---- method ChildProxy::lookup--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "ChildProxy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "child proxy object to lookup the property in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the property to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a #GObject that\n    takes the real object to set property on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to take the #GParamSpec\n    describing the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_child_proxy_lookup" gst_child_proxy_lookup :: -    Ptr ChildProxy ->                       -- object : TInterface (Name {namespace = "Gst", name = "ChildProxy"})-    CString ->                              -- name : TBasicType TUTF8-    Ptr (Ptr GObject.Object.Object) ->      -- target : TInterface (Name {namespace = "GObject", name = "Object"})-    Ptr (Ptr GParamSpec) ->                 -- pspec : TParamSpec-    IO CInt--{- |-Looks up which object and 'GI.GObject.Objects.ParamSpec.ParamSpec' would be effected by the given /@name@/.--MT safe.--}-childProxyLookup ::-    (B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>-    a-    {- ^ /@object@/: child proxy object to lookup the property in -}-    -> T.Text-    {- ^ /@name@/: name of the property to look up -}-    -> m ((Bool, GObject.Object.Object, GParamSpec))-    {- ^ __Returns:__ '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@/. -}-childProxyLookup object name = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    name' <- textToCString name-    target <- allocMem :: IO (Ptr (Ptr GObject.Object.Object))-    pspec <- allocMem :: IO (Ptr (Ptr GParamSpec))-    result <- gst_child_proxy_lookup object' name' target pspec-    let result' = (/= 0) result-    target' <- peek target-    target'' <- (wrapObject GObject.Object.Object) target'-    pspec' <- peek pspec-    pspec'' <- B.GParamSpec.newGParamSpecFromPtr pspec'-    touchManagedPtr object-    freeMem name'-    freeMem target-    freeMem pspec-    return (result', target'', pspec'')--#if ENABLE_OVERLOADING-data ChildProxyLookupMethodInfo-instance (signature ~ (T.Text -> m ((Bool, GObject.Object.Object, GParamSpec))), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxyLookupMethodInfo a signature where-    overloadedMethod _ = childProxyLookup--#endif---- method ChildProxy::set_property--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "ChildProxy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the property to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new #GValue for the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_child_proxy_set_property" gst_child_proxy_set_property :: -    Ptr ChildProxy ->                       -- object : TInterface (Name {namespace = "Gst", name = "ChildProxy"})-    CString ->                              -- name : TBasicType TUTF8-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-Sets a single property using the GstChildProxy mechanism.--}-childProxySetProperty ::-    (B.CallStack.HasCallStack, MonadIO m, IsChildProxy a) =>-    a-    {- ^ /@object@/: the parent object -}-    -> T.Text-    {- ^ /@name@/: name of the property to set -}-    -> GValue-    {- ^ /@value@/: new 'GI.GObject.Structs.Value.Value' for the property -}-    -> m ()-childProxySetProperty object name value = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    name' <- textToCString name-    value' <- unsafeManagedPtrGetPtr value-    gst_child_proxy_set_property object' name' value'-    touchManagedPtr object-    touchManagedPtr value-    freeMem name'-    return ()--#if ENABLE_OVERLOADING-data ChildProxySetPropertyMethodInfo-instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m, IsChildProxy a) => O.MethodInfo ChildProxySetPropertyMethodInfo a signature where-    overloadedMethod _ = childProxySetProperty--#endif--
− GI/Gst/Interfaces/ChildProxy.hs-boot
@@ -1,59 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Interfaces.ChildProxy where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ChildProxy = ChildProxy (ManagedPtr ChildProxy)-#if ENABLE_OVERLOADING-data ChildProxyChildAddedSignalInfo-#endif-#if ENABLE_OVERLOADING-data ChildProxyChildRemovedSignalInfo-#endif-instance GObject ChildProxy where-class (GObject o, O.IsDescendantOf ChildProxy o) => IsChildProxy o-instance (GObject o, O.IsDescendantOf ChildProxy o) => IsChildProxy o-instance O.HasParentTypes ChildProxy-#if ENABLE_OVERLOADING-data ChildProxyChildAddedMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChildProxyChildRemovedMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChildProxyGetChildByIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChildProxyGetChildByNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChildProxyGetChildrenCountMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChildProxyGetPropertyMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChildProxyLookupMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChildProxySetPropertyMethodInfo-#endif
− GI/Gst/Interfaces/Preset.hs
@@ -1,652 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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 'GI.Gst.Interfaces.Preset.presetGetPropertyNames'.-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 'GI.Gst.Interfaces.Preset.presetSavePreset' and 'GI.Gst.Interfaces.Preset.presetDeletePreset' to 'Nothing'.-Applications can use 'GI.Gst.Interfaces.Preset.presetIsEditable' 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\".--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Interfaces.Preset-    ( ---- * Exported types-    Preset(..)                              ,-    noPreset                                ,-    IsPreset                                ,--- -- * Methods--- ** deletePreset #method:deletePreset#--#if ENABLE_OVERLOADING-    PresetDeletePresetMethodInfo            ,-#endif-    presetDeletePreset                      ,----- ** getAppDir #method:getAppDir#--    presetGetAppDir                         ,----- ** getMeta #method:getMeta#--#if ENABLE_OVERLOADING-    PresetGetMetaMethodInfo                 ,-#endif-    presetGetMeta                           ,----- ** getPresetNames #method:getPresetNames#--#if ENABLE_OVERLOADING-    PresetGetPresetNamesMethodInfo          ,-#endif-    presetGetPresetNames                    ,----- ** getPropertyNames #method:getPropertyNames#--#if ENABLE_OVERLOADING-    PresetGetPropertyNamesMethodInfo        ,-#endif-    presetGetPropertyNames                  ,----- ** isEditable #method:isEditable#--#if ENABLE_OVERLOADING-    PresetIsEditableMethodInfo              ,-#endif-    presetIsEditable                        ,----- ** loadPreset #method:loadPreset#--#if ENABLE_OVERLOADING-    PresetLoadPresetMethodInfo              ,-#endif-    presetLoadPreset                        ,----- ** renamePreset #method:renamePreset#--#if ENABLE_OVERLOADING-    PresetRenamePresetMethodInfo            ,-#endif-    presetRenamePreset                      ,----- ** savePreset #method:savePreset#--#if ENABLE_OVERLOADING-    PresetSavePresetMethodInfo              ,-#endif-    presetSavePreset                        ,----- ** setAppDir #method:setAppDir#--    presetSetAppDir                         ,----- ** setMeta #method:setMeta#--#if ENABLE_OVERLOADING-    PresetSetMetaMethodInfo                 ,-#endif-    presetSetMeta                           ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- interface Preset --- | Memory-managed wrapper type.-newtype Preset = Preset (ManagedPtr Preset)--- | A convenience alias for `Nothing` :: `Maybe` `Preset`.-noPreset :: Maybe Preset-noPreset = Nothing--#if ENABLE_OVERLOADING-type instance O.SignalList Preset = PresetSignalList-type PresetSignalList = ('[ ] :: [(Symbol, *)])--#endif---- | Type class for types which implement `Preset`.-class ManagedPtrNewtype a => IsPreset a-instance IsPreset Preset--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr Preset where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---#if ENABLE_OVERLOADING-type family ResolvePresetMethod (t :: Symbol) (o :: *) :: * where-    ResolvePresetMethod "deletePreset" o = PresetDeletePresetMethodInfo-    ResolvePresetMethod "isEditable" o = PresetIsEditableMethodInfo-    ResolvePresetMethod "loadPreset" o = PresetLoadPresetMethodInfo-    ResolvePresetMethod "renamePreset" o = PresetRenamePresetMethodInfo-    ResolvePresetMethod "savePreset" o = PresetSavePresetMethodInfo-    ResolvePresetMethod "getMeta" o = PresetGetMetaMethodInfo-    ResolvePresetMethod "getPresetNames" o = PresetGetPresetNamesMethodInfo-    ResolvePresetMethod "getPropertyNames" o = PresetGetPropertyNamesMethodInfo-    ResolvePresetMethod "setMeta" o = PresetSetMetaMethodInfo-    ResolvePresetMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePresetMethod t Preset, O.MethodInfo info Preset p) => OL.IsLabel t (Preset -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- method Preset::delete_preset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "preset", argType = TInterface (Name {namespace = "Gst", name = "Preset"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject that implements #GstPreset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "preset name to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_preset_delete_preset" gst_preset_delete_preset :: -    Ptr Preset ->                           -- preset : TInterface (Name {namespace = "Gst", name = "Preset"})-    CString ->                              -- name : TBasicType TUTF8-    IO CInt--{- |-Delete the given preset.--}-presetDeletePreset ::-    (B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>-    a-    {- ^ /@preset@/: a 'GI.GObject.Objects.Object.Object' that implements 'GI.Gst.Interfaces.Preset.Preset' -}-    -> T.Text-    {- ^ /@name@/: preset name to remove -}-    -> m Bool-    {- ^ __Returns:__ 'True' for success, 'False' if e.g. there is no preset with that /@name@/ -}-presetDeletePreset preset name = liftIO $ do-    preset' <- unsafeManagedPtrCastPtr preset-    name' <- textToCString name-    result <- gst_preset_delete_preset preset' name'-    let result' = (/= 0) result-    touchManagedPtr preset-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-data PresetDeletePresetMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetDeletePresetMethodInfo a signature where-    overloadedMethod _ = presetDeletePreset--#endif---- method Preset::get_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "preset", argType = TInterface (Name {namespace = "Gst", name = "Preset"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject that implements #GstPreset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "preset name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "meta data item name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_preset_get_meta" gst_preset_get_meta :: -    Ptr Preset ->                           -- preset : TInterface (Name {namespace = "Gst", name = "Preset"})-    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- tag : TBasicType TUTF8-    Ptr CString ->                          -- value : TBasicType TUTF8-    IO CInt--{- |-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.--}-presetGetMeta ::-    (B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>-    a-    {- ^ /@preset@/: a 'GI.GObject.Objects.Object.Object' that implements 'GI.Gst.Interfaces.Preset.Preset' -}-    -> T.Text-    {- ^ /@name@/: preset name -}-    -> T.Text-    {- ^ /@tag@/: meta data item name -}-    -> m ((Bool, T.Text))-    {- ^ __Returns:__ 'True' for success, 'False' if e.g. there is no preset with that /@name@/-or no value for the given /@tag@/ -}-presetGetMeta preset name tag = liftIO $ do-    preset' <- unsafeManagedPtrCastPtr preset-    name' <- textToCString name-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CString)-    result <- gst_preset_get_meta preset' name' tag' value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- cstringToText value'-    freeMem value'-    touchManagedPtr preset-    freeMem name'-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data PresetGetMetaMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ((Bool, T.Text))), MonadIO m, IsPreset a) => O.MethodInfo PresetGetMetaMethodInfo a signature where-    overloadedMethod _ = presetGetMeta--#endif---- method Preset::get_preset_names--- method type : OrdinaryMethod--- Args : [Arg {argCName = "preset", argType = TInterface (Name {namespace = "Gst", name = "Preset"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject that implements #GstPreset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_preset_get_preset_names" gst_preset_get_preset_names :: -    Ptr Preset ->                           -- preset : TInterface (Name {namespace = "Gst", name = "Preset"})-    IO (Ptr CString)--{- |-Get a copy of preset names as a 'Nothing' terminated string array.--}-presetGetPresetNames ::-    (B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>-    a-    {- ^ /@preset@/: a 'GI.GObject.Objects.Object.Object' that implements 'GI.Gst.Interfaces.Preset.Preset' -}-    -> m [T.Text]-    {- ^ __Returns:__ -    list with names, use 'GI.GLib.Functions.strfreev' after usage. -}-presetGetPresetNames preset = liftIO $ do-    preset' <- unsafeManagedPtrCastPtr preset-    result <- gst_preset_get_preset_names preset'-    checkUnexpectedReturnNULL "presetGetPresetNames" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    touchManagedPtr preset-    return result'--#if ENABLE_OVERLOADING-data PresetGetPresetNamesMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m, IsPreset a) => O.MethodInfo PresetGetPresetNamesMethodInfo a signature where-    overloadedMethod _ = presetGetPresetNames--#endif---- method Preset::get_property_names--- method type : OrdinaryMethod--- Args : [Arg {argCName = "preset", argType = TInterface (Name {namespace = "Gst", name = "Preset"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject that implements #GstPreset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_preset_get_property_names" gst_preset_get_property_names :: -    Ptr Preset ->                           -- preset : TInterface (Name {namespace = "Gst", name = "Preset"})-    IO (Ptr CString)--{- |-Get a the names of the GObject properties that can be used for presets.--}-presetGetPropertyNames ::-    (B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>-    a-    {- ^ /@preset@/: a 'GI.GObject.Objects.Object.Object' that implements 'GI.Gst.Interfaces.Preset.Preset' -}-    -> m [T.Text]-    {- ^ __Returns:__ an-  array of property names which should be freed with 'GI.GLib.Functions.strfreev' after use. -}-presetGetPropertyNames preset = liftIO $ do-    preset' <- unsafeManagedPtrCastPtr preset-    result <- gst_preset_get_property_names preset'-    checkUnexpectedReturnNULL "presetGetPropertyNames" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    touchManagedPtr preset-    return result'--#if ENABLE_OVERLOADING-data PresetGetPropertyNamesMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m, IsPreset a) => O.MethodInfo PresetGetPropertyNamesMethodInfo a signature where-    overloadedMethod _ = presetGetPropertyNames--#endif---- method Preset::is_editable--- method type : OrdinaryMethod--- Args : [Arg {argCName = "preset", argType = TInterface (Name {namespace = "Gst", name = "Preset"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject that implements #GstPreset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_preset_is_editable" gst_preset_is_editable :: -    Ptr Preset ->                           -- preset : TInterface (Name {namespace = "Gst", name = "Preset"})-    IO CInt--{- |-Check if one can add new presets, change existing ones and remove presets.--/Since: 1.6/--}-presetIsEditable ::-    (B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>-    a-    {- ^ /@preset@/: a 'GI.GObject.Objects.Object.Object' that implements 'GI.Gst.Interfaces.Preset.Preset' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if presets are editable or 'False' if they are static -}-presetIsEditable preset = liftIO $ do-    preset' <- unsafeManagedPtrCastPtr preset-    result <- gst_preset_is_editable preset'-    let result' = (/= 0) result-    touchManagedPtr preset-    return result'--#if ENABLE_OVERLOADING-data PresetIsEditableMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetIsEditableMethodInfo a signature where-    overloadedMethod _ = presetIsEditable--#endif---- method Preset::load_preset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "preset", argType = TInterface (Name {namespace = "Gst", name = "Preset"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject that implements #GstPreset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "preset name to load", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_preset_load_preset" gst_preset_load_preset :: -    Ptr Preset ->                           -- preset : TInterface (Name {namespace = "Gst", name = "Preset"})-    CString ->                              -- name : TBasicType TUTF8-    IO CInt--{- |-Load the given preset.--}-presetLoadPreset ::-    (B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>-    a-    {- ^ /@preset@/: a 'GI.GObject.Objects.Object.Object' that implements 'GI.Gst.Interfaces.Preset.Preset' -}-    -> T.Text-    {- ^ /@name@/: preset name to load -}-    -> m Bool-    {- ^ __Returns:__ 'True' for success, 'False' if e.g. there is no preset with that /@name@/ -}-presetLoadPreset preset name = liftIO $ do-    preset' <- unsafeManagedPtrCastPtr preset-    name' <- textToCString name-    result <- gst_preset_load_preset preset' name'-    let result' = (/= 0) result-    touchManagedPtr preset-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-data PresetLoadPresetMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetLoadPresetMethodInfo a signature where-    overloadedMethod _ = presetLoadPreset--#endif---- method Preset::rename_preset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "preset", argType = TInterface (Name {namespace = "Gst", name = "Preset"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject that implements #GstPreset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "old_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "current preset name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new preset name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_preset_rename_preset" gst_preset_rename_preset :: -    Ptr Preset ->                           -- preset : TInterface (Name {namespace = "Gst", name = "Preset"})-    CString ->                              -- old_name : TBasicType TUTF8-    CString ->                              -- new_name : TBasicType TUTF8-    IO CInt--{- |-Renames a preset. If there is already a preset by the /@newName@/ it will be-overwritten.--}-presetRenamePreset ::-    (B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>-    a-    {- ^ /@preset@/: a 'GI.GObject.Objects.Object.Object' that implements 'GI.Gst.Interfaces.Preset.Preset' -}-    -> T.Text-    {- ^ /@oldName@/: current preset name -}-    -> T.Text-    {- ^ /@newName@/: new preset name -}-    -> m Bool-    {- ^ __Returns:__ 'True' for success, 'False' if e.g. there is no preset with /@oldName@/ -}-presetRenamePreset preset oldName newName = liftIO $ do-    preset' <- unsafeManagedPtrCastPtr preset-    oldName' <- textToCString oldName-    newName' <- textToCString newName-    result <- gst_preset_rename_preset preset' oldName' newName'-    let result' = (/= 0) result-    touchManagedPtr preset-    freeMem oldName'-    freeMem newName'-    return result'--#if ENABLE_OVERLOADING-data PresetRenamePresetMethodInfo-instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetRenamePresetMethodInfo a signature where-    overloadedMethod _ = presetRenamePreset--#endif---- method Preset::save_preset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "preset", argType = TInterface (Name {namespace = "Gst", name = "Preset"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject that implements #GstPreset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "preset name to save", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_preset_save_preset" gst_preset_save_preset :: -    Ptr Preset ->                           -- preset : TInterface (Name {namespace = "Gst", name = "Preset"})-    CString ->                              -- name : TBasicType TUTF8-    IO CInt--{- |-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.--}-presetSavePreset ::-    (B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>-    a-    {- ^ /@preset@/: a 'GI.GObject.Objects.Object.Object' that implements 'GI.Gst.Interfaces.Preset.Preset' -}-    -> T.Text-    {- ^ /@name@/: preset name to save -}-    -> m Bool-    {- ^ __Returns:__ 'True' for success, 'False' -}-presetSavePreset preset name = liftIO $ do-    preset' <- unsafeManagedPtrCastPtr preset-    name' <- textToCString name-    result <- gst_preset_save_preset preset' name'-    let result' = (/= 0) result-    touchManagedPtr preset-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-data PresetSavePresetMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetSavePresetMethodInfo a signature where-    overloadedMethod _ = presetSavePreset--#endif---- method Preset::set_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "preset", argType = TInterface (Name {namespace = "Gst", name = "Preset"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GObject that implements #GstPreset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "preset name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "meta data item name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_preset_set_meta" gst_preset_set_meta :: -    Ptr Preset ->                           -- preset : TInterface (Name {namespace = "Gst", name = "Preset"})-    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- tag : TBasicType TUTF8-    CString ->                              -- value : TBasicType TUTF8-    IO CInt--{- |-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 'Nothing' for the-/@value@/ will unset an existing value.--}-presetSetMeta ::-    (B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>-    a-    {- ^ /@preset@/: a 'GI.GObject.Objects.Object.Object' that implements 'GI.Gst.Interfaces.Preset.Preset' -}-    -> T.Text-    {- ^ /@name@/: preset name -}-    -> T.Text-    {- ^ /@tag@/: meta data item name -}-    -> Maybe (T.Text)-    {- ^ /@value@/: new value -}-    -> m Bool-    {- ^ __Returns:__ 'True' for success, 'False' if e.g. there is no preset with that /@name@/ -}-presetSetMeta preset name tag value = liftIO $ do-    preset' <- unsafeManagedPtrCastPtr preset-    name' <- textToCString name-    tag' <- textToCString tag-    maybeValue <- case value of-        Nothing -> return nullPtr-        Just jValue -> do-            jValue' <- textToCString jValue-            return jValue'-    result <- gst_preset_set_meta preset' name' tag' maybeValue-    let result' = (/= 0) result-    touchManagedPtr preset-    freeMem name'-    freeMem tag'-    freeMem maybeValue-    return result'--#if ENABLE_OVERLOADING-data PresetSetMetaMethodInfo-instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetSetMetaMethodInfo a signature where-    overloadedMethod _ = presetSetMeta--#endif---- method Preset::get_app_dir--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "gst_preset_get_app_dir" gst_preset_get_app_dir :: -    IO CString--{- |-Gets the directory for application specific presets if set by the-application.--}-presetGetAppDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m (Maybe [Char])-    {- ^ __Returns:__ the directory or 'Nothing', don\'t free or modify-the string -}-presetGetAppDir  = liftIO $ do-    result <- gst_preset_get_app_dir-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToString result'-        return result''-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Preset::set_app_dir--- method type : MemberFunction--- Args : [Arg {argCName = "app_dir", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the application specific preset dir", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_preset_set_app_dir" gst_preset_set_app_dir :: -    CString ->                              -- app_dir : TBasicType TFileName-    IO CInt--{- |-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.--}-presetSetAppDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@appDir@/: the application specific preset dir -}-    -> m Bool-    {- ^ __Returns:__ 'True' for success, 'False' if the dir already has been set -}-presetSetAppDir appDir = liftIO $ do-    appDir' <- stringToCString appDir-    result <- gst_preset_set_app_dir appDir'-    let result' = (/= 0) result-    freeMem appDir'-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Interfaces/Preset.hs-boot
@@ -1,54 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Interfaces.Preset where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Preset = Preset (ManagedPtr Preset)-class ManagedPtrNewtype a => IsPreset a-instance WrappedPtr Preset where-#if ENABLE_OVERLOADING-data PresetDeletePresetMethodInfo-#endif-#if ENABLE_OVERLOADING-data PresetGetMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data PresetGetPresetNamesMethodInfo-#endif-#if ENABLE_OVERLOADING-data PresetGetPropertyNamesMethodInfo-#endif-#if ENABLE_OVERLOADING-data PresetIsEditableMethodInfo-#endif-#if ENABLE_OVERLOADING-data PresetLoadPresetMethodInfo-#endif-#if ENABLE_OVERLOADING-data PresetRenamePresetMethodInfo-#endif-#if ENABLE_OVERLOADING-data PresetSavePresetMethodInfo-#endif-#if ENABLE_OVERLOADING-data PresetSetMetaMethodInfo-#endif
− GI/Gst/Interfaces/TagSetter.hs
@@ -1,548 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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.-'GI.Gst.Interfaces.TagSetter.tagSetterMergeTags' or @/gst_tag_setter_add_tags()/@. Also consider-setting the 'GI.Gst.Enums.TagMergeMode' 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 'GI.Gst.Enums.StatePaused'.--Elements implementing the 'GI.Gst.Interfaces.TagSetter.TagSetter' 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:---=== /C code/->->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->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);---}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Interfaces.TagSetter-    ( ---- * Exported types-    TagSetter(..)                           ,-    noTagSetter                             ,-    IsTagSetter                             ,-    toTagSetter                             ,--- -- * Methods--- ** addTagValue #method:addTagValue#--#if ENABLE_OVERLOADING-    TagSetterAddTagValueMethodInfo          ,-#endif-    tagSetterAddTagValue                    ,----- ** getTagList #method:getTagList#--#if ENABLE_OVERLOADING-    TagSetterGetTagListMethodInfo           ,-#endif-    tagSetterGetTagList                     ,----- ** getTagMergeMode #method:getTagMergeMode#--#if ENABLE_OVERLOADING-    TagSetterGetTagMergeModeMethodInfo      ,-#endif-    tagSetterGetTagMergeMode                ,----- ** mergeTags #method:mergeTags#--#if ENABLE_OVERLOADING-    TagSetterMergeTagsMethodInfo            ,-#endif-    tagSetterMergeTags                      ,----- ** resetTags #method:resetTags#--#if ENABLE_OVERLOADING-    TagSetterResetTagsMethodInfo            ,-#endif-    tagSetterResetTags                      ,----- ** setTagMergeMode #method:setTagMergeMode#--#if ENABLE_OVERLOADING-    TagSetterSetTagMergeModeMethodInfo      ,-#endif-    tagSetterSetTagMergeMode                ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList---- interface TagSetter --- | Memory-managed wrapper type.-newtype TagSetter = TagSetter (ManagedPtr TagSetter)--- | A convenience alias for `Nothing` :: `Maybe` `TagSetter`.-noTagSetter :: Maybe TagSetter-noTagSetter = Nothing--#if ENABLE_OVERLOADING-type instance O.SignalList TagSetter = TagSetterSignalList-type TagSetterSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif--foreign import ccall "gst_tag_setter_get_type"-    c_gst_tag_setter_get_type :: IO GType--instance GObject TagSetter where-    gobjectType = c_gst_tag_setter_get_type-    ---- | Type class for types which can be safely cast to `TagSetter`, for instance with `toTagSetter`.-class (GObject o, O.IsDescendantOf TagSetter o) => IsTagSetter o-instance (GObject o, O.IsDescendantOf TagSetter o) => IsTagSetter o--instance O.HasParentTypes TagSetter-type instance O.ParentTypes TagSetter = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `TagSetter`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTagSetter :: (MonadIO m, IsTagSetter o) => o -> m TagSetter-toTagSetter = liftIO . unsafeCastTo TagSetter--#if ENABLE_OVERLOADING-instance O.HasAttributeList TagSetter-type instance O.AttributeList TagSetter = TagSetterAttributeList-type TagSetterAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveTagSetterMethod (t :: Symbol) (o :: *) :: * where-    ResolveTagSetterMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolveTagSetterMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveTagSetterMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolveTagSetterMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolveTagSetterMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolveTagSetterMethod "addTagValue" o = TagSetterAddTagValueMethodInfo-    ResolveTagSetterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveTagSetterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveTagSetterMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolveTagSetterMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolveTagSetterMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolveTagSetterMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolveTagSetterMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveTagSetterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveTagSetterMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolveTagSetterMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolveTagSetterMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolveTagSetterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveTagSetterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveTagSetterMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveTagSetterMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveTagSetterMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveTagSetterMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveTagSetterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveTagSetterMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolveTagSetterMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolveTagSetterMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolveTagSetterMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolveTagSetterMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolveTagSetterMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolveTagSetterMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolveTagSetterMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolveTagSetterMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolveTagSetterMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolveTagSetterMethod "mergeTags" o = TagSetterMergeTagsMethodInfo-    ResolveTagSetterMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolveTagSetterMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolveTagSetterMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolveTagSetterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveTagSetterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveTagSetterMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolveTagSetterMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolveTagSetterMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolveTagSetterMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolveTagSetterMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolveTagSetterMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolveTagSetterMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveTagSetterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveTagSetterMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolveTagSetterMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveTagSetterMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolveTagSetterMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolveTagSetterMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolveTagSetterMethod "resetTags" o = TagSetterResetTagsMethodInfo-    ResolveTagSetterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveTagSetterMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolveTagSetterMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolveTagSetterMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolveTagSetterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveTagSetterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveTagSetterMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveTagSetterMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolveTagSetterMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveTagSetterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveTagSetterMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolveTagSetterMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolveTagSetterMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveTagSetterMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveTagSetterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveTagSetterMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolveTagSetterMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo-    ResolveTagSetterMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolveTagSetterMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolveTagSetterMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolveTagSetterMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolveTagSetterMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolveTagSetterMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolveTagSetterMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveTagSetterMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveTagSetterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveTagSetterMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolveTagSetterMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveTagSetterMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolveTagSetterMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveTagSetterMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolveTagSetterMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolveTagSetterMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveTagSetterMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveTagSetterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveTagSetterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveTagSetterMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolveTagSetterMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolveTagSetterMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolveTagSetterMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolveTagSetterMethod "getTagList" o = TagSetterGetTagListMethodInfo-    ResolveTagSetterMethod "getTagMergeMode" o = TagSetterGetTagMergeModeMethodInfo-    ResolveTagSetterMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveTagSetterMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolveTagSetterMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolveTagSetterMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolveTagSetterMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolveTagSetterMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveTagSetterMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveTagSetterMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveTagSetterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveTagSetterMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolveTagSetterMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveTagSetterMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveTagSetterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveTagSetterMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolveTagSetterMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolveTagSetterMethod "setTagMergeMode" o = TagSetterSetTagMergeModeMethodInfo-    ResolveTagSetterMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTagSetterMethod t TagSetter, O.MethodInfo info TagSetter p) => OL.IsLabel t (TagSetter -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- method TagSetter::add_tag_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "setter", argType = TInterface (Name {namespace = "Gst", name = "TagSetter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagSetter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "TagMergeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mode to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GValue to set for the tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_setter_add_tag_value" gst_tag_setter_add_tag_value :: -    Ptr TagSetter ->                        -- setter : TInterface (Name {namespace = "Gst", name = "TagSetter"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-Adds the given tag \/ GValue pair on the setter using the given merge mode.--}-tagSetterAddTagValue ::-    (B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>-    a-    {- ^ /@setter@/: a 'GI.Gst.Interfaces.TagSetter.TagSetter' -}-    -> Gst.Enums.TagMergeMode-    {- ^ /@mode@/: the mode to use -}-    -> T.Text-    {- ^ /@tag@/: tag to set -}-    -> GValue-    {- ^ /@value@/: GValue to set for the tag -}-    -> m ()-tagSetterAddTagValue setter mode tag value = liftIO $ do-    setter' <- unsafeManagedPtrCastPtr setter-    let mode' = (fromIntegral . fromEnum) mode-    tag' <- textToCString tag-    value' <- unsafeManagedPtrGetPtr value-    gst_tag_setter_add_tag_value setter' mode' tag' value'-    touchManagedPtr setter-    touchManagedPtr value-    freeMem tag'-    return ()--#if ENABLE_OVERLOADING-data TagSetterAddTagValueMethodInfo-instance (signature ~ (Gst.Enums.TagMergeMode -> T.Text -> GValue -> m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterAddTagValueMethodInfo a signature where-    overloadedMethod _ = tagSetterAddTagValue--#endif---- method TagSetter::get_tag_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "setter", argType = TInterface (Name {namespace = "Gst", name = "TagSetter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagSetter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_setter_get_tag_list" gst_tag_setter_get_tag_list :: -    Ptr TagSetter ->                        -- setter : TInterface (Name {namespace = "Gst", name = "TagSetter"})-    IO (Ptr Gst.TagList.TagList)--{- |-Returns the current list of tags the setter uses.  The list should not be-modified or freed.--This function is not thread-safe.--}-tagSetterGetTagList ::-    (B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>-    a-    {- ^ /@setter@/: a 'GI.Gst.Interfaces.TagSetter.TagSetter' -}-    -> m (Maybe Gst.TagList.TagList)-    {- ^ __Returns:__ a current snapshot of the-         taglist used in the setter or 'Nothing' if none is used. -}-tagSetterGetTagList setter = liftIO $ do-    setter' <- unsafeManagedPtrCastPtr setter-    result <- gst_tag_setter_get_tag_list setter'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.TagList.TagList) result'-        return result''-    touchManagedPtr setter-    return maybeResult--#if ENABLE_OVERLOADING-data TagSetterGetTagListMethodInfo-instance (signature ~ (m (Maybe Gst.TagList.TagList)), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterGetTagListMethodInfo a signature where-    overloadedMethod _ = tagSetterGetTagList--#endif---- method TagSetter::get_tag_merge_mode--- method type : OrdinaryMethod--- Args : [Arg {argCName = "setter", argType = TInterface (Name {namespace = "Gst", name = "TagSetter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagSetter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagMergeMode"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_setter_get_tag_merge_mode" gst_tag_setter_get_tag_merge_mode :: -    Ptr TagSetter ->                        -- setter : TInterface (Name {namespace = "Gst", name = "TagSetter"})-    IO CUInt--{- |-Queries the mode by which tags inside the setter are overwritten by tags-from events--}-tagSetterGetTagMergeMode ::-    (B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>-    a-    {- ^ /@setter@/: a 'GI.Gst.Interfaces.TagSetter.TagSetter' -}-    -> m Gst.Enums.TagMergeMode-    {- ^ __Returns:__ the merge mode used inside the element. -}-tagSetterGetTagMergeMode setter = liftIO $ do-    setter' <- unsafeManagedPtrCastPtr setter-    result <- gst_tag_setter_get_tag_merge_mode setter'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr setter-    return result'--#if ENABLE_OVERLOADING-data TagSetterGetTagMergeModeMethodInfo-instance (signature ~ (m Gst.Enums.TagMergeMode), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterGetTagMergeModeMethodInfo a signature where-    overloadedMethod _ = tagSetterGetTagMergeMode--#endif---- method TagSetter::merge_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "setter", argType = TInterface (Name {namespace = "Gst", name = "TagSetter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagSetter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a tag list to merge from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "TagMergeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mode to merge with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_setter_merge_tags" gst_tag_setter_merge_tags :: -    Ptr TagSetter ->                        -- setter : TInterface (Name {namespace = "Gst", name = "TagSetter"})-    Ptr Gst.TagList.TagList ->              -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"})-    IO ()--{- |-Merges the given list into the setter\'s list using the given mode.--}-tagSetterMergeTags ::-    (B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>-    a-    {- ^ /@setter@/: a 'GI.Gst.Interfaces.TagSetter.TagSetter' -}-    -> Gst.TagList.TagList-    {- ^ /@list@/: a tag list to merge from -}-    -> Gst.Enums.TagMergeMode-    {- ^ /@mode@/: the mode to merge with -}-    -> m ()-tagSetterMergeTags setter list mode = liftIO $ do-    setter' <- unsafeManagedPtrCastPtr setter-    list' <- unsafeManagedPtrGetPtr list-    let mode' = (fromIntegral . fromEnum) mode-    gst_tag_setter_merge_tags setter' list' mode'-    touchManagedPtr setter-    touchManagedPtr list-    return ()--#if ENABLE_OVERLOADING-data TagSetterMergeTagsMethodInfo-instance (signature ~ (Gst.TagList.TagList -> Gst.Enums.TagMergeMode -> m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterMergeTagsMethodInfo a signature where-    overloadedMethod _ = tagSetterMergeTags--#endif---- method TagSetter::reset_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "setter", argType = TInterface (Name {namespace = "Gst", name = "TagSetter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagSetter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_setter_reset_tags" gst_tag_setter_reset_tags :: -    Ptr TagSetter ->                        -- setter : TInterface (Name {namespace = "Gst", name = "TagSetter"})-    IO ()--{- |-Reset the internal taglist. Elements should call this from within the-state-change handler.--}-tagSetterResetTags ::-    (B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>-    a-    {- ^ /@setter@/: a 'GI.Gst.Interfaces.TagSetter.TagSetter' -}-    -> m ()-tagSetterResetTags setter = liftIO $ do-    setter' <- unsafeManagedPtrCastPtr setter-    gst_tag_setter_reset_tags setter'-    touchManagedPtr setter-    return ()--#if ENABLE_OVERLOADING-data TagSetterResetTagsMethodInfo-instance (signature ~ (m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterResetTagsMethodInfo a signature where-    overloadedMethod _ = tagSetterResetTags--#endif---- method TagSetter::set_tag_merge_mode--- method type : OrdinaryMethod--- Args : [Arg {argCName = "setter", argType = TInterface (Name {namespace = "Gst", name = "TagSetter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagSetter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "TagMergeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The mode with which tags are added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_setter_set_tag_merge_mode" gst_tag_setter_set_tag_merge_mode :: -    Ptr TagSetter ->                        -- setter : TInterface (Name {namespace = "Gst", name = "TagSetter"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"})-    IO ()--{- |-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.--}-tagSetterSetTagMergeMode ::-    (B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>-    a-    {- ^ /@setter@/: a 'GI.Gst.Interfaces.TagSetter.TagSetter' -}-    -> Gst.Enums.TagMergeMode-    {- ^ /@mode@/: The mode with which tags are added -}-    -> m ()-tagSetterSetTagMergeMode setter mode = liftIO $ do-    setter' <- unsafeManagedPtrCastPtr setter-    let mode' = (fromIntegral . fromEnum) mode-    gst_tag_setter_set_tag_merge_mode setter' mode'-    touchManagedPtr setter-    return ()--#if ENABLE_OVERLOADING-data TagSetterSetTagMergeModeMethodInfo-instance (signature ~ (Gst.Enums.TagMergeMode -> m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterSetTagMergeModeMethodInfo a signature where-    overloadedMethod _ = tagSetterSetTagMergeMode--#endif--
− GI/Gst/Interfaces/TagSetter.hs-boot
@@ -1,47 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Interfaces.TagSetter where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TagSetter = TagSetter (ManagedPtr TagSetter)-instance GObject TagSetter where-class (GObject o, O.IsDescendantOf TagSetter o) => IsTagSetter o-instance (GObject o, O.IsDescendantOf TagSetter o) => IsTagSetter o-instance O.HasParentTypes TagSetter-#if ENABLE_OVERLOADING-data TagSetterAddTagValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagSetterGetTagListMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagSetterGetTagMergeModeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagSetterMergeTagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagSetterResetTagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagSetterSetTagMergeModeMethodInfo-#endif
− GI/Gst/Interfaces/TocSetter.hs
@@ -1,369 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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 'GI.Gst.Interfaces.TocSetter.tocSetterSetToc'.--Elements implementing the 'GI.Gst.Interfaces.TocSetter.TocSetter' interface can extend existing TOC-by getting extend UID for that (you can use 'GI.Gst.Structs.Toc.tocFindEntry' to retrieve it)-with any TOC entries received from downstream.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Interfaces.TocSetter-    ( ---- * Exported types-    TocSetter(..)                           ,-    noTocSetter                             ,-    IsTocSetter                             ,-    toTocSetter                             ,--- -- * Methods--- ** getToc #method:getToc#--#if ENABLE_OVERLOADING-    TocSetterGetTocMethodInfo               ,-#endif-    tocSetterGetToc                         ,----- ** reset #method:reset#--#if ENABLE_OVERLOADING-    TocSetterResetMethodInfo                ,-#endif-    tocSetterReset                          ,----- ** setToc #method:setToc#--#if ENABLE_OVERLOADING-    TocSetterSetTocMethodInfo               ,-#endif-    tocSetterSetToc                         ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Structs.Toc as Gst.Toc---- interface TocSetter --- | Memory-managed wrapper type.-newtype TocSetter = TocSetter (ManagedPtr TocSetter)--- | A convenience alias for `Nothing` :: `Maybe` `TocSetter`.-noTocSetter :: Maybe TocSetter-noTocSetter = Nothing--#if ENABLE_OVERLOADING-type instance O.SignalList TocSetter = TocSetterSignalList-type TocSetterSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif--foreign import ccall "gst_toc_setter_get_type"-    c_gst_toc_setter_get_type :: IO GType--instance GObject TocSetter where-    gobjectType = c_gst_toc_setter_get_type-    ---- | Type class for types which can be safely cast to `TocSetter`, for instance with `toTocSetter`.-class (GObject o, O.IsDescendantOf TocSetter o) => IsTocSetter o-instance (GObject o, O.IsDescendantOf TocSetter o) => IsTocSetter o--instance O.HasParentTypes TocSetter-type instance O.ParentTypes TocSetter = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `TocSetter`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTocSetter :: (MonadIO m, IsTocSetter o) => o -> m TocSetter-toTocSetter = liftIO . unsafeCastTo TocSetter--#if ENABLE_OVERLOADING-instance O.HasAttributeList TocSetter-type instance O.AttributeList TocSetter = TocSetterAttributeList-type TocSetterAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveTocSetterMethod (t :: Symbol) (o :: *) :: * where-    ResolveTocSetterMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolveTocSetterMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveTocSetterMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolveTocSetterMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolveTocSetterMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolveTocSetterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveTocSetterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveTocSetterMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolveTocSetterMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolveTocSetterMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolveTocSetterMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolveTocSetterMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveTocSetterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveTocSetterMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolveTocSetterMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolveTocSetterMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolveTocSetterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveTocSetterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveTocSetterMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveTocSetterMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveTocSetterMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveTocSetterMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveTocSetterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveTocSetterMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolveTocSetterMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolveTocSetterMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolveTocSetterMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolveTocSetterMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolveTocSetterMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolveTocSetterMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolveTocSetterMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolveTocSetterMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolveTocSetterMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolveTocSetterMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolveTocSetterMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolveTocSetterMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolveTocSetterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveTocSetterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveTocSetterMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolveTocSetterMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolveTocSetterMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolveTocSetterMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolveTocSetterMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolveTocSetterMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolveTocSetterMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveTocSetterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveTocSetterMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolveTocSetterMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveTocSetterMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolveTocSetterMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolveTocSetterMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolveTocSetterMethod "reset" o = TocSetterResetMethodInfo-    ResolveTocSetterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveTocSetterMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolveTocSetterMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolveTocSetterMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolveTocSetterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveTocSetterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveTocSetterMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveTocSetterMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolveTocSetterMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveTocSetterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveTocSetterMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolveTocSetterMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolveTocSetterMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveTocSetterMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveTocSetterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveTocSetterMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolveTocSetterMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo-    ResolveTocSetterMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolveTocSetterMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolveTocSetterMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolveTocSetterMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolveTocSetterMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolveTocSetterMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolveTocSetterMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveTocSetterMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveTocSetterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveTocSetterMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolveTocSetterMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveTocSetterMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolveTocSetterMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveTocSetterMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolveTocSetterMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolveTocSetterMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveTocSetterMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveTocSetterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveTocSetterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveTocSetterMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolveTocSetterMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolveTocSetterMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolveTocSetterMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolveTocSetterMethod "getToc" o = TocSetterGetTocMethodInfo-    ResolveTocSetterMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveTocSetterMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolveTocSetterMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolveTocSetterMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolveTocSetterMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolveTocSetterMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveTocSetterMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveTocSetterMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveTocSetterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveTocSetterMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolveTocSetterMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveTocSetterMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveTocSetterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveTocSetterMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolveTocSetterMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolveTocSetterMethod "setToc" o = TocSetterSetTocMethodInfo-    ResolveTocSetterMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTocSetterMethod t TocSetter, O.MethodInfo info TocSetter p) => OL.IsLabel t (TocSetter -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- method TocSetter::get_toc--- method type : OrdinaryMethod--- Args : [Arg {argCName = "setter", argType = TInterface (Name {namespace = "Gst", name = "TocSetter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTocSetter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Toc"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_setter_get_toc" gst_toc_setter_get_toc :: -    Ptr TocSetter ->                        -- setter : TInterface (Name {namespace = "Gst", name = "TocSetter"})-    IO (Ptr Gst.Toc.Toc)--{- |-Return current TOC the setter uses. The TOC should not be-modified without making it writable first.--}-tocSetterGetToc ::-    (B.CallStack.HasCallStack, MonadIO m, IsTocSetter a) =>-    a-    {- ^ /@setter@/: a 'GI.Gst.Interfaces.TocSetter.TocSetter'. -}-    -> m (Maybe Gst.Toc.Toc)-    {- ^ __Returns:__ TOC set, or 'Nothing'. Unref with-    @/gst_toc_unref()/@ when no longer needed -}-tocSetterGetToc setter = liftIO $ do-    setter' <- unsafeManagedPtrCastPtr setter-    result <- gst_toc_setter_get_toc setter'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Toc.Toc) result'-        return result''-    touchManagedPtr setter-    return maybeResult--#if ENABLE_OVERLOADING-data TocSetterGetTocMethodInfo-instance (signature ~ (m (Maybe Gst.Toc.Toc)), MonadIO m, IsTocSetter a) => O.MethodInfo TocSetterGetTocMethodInfo a signature where-    overloadedMethod _ = tocSetterGetToc--#endif---- method TocSetter::reset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "setter", argType = TInterface (Name {namespace = "Gst", name = "TocSetter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTocSetter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_setter_reset" gst_toc_setter_reset :: -    Ptr TocSetter ->                        -- setter : TInterface (Name {namespace = "Gst", name = "TocSetter"})-    IO ()--{- |-Reset the internal TOC. Elements should call this from within the-state-change handler.--}-tocSetterReset ::-    (B.CallStack.HasCallStack, MonadIO m, IsTocSetter a) =>-    a-    {- ^ /@setter@/: a 'GI.Gst.Interfaces.TocSetter.TocSetter'. -}-    -> m ()-tocSetterReset setter = liftIO $ do-    setter' <- unsafeManagedPtrCastPtr setter-    gst_toc_setter_reset setter'-    touchManagedPtr setter-    return ()--#if ENABLE_OVERLOADING-data TocSetterResetMethodInfo-instance (signature ~ (m ()), MonadIO m, IsTocSetter a) => O.MethodInfo TocSetterResetMethodInfo a signature where-    overloadedMethod _ = tocSetterReset--#endif---- method TocSetter::set_toc--- method type : OrdinaryMethod--- Args : [Arg {argCName = "setter", argType = TInterface (Name {namespace = "Gst", name = "TocSetter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTocSetter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstToc to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_setter_set_toc" gst_toc_setter_set_toc :: -    Ptr TocSetter ->                        -- setter : TInterface (Name {namespace = "Gst", name = "TocSetter"})-    Ptr Gst.Toc.Toc ->                      -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    IO ()--{- |-Set the given TOC on the setter. Previously set TOC will be-unreffed before setting a new one.--}-tocSetterSetToc ::-    (B.CallStack.HasCallStack, MonadIO m, IsTocSetter a) =>-    a-    {- ^ /@setter@/: a 'GI.Gst.Interfaces.TocSetter.TocSetter'. -}-    -> Maybe (Gst.Toc.Toc)-    {- ^ /@toc@/: a 'GI.Gst.Structs.Toc.Toc' to set. -}-    -> m ()-tocSetterSetToc setter toc = liftIO $ do-    setter' <- unsafeManagedPtrCastPtr setter-    maybeToc <- case toc of-        Nothing -> return nullPtr-        Just jToc -> do-            jToc' <- unsafeManagedPtrGetPtr jToc-            return jToc'-    gst_toc_setter_set_toc setter' maybeToc-    touchManagedPtr setter-    whenJust toc touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data TocSetterSetTocMethodInfo-instance (signature ~ (Maybe (Gst.Toc.Toc) -> m ()), MonadIO m, IsTocSetter a) => O.MethodInfo TocSetterSetTocMethodInfo a signature where-    overloadedMethod _ = tocSetterSetToc--#endif--
− GI/Gst/Interfaces/TocSetter.hs-boot
@@ -1,38 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Interfaces.TocSetter where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TocSetter = TocSetter (ManagedPtr TocSetter)-instance GObject TocSetter where-class (GObject o, O.IsDescendantOf TocSetter o) => IsTocSetter o-instance (GObject o, O.IsDescendantOf TocSetter o) => IsTocSetter o-instance O.HasParentTypes TocSetter-#if ENABLE_OVERLOADING-data TocSetterGetTocMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocSetterResetMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocSetterSetTocMethodInfo-#endif
− GI/Gst/Interfaces/URIHandler.hs
@@ -1,291 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.Gst.Interfaces.URIHandler.URIHandler' is an interface that is implemented by Source and Sink-'GI.Gst.Objects.Element.Element' 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-('GI.Gst.Objects.Element.elementMakeFromUri').--Source and Sink plugins should implement this interface when possible.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Interfaces.URIHandler-    ( ---- * Exported types-    URIHandler(..)                          ,-    noURIHandler                            ,-    IsURIHandler                            ,--- -- * Methods--- ** getProtocols #method:getProtocols#--#if ENABLE_OVERLOADING-    URIHandlerGetProtocolsMethodInfo        ,-#endif-    uRIHandlerGetProtocols                  ,----- ** getUri #method:getUri#--#if ENABLE_OVERLOADING-    URIHandlerGetUriMethodInfo              ,-#endif-    uRIHandlerGetUri                        ,----- ** getUriType #method:getUriType#--#if ENABLE_OVERLOADING-    URIHandlerGetUriTypeMethodInfo          ,-#endif-    uRIHandlerGetUriType                    ,----- ** setUri #method:setUri#--#if ENABLE_OVERLOADING-    URIHandlerSetUriMethodInfo              ,-#endif-    uRIHandlerSetUri                        ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums---- interface URIHandler --- | Memory-managed wrapper type.-newtype URIHandler = URIHandler (ManagedPtr URIHandler)--- | A convenience alias for `Nothing` :: `Maybe` `URIHandler`.-noURIHandler :: Maybe URIHandler-noURIHandler = Nothing--#if ENABLE_OVERLOADING-type instance O.SignalList URIHandler = URIHandlerSignalList-type URIHandlerSignalList = ('[ ] :: [(Symbol, *)])--#endif---- | Type class for types which implement `URIHandler`.-class ManagedPtrNewtype a => IsURIHandler a-instance IsURIHandler URIHandler--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr URIHandler where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---#if ENABLE_OVERLOADING-type family ResolveURIHandlerMethod (t :: Symbol) (o :: *) :: * where-    ResolveURIHandlerMethod "getProtocols" o = URIHandlerGetProtocolsMethodInfo-    ResolveURIHandlerMethod "getUri" o = URIHandlerGetUriMethodInfo-    ResolveURIHandlerMethod "getUriType" o = URIHandlerGetUriTypeMethodInfo-    ResolveURIHandlerMethod "setUri" o = URIHandlerSetUriMethodInfo-    ResolveURIHandlerMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveURIHandlerMethod t URIHandler, O.MethodInfo info URIHandler p) => OL.IsLabel t (URIHandler -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- method URIHandler::get_protocols--- method type : OrdinaryMethod--- Args : [Arg {argCName = "handler", argType = TInterface (Name {namespace = "Gst", name = "URIHandler"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstURIHandler.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_handler_get_protocols" gst_uri_handler_get_protocols :: -    Ptr URIHandler ->                       -- handler : TInterface (Name {namespace = "Gst", name = "URIHandler"})-    IO (Ptr CString)--{- |-Gets the list of protocols supported by /@handler@/. This list may not be-modified.--}-uRIHandlerGetProtocols ::-    (B.CallStack.HasCallStack, MonadIO m, IsURIHandler a) =>-    a-    {- ^ /@handler@/: A 'GI.Gst.Interfaces.URIHandler.URIHandler'. -}-    -> m (Maybe [T.Text])-    {- ^ __Returns:__ the-    supported protocols.  Returns 'Nothing' if the /@handler@/ isn\'t-    implemented properly, or the /@handler@/ doesn\'t support any-    protocols. -}-uRIHandlerGetProtocols handler = liftIO $ do-    handler' <- unsafeManagedPtrCastPtr handler-    result <- gst_uri_handler_get_protocols handler'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- unpackZeroTerminatedUTF8CArray result'-        return result''-    touchManagedPtr handler-    return maybeResult--#if ENABLE_OVERLOADING-data URIHandlerGetProtocolsMethodInfo-instance (signature ~ (m (Maybe [T.Text])), MonadIO m, IsURIHandler a) => O.MethodInfo URIHandlerGetProtocolsMethodInfo a signature where-    overloadedMethod _ = uRIHandlerGetProtocols--#endif---- method URIHandler::get_uri--- method type : OrdinaryMethod--- Args : [Arg {argCName = "handler", argType = TInterface (Name {namespace = "Gst", name = "URIHandler"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstURIHandler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_handler_get_uri" gst_uri_handler_get_uri :: -    Ptr URIHandler ->                       -- handler : TInterface (Name {namespace = "Gst", name = "URIHandler"})-    IO CString--{- |-Gets the currently handled URI.--}-uRIHandlerGetUri ::-    (B.CallStack.HasCallStack, MonadIO m, IsURIHandler a) =>-    a-    {- ^ /@handler@/: A 'GI.Gst.Interfaces.URIHandler.URIHandler' -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the URI currently handled by-  the /@handler@/.  Returns 'Nothing' if there are no URI currently-  handled. The returned string must be freed with 'GI.GLib.Functions.free' when no-  longer needed. -}-uRIHandlerGetUri handler = liftIO $ do-    handler' <- unsafeManagedPtrCastPtr handler-    result <- gst_uri_handler_get_uri handler'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr handler-    return maybeResult--#if ENABLE_OVERLOADING-data URIHandlerGetUriMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsURIHandler a) => O.MethodInfo URIHandlerGetUriMethodInfo a signature where-    overloadedMethod _ = uRIHandlerGetUri--#endif---- method URIHandler::get_uri_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "handler", argType = TInterface (Name {namespace = "Gst", name = "URIHandler"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstURIHandler.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "URIType"}))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_handler_get_uri_type" gst_uri_handler_get_uri_type :: -    Ptr URIHandler ->                       -- handler : TInterface (Name {namespace = "Gst", name = "URIHandler"})-    IO CUInt--{- |-Gets the type of the given URI handler--}-uRIHandlerGetUriType ::-    (B.CallStack.HasCallStack, MonadIO m, IsURIHandler a) =>-    a-    {- ^ /@handler@/: A 'GI.Gst.Interfaces.URIHandler.URIHandler'. -}-    -> m Gst.Enums.URIType-    {- ^ __Returns:__ the 'GI.Gst.Enums.URIType' of the URI handler.-Returns @/GST_URI_UNKNOWN/@ if the /@handler@/ isn\'t implemented correctly. -}-uRIHandlerGetUriType handler = liftIO $ do-    handler' <- unsafeManagedPtrCastPtr handler-    result <- gst_uri_handler_get_uri_type handler'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr handler-    return result'--#if ENABLE_OVERLOADING-data URIHandlerGetUriTypeMethodInfo-instance (signature ~ (m Gst.Enums.URIType), MonadIO m, IsURIHandler a) => O.MethodInfo URIHandlerGetUriTypeMethodInfo a signature where-    overloadedMethod _ = uRIHandlerGetUriType--#endif---- method URIHandler::set_uri--- method type : OrdinaryMethod--- Args : [Arg {argCName = "handler", argType = TInterface (Name {namespace = "Gst", name = "URIHandler"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstURIHandler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "URI to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "gst_uri_handler_set_uri" gst_uri_handler_set_uri :: -    Ptr URIHandler ->                       -- handler : TInterface (Name {namespace = "Gst", name = "URIHandler"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Tries to set the URI of the given handler.--}-uRIHandlerSetUri ::-    (B.CallStack.HasCallStack, MonadIO m, IsURIHandler a) =>-    a-    {- ^ /@handler@/: A 'GI.Gst.Interfaces.URIHandler.URIHandler' -}-    -> T.Text-    {- ^ /@uri@/: URI to set -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-uRIHandlerSetUri handler uri = liftIO $ do-    handler' <- unsafeManagedPtrCastPtr handler-    uri' <- textToCString uri-    onException (do-        _ <- propagateGError $ gst_uri_handler_set_uri handler' uri'-        touchManagedPtr handler-        freeMem uri'-        return ()-     ) (do-        freeMem uri'-     )--#if ENABLE_OVERLOADING-data URIHandlerSetUriMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m, IsURIHandler a) => O.MethodInfo URIHandlerSetUriMethodInfo a signature where-    overloadedMethod _ = uRIHandlerSetUri--#endif--
− GI/Gst/Interfaces/URIHandler.hs-boot
@@ -1,39 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Interfaces.URIHandler where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype URIHandler = URIHandler (ManagedPtr URIHandler)-class ManagedPtrNewtype a => IsURIHandler a-instance WrappedPtr URIHandler where-#if ENABLE_OVERLOADING-data URIHandlerGetProtocolsMethodInfo-#endif-#if ENABLE_OVERLOADING-data URIHandlerGetUriMethodInfo-#endif-#if ENABLE_OVERLOADING-data URIHandlerGetUriTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data URIHandlerSetUriMethodInfo-#endif
− GI/Gst/Objects.hs
@@ -1,125 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects-    (     module GI.Gst.Objects.Allocator         ,-    module GI.Gst.Objects.Bin               ,-    module GI.Gst.Objects.Bitmask           ,-    module GI.Gst.Objects.BufferPool        ,-    module GI.Gst.Objects.Bus               ,-    module GI.Gst.Objects.Clock             ,-    module GI.Gst.Objects.ControlBinding    ,-    module GI.Gst.Objects.ControlSource     ,-    module GI.Gst.Objects.Device            ,-    module GI.Gst.Objects.DeviceMonitor     ,-    module GI.Gst.Objects.DeviceProvider    ,-    module GI.Gst.Objects.DeviceProviderFactory,-    module GI.Gst.Objects.DoubleRange       ,-    module GI.Gst.Objects.DynamicTypeFactory,-    module GI.Gst.Objects.Element           ,-    module GI.Gst.Objects.ElementFactory    ,-    module GI.Gst.Objects.FlagSet           ,-    module GI.Gst.Objects.Fraction          ,-    module GI.Gst.Objects.FractionRange     ,-    module GI.Gst.Objects.GhostPad          ,-    module GI.Gst.Objects.Int64Range        ,-    module GI.Gst.Objects.IntRange          ,-    module GI.Gst.Objects.Object            ,-    module GI.Gst.Objects.Pad               ,-    module GI.Gst.Objects.PadTemplate       ,-    module GI.Gst.Objects.ParamArray        ,-    module GI.Gst.Objects.ParamFraction     ,-    module GI.Gst.Objects.Pipeline          ,-    module GI.Gst.Objects.Plugin            ,-    module GI.Gst.Objects.PluginFeature     ,-    module GI.Gst.Objects.ProxyPad          ,-    module GI.Gst.Objects.Registry          ,-    module GI.Gst.Objects.Stream            ,-    module GI.Gst.Objects.StreamCollection  ,-    module GI.Gst.Objects.SystemClock       ,-    module GI.Gst.Objects.Task              ,-    module GI.Gst.Objects.TaskPool          ,-    module GI.Gst.Objects.Tracer            ,-    module GI.Gst.Objects.TracerFactory     ,-    module GI.Gst.Objects.TracerRecord      ,-    module GI.Gst.Objects.TypeFindFactory   ,-    module GI.Gst.Objects.ValueArray        ,-    module GI.Gst.Objects.ValueList         ,---    ) where--import GI.Gst.Objects.Allocator-import GI.Gst.Objects.Bin-import GI.Gst.Objects.Bitmask-import GI.Gst.Objects.BufferPool-import GI.Gst.Objects.Bus-import GI.Gst.Objects.Clock-import GI.Gst.Objects.ControlBinding-import GI.Gst.Objects.ControlSource-import GI.Gst.Objects.Device-import GI.Gst.Objects.DeviceMonitor-import GI.Gst.Objects.DeviceProvider-import GI.Gst.Objects.DeviceProviderFactory-import GI.Gst.Objects.DoubleRange-import GI.Gst.Objects.DynamicTypeFactory-import GI.Gst.Objects.Element-import GI.Gst.Objects.ElementFactory-import GI.Gst.Objects.FlagSet-import GI.Gst.Objects.Fraction-import GI.Gst.Objects.FractionRange-import GI.Gst.Objects.GhostPad-import GI.Gst.Objects.Int64Range-import GI.Gst.Objects.IntRange-import GI.Gst.Objects.Object-import GI.Gst.Objects.Pad-import GI.Gst.Objects.PadTemplate-import GI.Gst.Objects.ParamArray-import GI.Gst.Objects.ParamFraction-import GI.Gst.Objects.Pipeline-import GI.Gst.Objects.Plugin-import GI.Gst.Objects.PluginFeature-import GI.Gst.Objects.ProxyPad-import GI.Gst.Objects.Registry-import GI.Gst.Objects.Stream-import GI.Gst.Objects.StreamCollection-import GI.Gst.Objects.SystemClock-import GI.Gst.Objects.Task-import GI.Gst.Objects.TaskPool-import GI.Gst.Objects.Tracer-import GI.Gst.Objects.TracerFactory-import GI.Gst.Objects.TracerRecord-import GI.Gst.Objects.TypeFindFactory-import GI.Gst.Objects.ValueArray-import GI.Gst.Objects.ValueList--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL---
− GI/Gst/Objects/Allocator.hs
@@ -1,405 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Memory is usually created by allocators with a 'GI.Gst.Objects.Allocator.allocatorAlloc'-method call. When 'Nothing' is used as the allocator, the default allocator will-be used.--New allocators can be registered with 'GI.Gst.Objects.Allocator.allocatorRegister'.-Allocators are identified by name and can be retrieved with-'GI.Gst.Objects.Allocator.allocatorFind'. 'GI.Gst.Objects.Allocator.allocatorSetDefault' can be used to change the-default allocator.--New memory can be created with 'GI.Gst.Structs.Memory.memoryNewWrapped' that wraps the memory-allocated elsewhere.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Allocator-    ( ---- * Exported types-    Allocator(..)                           ,-    IsAllocator                             ,-    toAllocator                             ,-    noAllocator                             ,--- -- * Methods--- ** alloc #method:alloc#--#if ENABLE_OVERLOADING-    AllocatorAllocMethodInfo                ,-#endif-    allocatorAlloc                          ,----- ** find #method:find#--    allocatorFind                           ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    AllocatorFreeMethodInfo                 ,-#endif-    allocatorFree                           ,----- ** register #method:register#--    allocatorRegister                       ,----- ** setDefault #method:setDefault#--#if ENABLE_OVERLOADING-    AllocatorSetDefaultMethodInfo           ,-#endif-    allocatorSetDefault                     ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams-import {-# SOURCE #-} qualified GI.Gst.Structs.Memory as Gst.Memory---- | Memory-managed wrapper type.-newtype Allocator = Allocator (ManagedPtr Allocator)-foreign import ccall "gst_allocator_get_type"-    c_gst_allocator_get_type :: IO GType--instance GObject Allocator where-    gobjectType = c_gst_allocator_get_type-    ---- | Type class for types which can be safely cast to `Allocator`, for instance with `toAllocator`.-class (GObject o, O.IsDescendantOf Allocator o) => IsAllocator o-instance (GObject o, O.IsDescendantOf Allocator o) => IsAllocator o--instance O.HasParentTypes Allocator-type instance O.ParentTypes Allocator = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Allocator`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toAllocator :: (MonadIO m, IsAllocator o) => o -> m Allocator-toAllocator = liftIO . unsafeCastTo Allocator---- | A convenience alias for `Nothing` :: `Maybe` `Allocator`.-noAllocator :: Maybe Allocator-noAllocator = Nothing--#if ENABLE_OVERLOADING-type family ResolveAllocatorMethod (t :: Symbol) (o :: *) :: * where-    ResolveAllocatorMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveAllocatorMethod "alloc" o = AllocatorAllocMethodInfo-    ResolveAllocatorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveAllocatorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveAllocatorMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveAllocatorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveAllocatorMethod "free" o = AllocatorFreeMethodInfo-    ResolveAllocatorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveAllocatorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveAllocatorMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveAllocatorMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveAllocatorMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveAllocatorMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveAllocatorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveAllocatorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveAllocatorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveAllocatorMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveAllocatorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveAllocatorMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveAllocatorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveAllocatorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveAllocatorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveAllocatorMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveAllocatorMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveAllocatorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveAllocatorMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveAllocatorMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveAllocatorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveAllocatorMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveAllocatorMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveAllocatorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveAllocatorMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveAllocatorMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveAllocatorMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveAllocatorMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveAllocatorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveAllocatorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveAllocatorMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveAllocatorMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveAllocatorMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveAllocatorMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveAllocatorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveAllocatorMethod "setDefault" o = AllocatorSetDefaultMethodInfo-    ResolveAllocatorMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveAllocatorMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveAllocatorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveAllocatorMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveAllocatorMethod t Allocator, O.MethodInfo info Allocator p) => OL.IsLabel t (Allocator -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Allocator-type instance O.AttributeList Allocator = AllocatorAttributeList-type AllocatorAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList Allocator = AllocatorSignalList-type AllocatorSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method Allocator::alloc--- method type : OrdinaryMethod--- Args : [Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAllocator to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of the visible memory area", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "optional parameters", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_allocator_alloc" gst_allocator_alloc :: -    Ptr Allocator ->                        -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Word64 ->                               -- size : TBasicType TUInt64-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO (Ptr Gst.Memory.Memory)--{- |-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-'Nothing' 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 'Nothing', 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.--}-allocatorAlloc ::-    (B.CallStack.HasCallStack, MonadIO m, IsAllocator a) =>-    a-    {- ^ /@allocator@/: a 'GI.Gst.Objects.Allocator.Allocator' to use -}-    -> Word64-    {- ^ /@size@/: size of the visible memory area -}-    -> Maybe (Gst.AllocationParams.AllocationParams)-    {- ^ /@params@/: optional parameters -}-    -> m (Maybe Gst.Memory.Memory)-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Memory.Memory'. -}-allocatorAlloc allocator size params = liftIO $ do-    allocator' <- unsafeManagedPtrCastPtr allocator-    maybeParams <- case params of-        Nothing -> return nullPtr-        Just jParams -> do-            jParams' <- unsafeManagedPtrGetPtr jParams-            return jParams'-    result <- gst_allocator_alloc allocator' size maybeParams-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Memory.Memory) result'-        return result''-    touchManagedPtr allocator-    whenJust params touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-data AllocatorAllocMethodInfo-instance (signature ~ (Word64 -> Maybe (Gst.AllocationParams.AllocationParams) -> m (Maybe Gst.Memory.Memory)), MonadIO m, IsAllocator a) => O.MethodInfo AllocatorAllocMethodInfo a signature where-    overloadedMethod _ = allocatorAlloc--#endif---- method Allocator::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAllocator to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "memory", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the memory to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_allocator_free" gst_allocator_free :: -    Ptr Allocator ->                        -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Ptr Gst.Memory.Memory ->                -- memory : TInterface (Name {namespace = "Gst", name = "Memory"})-    IO ()--{- |-Free /@memory@/ that was previously allocated with 'GI.Gst.Objects.Allocator.allocatorAlloc'.--}-allocatorFree ::-    (B.CallStack.HasCallStack, MonadIO m, IsAllocator a) =>-    a-    {- ^ /@allocator@/: a 'GI.Gst.Objects.Allocator.Allocator' to use -}-    -> Gst.Memory.Memory-    {- ^ /@memory@/: the memory to free -}-    -> m ()-allocatorFree allocator memory = liftIO $ do-    allocator' <- unsafeManagedPtrCastPtr allocator-    memory' <- B.ManagedPtr.disownBoxed memory-    gst_allocator_free allocator' memory'-    touchManagedPtr allocator-    touchManagedPtr memory-    return ()--#if ENABLE_OVERLOADING-data AllocatorFreeMethodInfo-instance (signature ~ (Gst.Memory.Memory -> m ()), MonadIO m, IsAllocator a) => O.MethodInfo AllocatorFreeMethodInfo a signature where-    overloadedMethod _ = allocatorFree--#endif---- method Allocator::set_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAllocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_allocator_set_default" gst_allocator_set_default :: -    Ptr Allocator ->                        -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    IO ()--{- |-Set the default allocator. This function takes ownership of /@allocator@/.--}-allocatorSetDefault ::-    (B.CallStack.HasCallStack, MonadIO m, IsAllocator a) =>-    a-    {- ^ /@allocator@/: a 'GI.Gst.Objects.Allocator.Allocator' -}-    -> m ()-allocatorSetDefault allocator = liftIO $ do-    allocator' <- B.ManagedPtr.disownObject allocator-    gst_allocator_set_default allocator'-    touchManagedPtr allocator-    return ()--#if ENABLE_OVERLOADING-data AllocatorSetDefaultMethodInfo-instance (signature ~ (m ()), MonadIO m, IsAllocator a) => O.MethodInfo AllocatorSetDefaultMethodInfo a signature where-    overloadedMethod _ = allocatorSetDefault--#endif---- method Allocator::find--- method type : MemberFunction--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the allocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Allocator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_allocator_find" gst_allocator_find :: -    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Allocator)--{- |-Find a previously registered allocator with /@name@/. When /@name@/ is 'Nothing', the-default allocator will be returned.--}-allocatorFind ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@name@/: the name of the allocator -}-    -> m (Maybe Allocator)-    {- ^ __Returns:__ a 'GI.Gst.Objects.Allocator.Allocator' or 'Nothing' when-the allocator with /@name@/ was not registered. Use 'GI.Gst.Objects.Object.objectUnref'-to release the allocator after usage. -}-allocatorFind name = liftIO $ do-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    result <- gst_allocator_find maybeName-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Allocator) result'-        return result''-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Allocator::register--- method type : MemberFunction--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the allocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstAllocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_allocator_register" gst_allocator_register :: -    CString ->                              -- name : TBasicType TUTF8-    Ptr Allocator ->                        -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    IO ()--{- |-Registers the memory /@allocator@/ with /@name@/. This function takes ownership of-/@allocator@/.--}-allocatorRegister ::-    (B.CallStack.HasCallStack, MonadIO m, IsAllocator a) =>-    T.Text-    {- ^ /@name@/: the name of the allocator -}-    -> a-    {- ^ /@allocator@/: 'GI.Gst.Objects.Allocator.Allocator' -}-    -> m ()-allocatorRegister name allocator = liftIO $ do-    name' <- textToCString name-    allocator' <- B.ManagedPtr.disownObject allocator-    gst_allocator_register name' allocator'-    touchManagedPtr allocator-    freeMem name'-    return ()--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/Allocator.hs-boot
@@ -1,38 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Allocator where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Allocator = Allocator (ManagedPtr Allocator)-instance GObject Allocator where-class (GObject o, O.IsDescendantOf Allocator o) => IsAllocator o-instance (GObject o, O.IsDescendantOf Allocator o) => IsAllocator o-instance O.HasParentTypes Allocator-#if ENABLE_OVERLOADING-data AllocatorAllocMethodInfo-#endif-#if ENABLE_OVERLOADING-data AllocatorFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data AllocatorSetDefaultMethodInfo-#endif
− GI/Gst/Objects/Bin.hs
@@ -1,1844 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Objects.Bin.Bin' is an element that can contain other 'GI.Gst.Objects.Element.Element', allowing them to be-managed as a group.-Pads from the child elements can be ghosted to the bin, see 'GI.Gst.Objects.GhostPad.GhostPad'.-This makes the bin look like any other elements and enables creation of-higher-level abstraction elements.--A new 'GI.Gst.Objects.Bin.Bin' is created with 'GI.Gst.Objects.Bin.binNew'. Use a 'GI.Gst.Objects.Pipeline.Pipeline' 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-'GI.Gst.Objects.Bin.binAdd'. You can remove elements with 'GI.Gst.Objects.Bin.binRemove'.--An element can be retrieved from a bin with 'GI.Gst.Objects.Bin.binGetByName', using the-elements name. 'GI.Gst.Objects.Bin.binGetByNameRecurseUp' 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-'GI.Gst.Objects.Bin.binIterateElements'. Various other iterators exist to retrieve the-elements in a bin.--'GI.Gst.Objects.Object.objectUnref' is used to drop your reference to the bin.--The 'GI.Gst.Objects.Bin.Bin'::@/element-added/@ signal is fired whenever a new element is added to-the bin. Likewise the 'GI.Gst.Objects.Bin.Bin'::@/element-removed/@ signal is fired whenever an-element is removed from the bin.--== Notes--A 'GI.Gst.Objects.Bin.Bin' internally intercepts every 'GI.Gst.Structs.Message.Message' 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 'GI.Gst.Objects.Bin.Bin' 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 default bin behaviour is to clear any-cached duration values so that the next duration query will perform-a full duration recalculation. 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.--* 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 'GI.Gst.Objects.Bin.Bin' implements the following default behaviour for answering to a-'GI.Gst.Structs.Query.Query':--* GST_QUERY_DURATION:If the query has been asked before with the same format-and the bin is a toplevel bin (ie. has no parent),-use the cached previous value. If no previous value was cached, the-query is sent to all sink elements in the bin and the MAXIMUM of all-values is returned. If the bin is a toplevel bin the value is cached.-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 'GI.Gst.Objects.Bin.Bin' 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'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Bin-    ( ---- * Exported types-    Bin(..)                                 ,-    IsBin                                   ,-    toBin                                   ,-    noBin                                   ,--- -- * Methods--- ** add #method:add#--#if ENABLE_OVERLOADING-    BinAddMethodInfo                        ,-#endif-    binAdd                                  ,----- ** findUnlinkedPad #method:findUnlinkedPad#--#if ENABLE_OVERLOADING-    BinFindUnlinkedPadMethodInfo            ,-#endif-    binFindUnlinkedPad                      ,----- ** getByInterface #method:getByInterface#--#if ENABLE_OVERLOADING-    BinGetByInterfaceMethodInfo             ,-#endif-    binGetByInterface                       ,----- ** getByName #method:getByName#--#if ENABLE_OVERLOADING-    BinGetByNameMethodInfo                  ,-#endif-    binGetByName                            ,----- ** getByNameRecurseUp #method:getByNameRecurseUp#--#if ENABLE_OVERLOADING-    BinGetByNameRecurseUpMethodInfo         ,-#endif-    binGetByNameRecurseUp                   ,----- ** getSuppressedFlags #method:getSuppressedFlags#--#if ENABLE_OVERLOADING-    BinGetSuppressedFlagsMethodInfo         ,-#endif-    binGetSuppressedFlags                   ,----- ** iterateAllByInterface #method:iterateAllByInterface#--#if ENABLE_OVERLOADING-    BinIterateAllByInterfaceMethodInfo      ,-#endif-    binIterateAllByInterface                ,----- ** iterateElements #method:iterateElements#--#if ENABLE_OVERLOADING-    BinIterateElementsMethodInfo            ,-#endif-    binIterateElements                      ,----- ** iterateRecurse #method:iterateRecurse#--#if ENABLE_OVERLOADING-    BinIterateRecurseMethodInfo             ,-#endif-    binIterateRecurse                       ,----- ** iterateSinks #method:iterateSinks#--#if ENABLE_OVERLOADING-    BinIterateSinksMethodInfo               ,-#endif-    binIterateSinks                         ,----- ** iterateSorted #method:iterateSorted#--#if ENABLE_OVERLOADING-    BinIterateSortedMethodInfo              ,-#endif-    binIterateSorted                        ,----- ** iterateSources #method:iterateSources#--#if ENABLE_OVERLOADING-    BinIterateSourcesMethodInfo             ,-#endif-    binIterateSources                       ,----- ** new #method:new#--    binNew                                  ,----- ** recalculateLatency #method:recalculateLatency#--#if ENABLE_OVERLOADING-    BinRecalculateLatencyMethodInfo         ,-#endif-    binRecalculateLatency                   ,----- ** remove #method:remove#--#if ENABLE_OVERLOADING-    BinRemoveMethodInfo                     ,-#endif-    binRemove                               ,----- ** setSuppressedFlags #method:setSuppressedFlags#--#if ENABLE_OVERLOADING-    BinSetSuppressedFlagsMethodInfo         ,-#endif-    binSetSuppressedFlags                   ,----- ** syncChildrenStates #method:syncChildrenStates#--#if ENABLE_OVERLOADING-    BinSyncChildrenStatesMethodInfo         ,-#endif-    binSyncChildrenStates                   ,----- -- * Properties--- ** asyncHandling #attr:asyncHandling#-{- | 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.--}-#if ENABLE_OVERLOADING-    BinAsyncHandlingPropertyInfo            ,-#endif-#if ENABLE_OVERLOADING-    binAsyncHandling                        ,-#endif-    constructBinAsyncHandling               ,-    getBinAsyncHandling                     ,-    setBinAsyncHandling                     ,----- ** messageForward #attr:messageForward#-{- | 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.--}-#if ENABLE_OVERLOADING-    BinMessageForwardPropertyInfo           ,-#endif-#if ENABLE_OVERLOADING-    binMessageForward                       ,-#endif-    constructBinMessageForward              ,-    getBinMessageForward                    ,-    setBinMessageForward                    ,----- -- * Signals--- ** deepElementAdded #signal:deepElementAdded#--    BinDeepElementAddedCallback             ,-#if ENABLE_OVERLOADING-    BinDeepElementAddedSignalInfo           ,-#endif-    C_BinDeepElementAddedCallback           ,-    afterBinDeepElementAdded                ,-    genClosure_BinDeepElementAdded          ,-    mk_BinDeepElementAddedCallback          ,-    noBinDeepElementAddedCallback           ,-    onBinDeepElementAdded                   ,-    wrap_BinDeepElementAddedCallback        ,----- ** deepElementRemoved #signal:deepElementRemoved#--    BinDeepElementRemovedCallback           ,-#if ENABLE_OVERLOADING-    BinDeepElementRemovedSignalInfo         ,-#endif-    C_BinDeepElementRemovedCallback         ,-    afterBinDeepElementRemoved              ,-    genClosure_BinDeepElementRemoved        ,-    mk_BinDeepElementRemovedCallback        ,-    noBinDeepElementRemovedCallback         ,-    onBinDeepElementRemoved                 ,-    wrap_BinDeepElementRemovedCallback      ,----- ** doLatency #signal:doLatency#--    BinDoLatencyCallback                    ,-#if ENABLE_OVERLOADING-    BinDoLatencySignalInfo                  ,-#endif-    C_BinDoLatencyCallback                  ,-    afterBinDoLatency                       ,-    genClosure_BinDoLatency                 ,-    mk_BinDoLatencyCallback                 ,-    noBinDoLatencyCallback                  ,-    onBinDoLatency                          ,-    wrap_BinDoLatencyCallback               ,----- ** elementAdded #signal:elementAdded#--    BinElementAddedCallback                 ,-#if ENABLE_OVERLOADING-    BinElementAddedSignalInfo               ,-#endif-    C_BinElementAddedCallback               ,-    afterBinElementAdded                    ,-    genClosure_BinElementAdded              ,-    mk_BinElementAddedCallback              ,-    noBinElementAddedCallback               ,-    onBinElementAdded                       ,-    wrap_BinElementAddedCallback            ,----- ** elementRemoved #signal:elementRemoved#--    BinElementRemovedCallback               ,-#if ENABLE_OVERLOADING-    BinElementRemovedSignalInfo             ,-#endif-    C_BinElementRemovedCallback             ,-    afterBinElementRemoved                  ,-    genClosure_BinElementRemoved            ,-    mk_BinElementRemovedCallback            ,-    noBinElementRemovedCallback             ,-    onBinElementRemoved                     ,-    wrap_BinElementRemovedCallback          ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Interfaces.ChildProxy as Gst.ChildProxy-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Pad as Gst.Pad-import {-# SOURCE #-} qualified GI.Gst.Structs.Iterator as Gst.Iterator---- | Memory-managed wrapper type.-newtype Bin = Bin (ManagedPtr Bin)-foreign import ccall "gst_bin_get_type"-    c_gst_bin_get_type :: IO GType--instance GObject Bin where-    gobjectType = c_gst_bin_get_type-    ---- | Type class for types which can be safely cast to `Bin`, for instance with `toBin`.-class (GObject o, O.IsDescendantOf Bin o) => IsBin o-instance (GObject o, O.IsDescendantOf Bin o) => IsBin o--instance O.HasParentTypes Bin-type instance O.ParentTypes Bin = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object, Gst.ChildProxy.ChildProxy]---- | Cast to `Bin`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toBin :: (MonadIO m, IsBin o) => o -> m Bin-toBin = liftIO . unsafeCastTo Bin---- | A convenience alias for `Nothing` :: `Maybe` `Bin`.-noBin :: Maybe Bin-noBin = Nothing--#if ENABLE_OVERLOADING-type family ResolveBinMethod (t :: Symbol) (o :: *) :: * where-    ResolveBinMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolveBinMethod "add" o = BinAddMethodInfo-    ResolveBinMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveBinMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolveBinMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolveBinMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolveBinMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveBinMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveBinMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolveBinMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolveBinMethod "childAdded" o = Gst.ChildProxy.ChildProxyChildAddedMethodInfo-    ResolveBinMethod "childRemoved" o = Gst.ChildProxy.ChildProxyChildRemovedMethodInfo-    ResolveBinMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolveBinMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolveBinMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveBinMethod "findUnlinkedPad" o = BinFindUnlinkedPadMethodInfo-    ResolveBinMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveBinMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolveBinMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolveBinMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolveBinMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveBinMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveBinMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveBinMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveBinMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveBinMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveBinMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveBinMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolveBinMethod "iterateAllByInterface" o = BinIterateAllByInterfaceMethodInfo-    ResolveBinMethod "iterateElements" o = BinIterateElementsMethodInfo-    ResolveBinMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolveBinMethod "iterateRecurse" o = BinIterateRecurseMethodInfo-    ResolveBinMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolveBinMethod "iterateSinks" o = BinIterateSinksMethodInfo-    ResolveBinMethod "iterateSorted" o = BinIterateSortedMethodInfo-    ResolveBinMethod "iterateSources" o = BinIterateSourcesMethodInfo-    ResolveBinMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolveBinMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolveBinMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolveBinMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolveBinMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolveBinMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolveBinMethod "lookup" o = Gst.ChildProxy.ChildProxyLookupMethodInfo-    ResolveBinMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolveBinMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolveBinMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolveBinMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolveBinMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveBinMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveBinMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolveBinMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolveBinMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolveBinMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolveBinMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolveBinMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolveBinMethod "recalculateLatency" o = BinRecalculateLatencyMethodInfo-    ResolveBinMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveBinMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveBinMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolveBinMethod "remove" o = BinRemoveMethodInfo-    ResolveBinMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveBinMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolveBinMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolveBinMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolveBinMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveBinMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolveBinMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolveBinMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolveBinMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveBinMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveBinMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveBinMethod "syncChildrenStates" o = BinSyncChildrenStatesMethodInfo-    ResolveBinMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolveBinMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveBinMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveBinMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolveBinMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolveBinMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveBinMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveBinMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveBinMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolveBinMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo-    ResolveBinMethod "getByInterface" o = BinGetByInterfaceMethodInfo-    ResolveBinMethod "getByName" o = BinGetByNameMethodInfo-    ResolveBinMethod "getByNameRecurseUp" o = BinGetByNameRecurseUpMethodInfo-    ResolveBinMethod "getChildByIndex" o = Gst.ChildProxy.ChildProxyGetChildByIndexMethodInfo-    ResolveBinMethod "getChildByName" o = Gst.ChildProxy.ChildProxyGetChildByNameMethodInfo-    ResolveBinMethod "getChildrenCount" o = Gst.ChildProxy.ChildProxyGetChildrenCountMethodInfo-    ResolveBinMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolveBinMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolveBinMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolveBinMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolveBinMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolveBinMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolveBinMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveBinMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveBinMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveBinMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolveBinMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveBinMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolveBinMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveBinMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolveBinMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolveBinMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveBinMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveBinMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveBinMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveBinMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolveBinMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolveBinMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolveBinMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolveBinMethod "getSuppressedFlags" o = BinGetSuppressedFlagsMethodInfo-    ResolveBinMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveBinMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolveBinMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolveBinMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolveBinMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolveBinMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveBinMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveBinMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveBinMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveBinMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolveBinMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveBinMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveBinMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveBinMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolveBinMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolveBinMethod "setSuppressedFlags" o = BinSetSuppressedFlagsMethodInfo-    ResolveBinMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBinMethod t Bin, O.MethodInfo info Bin p) => OL.IsLabel t (Bin -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal Bin::deep-element-added-{- |-Will be emitted after the element was added to sub_bin.--/Since: 1.10/--}-type BinDeepElementAddedCallback =-    Bin-    {- ^ /@subBin@/: the 'GI.Gst.Objects.Bin.Bin' the element was added to -}-    -> Gst.Element.Element-    {- ^ /@element@/: the 'GI.Gst.Objects.Element.Element' that was added to /@subBin@/ -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `BinDeepElementAddedCallback`@.-noBinDeepElementAddedCallback :: Maybe BinDeepElementAddedCallback-noBinDeepElementAddedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_BinDeepElementAddedCallback =-    Ptr () ->                               -- object-    Ptr Bin ->-    Ptr Gst.Element.Element ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_BinDeepElementAddedCallback`.-foreign import ccall "wrapper"-    mk_BinDeepElementAddedCallback :: C_BinDeepElementAddedCallback -> IO (FunPtr C_BinDeepElementAddedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_BinDeepElementAdded :: MonadIO m => BinDeepElementAddedCallback -> m (GClosure C_BinDeepElementAddedCallback)-genClosure_BinDeepElementAdded cb = liftIO $ do-    let cb' = wrap_BinDeepElementAddedCallback cb-    mk_BinDeepElementAddedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `BinDeepElementAddedCallback` into a `C_BinDeepElementAddedCallback`.-wrap_BinDeepElementAddedCallback ::-    BinDeepElementAddedCallback ->-    C_BinDeepElementAddedCallback-wrap_BinDeepElementAddedCallback _cb _ subBin element _ = do-    subBin' <- (newObject Bin) subBin-    element' <- (newObject Gst.Element.Element) element-    _cb  subBin' element'---{- |-Connect a signal handler for the “@deep-element-added@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' bin #deepElementAdded callback-@--}-onBinDeepElementAdded :: (IsBin a, MonadIO m) => a -> BinDeepElementAddedCallback -> m SignalHandlerId-onBinDeepElementAdded obj cb = liftIO $ do-    let cb' = wrap_BinDeepElementAddedCallback cb-    cb'' <- mk_BinDeepElementAddedCallback cb'-    connectSignalFunPtr obj "deep-element-added" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@deep-element-added@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' bin #deepElementAdded callback-@--}-afterBinDeepElementAdded :: (IsBin a, MonadIO m) => a -> BinDeepElementAddedCallback -> m SignalHandlerId-afterBinDeepElementAdded obj cb = liftIO $ do-    let cb' = wrap_BinDeepElementAddedCallback cb-    cb'' <- mk_BinDeepElementAddedCallback cb'-    connectSignalFunPtr obj "deep-element-added" cb'' SignalConnectAfter----- signal Bin::deep-element-removed-{- |-Will be emitted after the element was removed from sub_bin.--/Since: 1.10/--}-type BinDeepElementRemovedCallback =-    Bin-    {- ^ /@subBin@/: the 'GI.Gst.Objects.Bin.Bin' the element was removed from -}-    -> Gst.Element.Element-    {- ^ /@element@/: the 'GI.Gst.Objects.Element.Element' that was removed from /@subBin@/ -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `BinDeepElementRemovedCallback`@.-noBinDeepElementRemovedCallback :: Maybe BinDeepElementRemovedCallback-noBinDeepElementRemovedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_BinDeepElementRemovedCallback =-    Ptr () ->                               -- object-    Ptr Bin ->-    Ptr Gst.Element.Element ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_BinDeepElementRemovedCallback`.-foreign import ccall "wrapper"-    mk_BinDeepElementRemovedCallback :: C_BinDeepElementRemovedCallback -> IO (FunPtr C_BinDeepElementRemovedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_BinDeepElementRemoved :: MonadIO m => BinDeepElementRemovedCallback -> m (GClosure C_BinDeepElementRemovedCallback)-genClosure_BinDeepElementRemoved cb = liftIO $ do-    let cb' = wrap_BinDeepElementRemovedCallback cb-    mk_BinDeepElementRemovedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `BinDeepElementRemovedCallback` into a `C_BinDeepElementRemovedCallback`.-wrap_BinDeepElementRemovedCallback ::-    BinDeepElementRemovedCallback ->-    C_BinDeepElementRemovedCallback-wrap_BinDeepElementRemovedCallback _cb _ subBin element _ = do-    subBin' <- (newObject Bin) subBin-    element' <- (newObject Gst.Element.Element) element-    _cb  subBin' element'---{- |-Connect a signal handler for the “@deep-element-removed@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' bin #deepElementRemoved callback-@--}-onBinDeepElementRemoved :: (IsBin a, MonadIO m) => a -> BinDeepElementRemovedCallback -> m SignalHandlerId-onBinDeepElementRemoved obj cb = liftIO $ do-    let cb' = wrap_BinDeepElementRemovedCallback cb-    cb'' <- mk_BinDeepElementRemovedCallback cb'-    connectSignalFunPtr obj "deep-element-removed" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@deep-element-removed@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' bin #deepElementRemoved callback-@--}-afterBinDeepElementRemoved :: (IsBin a, MonadIO m) => a -> BinDeepElementRemovedCallback -> m SignalHandlerId-afterBinDeepElementRemoved obj cb = liftIO $ do-    let cb' = wrap_BinDeepElementRemovedCallback cb-    cb'' <- mk_BinDeepElementRemovedCallback cb'-    connectSignalFunPtr obj "deep-element-removed" cb'' SignalConnectAfter----- signal Bin::do-latency-{- |-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.--}-type BinDoLatencyCallback =-    IO Bool---- | A convenience synonym for @`Nothing` :: `Maybe` `BinDoLatencyCallback`@.-noBinDoLatencyCallback :: Maybe BinDoLatencyCallback-noBinDoLatencyCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_BinDoLatencyCallback =-    Ptr () ->                               -- object-    Ptr () ->                               -- user_data-    IO CInt---- | Generate a function pointer callable from C code, from a `C_BinDoLatencyCallback`.-foreign import ccall "wrapper"-    mk_BinDoLatencyCallback :: C_BinDoLatencyCallback -> IO (FunPtr C_BinDoLatencyCallback)---- | Wrap the callback into a `GClosure`.-genClosure_BinDoLatency :: MonadIO m => BinDoLatencyCallback -> m (GClosure C_BinDoLatencyCallback)-genClosure_BinDoLatency cb = liftIO $ do-    let cb' = wrap_BinDoLatencyCallback cb-    mk_BinDoLatencyCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `BinDoLatencyCallback` into a `C_BinDoLatencyCallback`.-wrap_BinDoLatencyCallback ::-    BinDoLatencyCallback ->-    C_BinDoLatencyCallback-wrap_BinDoLatencyCallback _cb _ _ = do-    result <- _cb -    let result' = (fromIntegral . fromEnum) result-    return result'---{- |-Connect a signal handler for the “@do-latency@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' bin #doLatency callback-@--}-onBinDoLatency :: (IsBin a, MonadIO m) => a -> BinDoLatencyCallback -> m SignalHandlerId-onBinDoLatency obj cb = liftIO $ do-    let cb' = wrap_BinDoLatencyCallback cb-    cb'' <- mk_BinDoLatencyCallback cb'-    connectSignalFunPtr obj "do-latency" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@do-latency@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' bin #doLatency callback-@--}-afterBinDoLatency :: (IsBin a, MonadIO m) => a -> BinDoLatencyCallback -> m SignalHandlerId-afterBinDoLatency obj cb = liftIO $ do-    let cb' = wrap_BinDoLatencyCallback cb-    cb'' <- mk_BinDoLatencyCallback cb'-    connectSignalFunPtr obj "do-latency" cb'' SignalConnectAfter----- signal Bin::element-added-{- |-Will be emitted after the element was added to the bin.--}-type BinElementAddedCallback =-    Gst.Element.Element-    {- ^ /@element@/: the 'GI.Gst.Objects.Element.Element' that was added to the bin -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `BinElementAddedCallback`@.-noBinElementAddedCallback :: Maybe BinElementAddedCallback-noBinElementAddedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_BinElementAddedCallback =-    Ptr () ->                               -- object-    Ptr Gst.Element.Element ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_BinElementAddedCallback`.-foreign import ccall "wrapper"-    mk_BinElementAddedCallback :: C_BinElementAddedCallback -> IO (FunPtr C_BinElementAddedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_BinElementAdded :: MonadIO m => BinElementAddedCallback -> m (GClosure C_BinElementAddedCallback)-genClosure_BinElementAdded cb = liftIO $ do-    let cb' = wrap_BinElementAddedCallback cb-    mk_BinElementAddedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `BinElementAddedCallback` into a `C_BinElementAddedCallback`.-wrap_BinElementAddedCallback ::-    BinElementAddedCallback ->-    C_BinElementAddedCallback-wrap_BinElementAddedCallback _cb _ element _ = do-    element' <- (newObject Gst.Element.Element) element-    _cb  element'---{- |-Connect a signal handler for the “@element-added@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' bin #elementAdded callback-@--}-onBinElementAdded :: (IsBin a, MonadIO m) => a -> BinElementAddedCallback -> m SignalHandlerId-onBinElementAdded obj cb = liftIO $ do-    let cb' = wrap_BinElementAddedCallback cb-    cb'' <- mk_BinElementAddedCallback cb'-    connectSignalFunPtr obj "element-added" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@element-added@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' bin #elementAdded callback-@--}-afterBinElementAdded :: (IsBin a, MonadIO m) => a -> BinElementAddedCallback -> m SignalHandlerId-afterBinElementAdded obj cb = liftIO $ do-    let cb' = wrap_BinElementAddedCallback cb-    cb'' <- mk_BinElementAddedCallback cb'-    connectSignalFunPtr obj "element-added" cb'' SignalConnectAfter----- signal Bin::element-removed-{- |-Will be emitted after the element was removed from the bin.--}-type BinElementRemovedCallback =-    Gst.Element.Element-    {- ^ /@element@/: the 'GI.Gst.Objects.Element.Element' that was removed from the bin -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `BinElementRemovedCallback`@.-noBinElementRemovedCallback :: Maybe BinElementRemovedCallback-noBinElementRemovedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_BinElementRemovedCallback =-    Ptr () ->                               -- object-    Ptr Gst.Element.Element ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_BinElementRemovedCallback`.-foreign import ccall "wrapper"-    mk_BinElementRemovedCallback :: C_BinElementRemovedCallback -> IO (FunPtr C_BinElementRemovedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_BinElementRemoved :: MonadIO m => BinElementRemovedCallback -> m (GClosure C_BinElementRemovedCallback)-genClosure_BinElementRemoved cb = liftIO $ do-    let cb' = wrap_BinElementRemovedCallback cb-    mk_BinElementRemovedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `BinElementRemovedCallback` into a `C_BinElementRemovedCallback`.-wrap_BinElementRemovedCallback ::-    BinElementRemovedCallback ->-    C_BinElementRemovedCallback-wrap_BinElementRemovedCallback _cb _ element _ = do-    element' <- (newObject Gst.Element.Element) element-    _cb  element'---{- |-Connect a signal handler for the “@element-removed@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' bin #elementRemoved callback-@--}-onBinElementRemoved :: (IsBin a, MonadIO m) => a -> BinElementRemovedCallback -> m SignalHandlerId-onBinElementRemoved obj cb = liftIO $ do-    let cb' = wrap_BinElementRemovedCallback cb-    cb'' <- mk_BinElementRemovedCallback cb'-    connectSignalFunPtr obj "element-removed" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@element-removed@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' bin #elementRemoved callback-@--}-afterBinElementRemoved :: (IsBin a, MonadIO m) => a -> BinElementRemovedCallback -> m SignalHandlerId-afterBinElementRemoved obj cb = liftIO $ do-    let cb' = wrap_BinElementRemovedCallback cb-    cb'' <- mk_BinElementRemovedCallback cb'-    connectSignalFunPtr obj "element-removed" cb'' SignalConnectAfter----- VVV Prop "async-handling"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@async-handling@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' bin #asyncHandling-@--}-getBinAsyncHandling :: (MonadIO m, IsBin o) => o -> m Bool-getBinAsyncHandling obj = liftIO $ B.Properties.getObjectPropertyBool obj "async-handling"--{- |-Set the value of the “@async-handling@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' bin [ #asyncHandling 'Data.GI.Base.Attributes.:=' value ]-@--}-setBinAsyncHandling :: (MonadIO m, IsBin o) => o -> Bool -> m ()-setBinAsyncHandling obj val = liftIO $ B.Properties.setObjectPropertyBool obj "async-handling" val--{- |-Construct a `GValueConstruct` with valid value for the “@async-handling@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBinAsyncHandling :: (IsBin o) => Bool -> IO (GValueConstruct o)-constructBinAsyncHandling val = B.Properties.constructObjectPropertyBool "async-handling" val--#if ENABLE_OVERLOADING-data BinAsyncHandlingPropertyInfo-instance AttrInfo BinAsyncHandlingPropertyInfo where-    type AttrAllowedOps BinAsyncHandlingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BinAsyncHandlingPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BinAsyncHandlingPropertyInfo = IsBin-    type AttrGetType BinAsyncHandlingPropertyInfo = Bool-    type AttrLabel BinAsyncHandlingPropertyInfo = "async-handling"-    type AttrOrigin BinAsyncHandlingPropertyInfo = Bin-    attrGet _ = getBinAsyncHandling-    attrSet _ = setBinAsyncHandling-    attrConstruct _ = constructBinAsyncHandling-    attrClear _ = undefined-#endif---- VVV Prop "message-forward"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@message-forward@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' bin #messageForward-@--}-getBinMessageForward :: (MonadIO m, IsBin o) => o -> m Bool-getBinMessageForward obj = liftIO $ B.Properties.getObjectPropertyBool obj "message-forward"--{- |-Set the value of the “@message-forward@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' bin [ #messageForward 'Data.GI.Base.Attributes.:=' value ]-@--}-setBinMessageForward :: (MonadIO m, IsBin o) => o -> Bool -> m ()-setBinMessageForward obj val = liftIO $ B.Properties.setObjectPropertyBool obj "message-forward" val--{- |-Construct a `GValueConstruct` with valid value for the “@message-forward@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBinMessageForward :: (IsBin o) => Bool -> IO (GValueConstruct o)-constructBinMessageForward val = B.Properties.constructObjectPropertyBool "message-forward" val--#if ENABLE_OVERLOADING-data BinMessageForwardPropertyInfo-instance AttrInfo BinMessageForwardPropertyInfo where-    type AttrAllowedOps BinMessageForwardPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BinMessageForwardPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BinMessageForwardPropertyInfo = IsBin-    type AttrGetType BinMessageForwardPropertyInfo = Bool-    type AttrLabel BinMessageForwardPropertyInfo = "message-forward"-    type AttrOrigin BinMessageForwardPropertyInfo = Bin-    attrGet _ = getBinMessageForward-    attrSet _ = setBinMessageForward-    attrConstruct _ = constructBinMessageForward-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Bin-type instance O.AttributeList Bin = BinAttributeList-type BinAttributeList = ('[ '("asyncHandling", BinAsyncHandlingPropertyInfo), '("messageForward", BinMessageForwardPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-binAsyncHandling :: AttrLabelProxy "asyncHandling"-binAsyncHandling = AttrLabelProxy--binMessageForward :: AttrLabelProxy "messageForward"-binMessageForward = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-data BinDeepElementAddedSignalInfo-instance SignalInfo BinDeepElementAddedSignalInfo where-    type HaskellCallbackType BinDeepElementAddedSignalInfo = BinDeepElementAddedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_BinDeepElementAddedCallback cb-        cb'' <- mk_BinDeepElementAddedCallback cb'-        connectSignalFunPtr obj "deep-element-added" cb'' connectMode--data BinDeepElementRemovedSignalInfo-instance SignalInfo BinDeepElementRemovedSignalInfo where-    type HaskellCallbackType BinDeepElementRemovedSignalInfo = BinDeepElementRemovedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_BinDeepElementRemovedCallback cb-        cb'' <- mk_BinDeepElementRemovedCallback cb'-        connectSignalFunPtr obj "deep-element-removed" cb'' connectMode--data BinDoLatencySignalInfo-instance SignalInfo BinDoLatencySignalInfo where-    type HaskellCallbackType BinDoLatencySignalInfo = BinDoLatencyCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_BinDoLatencyCallback cb-        cb'' <- mk_BinDoLatencyCallback cb'-        connectSignalFunPtr obj "do-latency" cb'' connectMode--data BinElementAddedSignalInfo-instance SignalInfo BinElementAddedSignalInfo where-    type HaskellCallbackType BinElementAddedSignalInfo = BinElementAddedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_BinElementAddedCallback cb-        cb'' <- mk_BinElementAddedCallback cb'-        connectSignalFunPtr obj "element-added" cb'' connectMode--data BinElementRemovedSignalInfo-instance SignalInfo BinElementRemovedSignalInfo where-    type HaskellCallbackType BinElementRemovedSignalInfo = BinElementRemovedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_BinElementRemovedCallback cb-        cb'' <- mk_BinElementRemovedCallback cb'-        connectSignalFunPtr obj "element-removed" cb'' connectMode--type instance O.SignalList Bin = BinSignalList-type BinSignalList = ('[ '("childAdded", Gst.ChildProxy.ChildProxyChildAddedSignalInfo), '("childRemoved", Gst.ChildProxy.ChildProxyChildRemovedSignalInfo), '("deepElementAdded", BinDeepElementAddedSignalInfo), '("deepElementRemoved", BinDeepElementRemovedSignalInfo), '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("doLatency", BinDoLatencySignalInfo), '("elementAdded", BinElementAddedSignalInfo), '("elementRemoved", BinElementRemovedSignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif---- method Bin::new--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the new bin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Bin"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_new" gst_bin_new :: -    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Bin)--{- |-Creates a new bin with the given name.--}-binNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@name@/: the name of the new bin -}-    -> m Bin-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Bin.Bin' -}-binNew name = liftIO $ do-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    result <- gst_bin_new maybeName-    checkUnexpectedReturnNULL "binNew" result-    result' <- (newObject Bin) result-    freeMem maybeName-    return result'--#if ENABLE_OVERLOADING-#endif---- method Bin::add--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElement to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_bin_add" gst_bin_add :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    Ptr Gst.Element.Element ->              -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO CInt--{- |-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.--> When you add an element to an already-running pipeline, you will have to-> take care to set the state of the newly-added element to the desired-> state (usually PLAYING or PAUSED, same you set the pipeline to originally)-> with 'GI.Gst.Objects.Element.elementSetState', or use 'GI.Gst.Objects.Element.elementSyncStateWithParent'.-> The bin or pipeline will not take care of this for you.--MT safe.--}-binAdd ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a, Gst.Element.IsElement b) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> b-    {- ^ /@element@/: the 'GI.Gst.Objects.Element.Element' to add -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the element could be added, 'False' if-the bin does not want to accept the element. -}-binAdd bin element = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_bin_add bin' element'-    let result' = (/= 0) result-    touchManagedPtr bin-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data BinAddMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsBin a, Gst.Element.IsElement b) => O.MethodInfo BinAddMethodInfo a signature where-    overloadedMethod _ = binAdd--#endif---- method Bin::find_unlinked_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bin in which to look for elements with unlinked pads", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gst", name = "PadDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to look for an unlinked source or sink pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_find_unlinked_pad" gst_bin_find_unlinked_pad :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    CUInt ->                                -- direction : TInterface (Name {namespace = "Gst", name = "PadDirection"})-    IO (Ptr Gst.Pad.Pad)--{- |-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 'Nothing' otherwise. If a pad is found, the caller-owns a reference to it and should use 'GI.Gst.Objects.Object.objectUnref' on the-pad when it is not needed any longer.--}-binFindUnlinkedPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: bin in which to look for elements with unlinked pads -}-    -> Gst.Enums.PadDirection-    {- ^ /@direction@/: whether to look for an unlinked source or sink pad -}-    -> m (Maybe Gst.Pad.Pad)-    {- ^ __Returns:__ unlinked pad of the given-direction, 'Nothing'. -}-binFindUnlinkedPad bin direction = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    let direction' = (fromIntegral . fromEnum) direction-    result <- gst_bin_find_unlinked_pad bin' direction'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Pad.Pad) result'-        return result''-    touchManagedPtr bin-    return maybeResult--#if ENABLE_OVERLOADING-data BinFindUnlinkedPadMethodInfo-instance (signature ~ (Gst.Enums.PadDirection -> m (Maybe Gst.Pad.Pad)), MonadIO m, IsBin a) => O.MethodInfo BinFindUnlinkedPadMethodInfo a signature where-    overloadedMethod _ = binFindUnlinkedPad--#endif---- method Bin::get_by_interface--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of an interface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_get_by_interface" gst_bin_get_by_interface :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    CGType ->                               -- iface : TBasicType TGType-    IO (Ptr Gst.Element.Element)--{- |-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-'GI.Gst.Objects.Bin.binIterateAllByInterface'. This function recurses into child bins.--MT safe.  Caller owns returned reference.--}-binGetByInterface ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> GType-    {- ^ /@iface@/: the 'GType' of an interface -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ A 'GI.Gst.Objects.Element.Element' inside the bin-implementing the interface -}-binGetByInterface bin iface = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    let iface' = gtypeToCGType iface-    result <- gst_bin_get_by_interface bin' iface'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Element.Element) result'-        return result''-    touchManagedPtr bin-    return maybeResult--#if ENABLE_OVERLOADING-data BinGetByInterfaceMethodInfo-instance (signature ~ (GType -> m (Maybe Gst.Element.Element)), MonadIO m, IsBin a) => O.MethodInfo BinGetByInterfaceMethodInfo a signature where-    overloadedMethod _ = binGetByInterface--#endif---- method Bin::get_by_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the element name to search for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_get_by_name" gst_bin_get_by_name :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.Element.Element)--{- |-Gets the element with the given name from a bin. This-function recurses into child bins.--Returns 'Nothing' if no element with the given name is found in the bin.--MT safe.  Caller owns returned reference.--}-binGetByName ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> T.Text-    {- ^ /@name@/: the element name to search for -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ the 'GI.Gst.Objects.Element.Element' with the given-name, or 'Nothing' -}-binGetByName bin name = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    name' <- textToCString name-    result <- gst_bin_get_by_name bin' name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Element.Element) result'-        return result''-    touchManagedPtr bin-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-data BinGetByNameMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.Element.Element)), MonadIO m, IsBin a) => O.MethodInfo BinGetByNameMethodInfo a signature where-    overloadedMethod _ = binGetByName--#endif---- method Bin::get_by_name_recurse_up--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the element name to search for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_get_by_name_recurse_up" gst_bin_get_by_name_recurse_up :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.Element.Element)--{- |-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 'Nothing' if:--* no element with the given name is found in the bin---MT safe.  Caller owns returned reference.--}-binGetByNameRecurseUp ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> T.Text-    {- ^ /@name@/: the element name to search for -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ the 'GI.Gst.Objects.Element.Element' with the given-name, or 'Nothing' -}-binGetByNameRecurseUp bin name = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    name' <- textToCString name-    result <- gst_bin_get_by_name_recurse_up bin' name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Element.Element) result'-        return result''-    touchManagedPtr bin-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-data BinGetByNameRecurseUpMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.Element.Element)), MonadIO m, IsBin a) => O.MethodInfo BinGetByNameRecurseUpMethodInfo a signature where-    overloadedMethod _ = binGetByNameRecurseUp--#endif---- method Bin::get_suppressed_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ElementFlags"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_get_suppressed_flags" gst_bin_get_suppressed_flags :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    IO CUInt--{- |-Return the suppressed flags of the bin.--MT safe.--/Since: 1.10/--}-binGetSuppressedFlags ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> m [Gst.Flags.ElementFlags]-    {- ^ __Returns:__ the bin\'s suppressed 'GI.Gst.Flags.ElementFlags'. -}-binGetSuppressedFlags bin = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    result <- gst_bin_get_suppressed_flags bin'-    let result' = wordToGFlags result-    touchManagedPtr bin-    return result'--#if ENABLE_OVERLOADING-data BinGetSuppressedFlagsMethodInfo-instance (signature ~ (m [Gst.Flags.ElementFlags]), MonadIO m, IsBin a) => O.MethodInfo BinGetSuppressedFlagsMethodInfo a signature where-    overloadedMethod _ = binGetSuppressedFlags--#endif---- method Bin::iterate_all_by_interface--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iface", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of an interface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_iterate_all_by_interface" gst_bin_iterate_all_by_interface :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    CGType ->                               -- iface : TBasicType TGType-    IO (Ptr Gst.Iterator.Iterator)--{- |-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 'GI.Gst.Objects.Element.Element' that should be unreffed after use.--MT safe.  Caller owns returned value.--}-binIterateAllByInterface ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> GType-    {- ^ /@iface@/: the 'GType' of an interface -}-    -> m (Maybe Gst.Iterator.Iterator)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Element.Element'-    for all elements in the bin implementing the given interface,-    or 'Nothing' -}-binIterateAllByInterface bin iface = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    let iface' = gtypeToCGType iface-    result <- gst_bin_iterate_all_by_interface bin' iface'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Iterator.Iterator) result'-        return result''-    touchManagedPtr bin-    return maybeResult--#if ENABLE_OVERLOADING-data BinIterateAllByInterfaceMethodInfo-instance (signature ~ (GType -> m (Maybe Gst.Iterator.Iterator)), MonadIO m, IsBin a) => O.MethodInfo BinIterateAllByInterfaceMethodInfo a signature where-    overloadedMethod _ = binIterateAllByInterface--#endif---- method Bin::iterate_elements--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_iterate_elements" gst_bin_iterate_elements :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-Gets an iterator for the elements in this bin.--MT safe.  Caller owns returned value.--}-binIterateElements ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> m (Maybe Gst.Iterator.Iterator)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Element.Element',-or 'Nothing' -}-binIterateElements bin = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    result <- gst_bin_iterate_elements bin'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Iterator.Iterator) result'-        return result''-    touchManagedPtr bin-    return maybeResult--#if ENABLE_OVERLOADING-data BinIterateElementsMethodInfo-instance (signature ~ (m (Maybe Gst.Iterator.Iterator)), MonadIO m, IsBin a) => O.MethodInfo BinIterateElementsMethodInfo a signature where-    overloadedMethod _ = binIterateElements--#endif---- method Bin::iterate_recurse--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_iterate_recurse" gst_bin_iterate_recurse :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-Gets an iterator for the elements in this bin.-This iterator recurses into GstBin children.--MT safe.  Caller owns returned value.--}-binIterateRecurse ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> m (Maybe Gst.Iterator.Iterator)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Element.Element',-or 'Nothing' -}-binIterateRecurse bin = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    result <- gst_bin_iterate_recurse bin'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Iterator.Iterator) result'-        return result''-    touchManagedPtr bin-    return maybeResult--#if ENABLE_OVERLOADING-data BinIterateRecurseMethodInfo-instance (signature ~ (m (Maybe Gst.Iterator.Iterator)), MonadIO m, IsBin a) => O.MethodInfo BinIterateRecurseMethodInfo a signature where-    overloadedMethod _ = binIterateRecurse--#endif---- method Bin::iterate_sinks--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_iterate_sinks" gst_bin_iterate_sinks :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-Gets an iterator for all elements in the bin that have the-@/GST_ELEMENT_FLAG_SINK/@ flag set.--MT safe.  Caller owns returned value.--}-binIterateSinks ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> m (Maybe Gst.Iterator.Iterator)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Element.Element',-or 'Nothing' -}-binIterateSinks bin = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    result <- gst_bin_iterate_sinks bin'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Iterator.Iterator) result'-        return result''-    touchManagedPtr bin-    return maybeResult--#if ENABLE_OVERLOADING-data BinIterateSinksMethodInfo-instance (signature ~ (m (Maybe Gst.Iterator.Iterator)), MonadIO m, IsBin a) => O.MethodInfo BinIterateSinksMethodInfo a signature where-    overloadedMethod _ = binIterateSinks--#endif---- method Bin::iterate_sorted--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_iterate_sorted" gst_bin_iterate_sorted :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-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.--}-binIterateSorted ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> m (Maybe Gst.Iterator.Iterator)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Element.Element',-or 'Nothing' -}-binIterateSorted bin = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    result <- gst_bin_iterate_sorted bin'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Iterator.Iterator) result'-        return result''-    touchManagedPtr bin-    return maybeResult--#if ENABLE_OVERLOADING-data BinIterateSortedMethodInfo-instance (signature ~ (m (Maybe Gst.Iterator.Iterator)), MonadIO m, IsBin a) => O.MethodInfo BinIterateSortedMethodInfo a signature where-    overloadedMethod _ = binIterateSorted--#endif---- method Bin::iterate_sources--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bin_iterate_sources" gst_bin_iterate_sources :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-Gets an iterator for all elements in the bin that have the-@/GST_ELEMENT_FLAG_SOURCE/@ flag set.--MT safe.  Caller owns returned value.--}-binIterateSources ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> m (Maybe Gst.Iterator.Iterator)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Element.Element',-or 'Nothing' -}-binIterateSources bin = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    result <- gst_bin_iterate_sources bin'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Iterator.Iterator) result'-        return result''-    touchManagedPtr bin-    return maybeResult--#if ENABLE_OVERLOADING-data BinIterateSourcesMethodInfo-instance (signature ~ (m (Maybe Gst.Iterator.Iterator)), MonadIO m, IsBin a) => O.MethodInfo BinIterateSourcesMethodInfo a signature where-    overloadedMethod _ = binIterateSources--#endif---- method Bin::recalculate_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_bin_recalculate_latency" gst_bin_recalculate_latency :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    IO CInt--{- |-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.--}-binRecalculateLatency ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the latency could be queried and reconfigured. -}-binRecalculateLatency bin = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    result <- gst_bin_recalculate_latency bin'-    let result' = (/= 0) result-    touchManagedPtr bin-    return result'--#if ENABLE_OVERLOADING-data BinRecalculateLatencyMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBin a) => O.MethodInfo BinRecalculateLatencyMethodInfo a signature where-    overloadedMethod _ = binRecalculateLatency--#endif---- method Bin::remove--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElement to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_bin_remove" gst_bin_remove :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    Ptr Gst.Element.Element ->              -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO CInt--{- |-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-'GI.Gst.Objects.Object.objectRef' 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.--}-binRemove ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a, Gst.Element.IsElement b) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> b-    {- ^ /@element@/: the 'GI.Gst.Objects.Element.Element' to remove -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the element could be removed, 'False' if-the bin does not want to remove the element. -}-binRemove bin element = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_bin_remove bin' element'-    let result' = (/= 0) result-    touchManagedPtr bin-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data BinRemoveMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsBin a, Gst.Element.IsElement b) => O.MethodInfo BinRemoveMethodInfo a signature where-    overloadedMethod _ = binRemove--#endif---- method Bin::set_suppressed_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "ElementFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElementFlags to suppress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bin_set_suppressed_flags" gst_bin_set_suppressed_flags :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "ElementFlags"})-    IO ()--{- |-Suppress the given flags on the bin. 'GI.Gst.Flags.ElementFlags' 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.--/Since: 1.10/--}-binSetSuppressedFlags ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> [Gst.Flags.ElementFlags]-    {- ^ /@flags@/: the 'GI.Gst.Flags.ElementFlags' to suppress -}-    -> m ()-binSetSuppressedFlags bin flags = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    let flags' = gflagsToWord flags-    gst_bin_set_suppressed_flags bin' flags'-    touchManagedPtr bin-    return ()--#if ENABLE_OVERLOADING-data BinSetSuppressedFlagsMethodInfo-instance (signature ~ ([Gst.Flags.ElementFlags] -> m ()), MonadIO m, IsBin a) => O.MethodInfo BinSetSuppressedFlagsMethodInfo a signature where-    overloadedMethod _ = binSetSuppressedFlags--#endif---- method Bin::sync_children_states--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bin", argType = TInterface (Name {namespace = "Gst", name = "Bin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_bin_sync_children_states" gst_bin_sync_children_states :: -    Ptr Bin ->                              -- bin : TInterface (Name {namespace = "Gst", name = "Bin"})-    IO CInt--{- |-Synchronizes the state of every child of /@bin@/ with the state-of /@bin@/. See also 'GI.Gst.Objects.Element.elementSyncStateWithParent'.--/Since: 1.6/--}-binSyncChildrenStates ::-    (B.CallStack.HasCallStack, MonadIO m, IsBin a) =>-    a-    {- ^ /@bin@/: a 'GI.Gst.Objects.Bin.Bin' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if syncing the state was successful for all children,- otherwise 'False'. -}-binSyncChildrenStates bin = liftIO $ do-    bin' <- unsafeManagedPtrCastPtr bin-    result <- gst_bin_sync_children_states bin'-    let result' = (/= 0) result-    touchManagedPtr bin-    return result'--#if ENABLE_OVERLOADING-data BinSyncChildrenStatesMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBin a) => O.MethodInfo BinSyncChildrenStatesMethodInfo a signature where-    overloadedMethod _ = binSyncChildrenStates--#endif--
− GI/Gst/Objects/Bin.hs-boot
@@ -1,98 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Bin where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Bin = Bin (ManagedPtr Bin)-instance GObject Bin where-class (GObject o, O.IsDescendantOf Bin o) => IsBin o-instance (GObject o, O.IsDescendantOf Bin o) => IsBin o-instance O.HasParentTypes Bin-#if ENABLE_OVERLOADING-data BinAsyncHandlingPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BinMessageForwardPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BinDeepElementAddedSignalInfo-#endif-#if ENABLE_OVERLOADING-data BinDeepElementRemovedSignalInfo-#endif-#if ENABLE_OVERLOADING-data BinDoLatencySignalInfo-#endif-#if ENABLE_OVERLOADING-data BinElementAddedSignalInfo-#endif-#if ENABLE_OVERLOADING-data BinElementRemovedSignalInfo-#endif-#if ENABLE_OVERLOADING-data BinAddMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinFindUnlinkedPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinGetByInterfaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinGetByNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinGetByNameRecurseUpMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinGetSuppressedFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinIterateAllByInterfaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinIterateElementsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinIterateRecurseMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinIterateSinksMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinIterateSortedMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinIterateSourcesMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinRecalculateLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinRemoveMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinSetSuppressedFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BinSyncChildrenStatesMethodInfo-#endif
− GI/Gst/Objects/Bitmask.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Bitmask () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "Bitmask" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/BufferPool.hs
@@ -1,1123 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A 'GI.Gst.Objects.BufferPool.BufferPool' is an object that can be used to pre-allocate and recycle-buffers of the same size and with the same properties.--A 'GI.Gst.Objects.BufferPool.BufferPool' is created with 'GI.Gst.Objects.BufferPool.bufferPoolNew'.--Once a pool is created, it needs to be configured. A call to-'GI.Gst.Objects.BufferPool.bufferPoolGetConfig' returns the current configuration structure from-the pool. With 'GI.Gst.Objects.BufferPool.bufferPoolConfigSetParams' and-'GI.Gst.Objects.BufferPool.bufferPoolConfigSetAllocator' 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-'GI.Gst.Objects.BufferPool.bufferPoolConfigAddOption'. The available options can be retrieved-with 'GI.Gst.Objects.BufferPool.bufferPoolGetOptions'. Some options allow for additional-configuration properties to be set.--After the configuration structure has been configured,-'GI.Gst.Objects.BufferPool.bufferPoolSetConfig' 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-'GI.Gst.Objects.BufferPool.bufferPoolSetActive'. This will preallocate the configured resources-in the pool.--When the pool is active, 'GI.Gst.Objects.BufferPool.bufferPoolAcquireBuffer' can be used to-retrieve a buffer from the pool.--Buffers allocated from a bufferpool will automatically be returned to the-pool with 'GI.Gst.Objects.BufferPool.bufferPoolReleaseBuffer' when their refcount drops to 0.--The bufferpool can be deactivated again with 'GI.Gst.Objects.BufferPool.bufferPoolSetActive'.-All further 'GI.Gst.Objects.BufferPool.bufferPoolAcquireBuffer' calls will return an error. When-all buffers are returned to the pool they will be freed.--Use 'GI.Gst.Objects.Object.objectUnref' to release the reference to a bufferpool. If the-refcount of the pool reaches 0, the pool will be freed.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.BufferPool-    ( ---- * Exported types-    BufferPool(..)                          ,-    IsBufferPool                            ,-    toBufferPool                            ,-    noBufferPool                            ,--- -- * Methods--- ** acquireBuffer #method:acquireBuffer#--#if ENABLE_OVERLOADING-    BufferPoolAcquireBufferMethodInfo       ,-#endif-    bufferPoolAcquireBuffer                 ,----- ** configAddOption #method:configAddOption#--    bufferPoolConfigAddOption               ,----- ** configGetAllocator #method:configGetAllocator#--    bufferPoolConfigGetAllocator            ,----- ** configGetOption #method:configGetOption#--    bufferPoolConfigGetOption               ,----- ** configGetParams #method:configGetParams#--    bufferPoolConfigGetParams               ,----- ** configHasOption #method:configHasOption#--    bufferPoolConfigHasOption               ,----- ** configNOptions #method:configNOptions#--    bufferPoolConfigNOptions                ,----- ** configSetAllocator #method:configSetAllocator#--    bufferPoolConfigSetAllocator            ,----- ** configSetParams #method:configSetParams#--    bufferPoolConfigSetParams               ,----- ** configValidateParams #method:configValidateParams#--    bufferPoolConfigValidateParams          ,----- ** getConfig #method:getConfig#--#if ENABLE_OVERLOADING-    BufferPoolGetConfigMethodInfo           ,-#endif-    bufferPoolGetConfig                     ,----- ** getOptions #method:getOptions#--#if ENABLE_OVERLOADING-    BufferPoolGetOptionsMethodInfo          ,-#endif-    bufferPoolGetOptions                    ,----- ** hasOption #method:hasOption#--#if ENABLE_OVERLOADING-    BufferPoolHasOptionMethodInfo           ,-#endif-    bufferPoolHasOption                     ,----- ** isActive #method:isActive#--#if ENABLE_OVERLOADING-    BufferPoolIsActiveMethodInfo            ,-#endif-    bufferPoolIsActive                      ,----- ** new #method:new#--    bufferPoolNew                           ,----- ** releaseBuffer #method:releaseBuffer#--#if ENABLE_OVERLOADING-    BufferPoolReleaseBufferMethodInfo       ,-#endif-    bufferPoolReleaseBuffer                 ,----- ** setActive #method:setActive#--#if ENABLE_OVERLOADING-    BufferPoolSetActiveMethodInfo           ,-#endif-    bufferPoolSetActive                     ,----- ** setConfig #method:setConfig#--#if ENABLE_OVERLOADING-    BufferPoolSetConfigMethodInfo           ,-#endif-    bufferPoolSetConfig                     ,----- ** setFlushing #method:setFlushing#--#if ENABLE_OVERLOADING-    BufferPoolSetFlushingMethodInfo         ,-#endif-    bufferPoolSetFlushing                   ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Allocator as Gst.Allocator-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams-import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.Gst.Structs.BufferPoolAcquireParams as Gst.BufferPoolAcquireParams-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype BufferPool = BufferPool (ManagedPtr BufferPool)-foreign import ccall "gst_buffer_pool_get_type"-    c_gst_buffer_pool_get_type :: IO GType--instance GObject BufferPool where-    gobjectType = c_gst_buffer_pool_get_type-    ---- | Type class for types which can be safely cast to `BufferPool`, for instance with `toBufferPool`.-class (GObject o, O.IsDescendantOf BufferPool o) => IsBufferPool o-instance (GObject o, O.IsDescendantOf BufferPool o) => IsBufferPool o--instance O.HasParentTypes BufferPool-type instance O.ParentTypes BufferPool = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `BufferPool`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toBufferPool :: (MonadIO m, IsBufferPool o) => o -> m BufferPool-toBufferPool = liftIO . unsafeCastTo BufferPool---- | A convenience alias for `Nothing` :: `Maybe` `BufferPool`.-noBufferPool :: Maybe BufferPool-noBufferPool = Nothing--#if ENABLE_OVERLOADING-type family ResolveBufferPoolMethod (t :: Symbol) (o :: *) :: * where-    ResolveBufferPoolMethod "acquireBuffer" o = BufferPoolAcquireBufferMethodInfo-    ResolveBufferPoolMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveBufferPoolMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveBufferPoolMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveBufferPoolMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveBufferPoolMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveBufferPoolMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveBufferPoolMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveBufferPoolMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveBufferPoolMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveBufferPoolMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveBufferPoolMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveBufferPoolMethod "hasOption" o = BufferPoolHasOptionMethodInfo-    ResolveBufferPoolMethod "isActive" o = BufferPoolIsActiveMethodInfo-    ResolveBufferPoolMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveBufferPoolMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveBufferPoolMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveBufferPoolMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveBufferPoolMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveBufferPoolMethod "releaseBuffer" o = BufferPoolReleaseBufferMethodInfo-    ResolveBufferPoolMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveBufferPoolMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveBufferPoolMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveBufferPoolMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveBufferPoolMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveBufferPoolMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveBufferPoolMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveBufferPoolMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveBufferPoolMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveBufferPoolMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveBufferPoolMethod "getConfig" o = BufferPoolGetConfigMethodInfo-    ResolveBufferPoolMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveBufferPoolMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveBufferPoolMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveBufferPoolMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveBufferPoolMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveBufferPoolMethod "getOptions" o = BufferPoolGetOptionsMethodInfo-    ResolveBufferPoolMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveBufferPoolMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveBufferPoolMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveBufferPoolMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveBufferPoolMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveBufferPoolMethod "setActive" o = BufferPoolSetActiveMethodInfo-    ResolveBufferPoolMethod "setConfig" o = BufferPoolSetConfigMethodInfo-    ResolveBufferPoolMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveBufferPoolMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveBufferPoolMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveBufferPoolMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveBufferPoolMethod "setFlushing" o = BufferPoolSetFlushingMethodInfo-    ResolveBufferPoolMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveBufferPoolMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveBufferPoolMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveBufferPoolMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBufferPoolMethod t BufferPool, O.MethodInfo info BufferPool p) => OL.IsLabel t (BufferPool -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList BufferPool-type instance O.AttributeList BufferPool = BufferPoolAttributeList-type BufferPoolAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList BufferPool = BufferPoolSignalList-type BufferPoolSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method BufferPool::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferPool"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_new" gst_buffer_pool_new :: -    IO (Ptr BufferPool)--{- |-Creates a new 'GI.Gst.Objects.BufferPool.BufferPool' instance.--}-bufferPoolNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m BufferPool-    {- ^ __Returns:__ a new 'GI.Gst.Objects.BufferPool.BufferPool' instance -}-bufferPoolNew  = liftIO $ do-    result <- gst_buffer_pool_new-    checkUnexpectedReturnNULL "bufferPoolNew" result-    result' <- (wrapObject BufferPool) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method BufferPool::acquire_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location for a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "BufferPoolAcquireParams"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "parameters.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_acquire_buffer" gst_buffer_pool_acquire_buffer :: -    Ptr BufferPool ->                       -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    Ptr (Ptr Gst.Buffer.Buffer) ->          -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.BufferPoolAcquireParams.BufferPoolAcquireParams -> -- params : TInterface (Name {namespace = "Gst", name = "BufferPoolAcquireParams"})-    IO CInt--{- |-Acquire a buffer from /@pool@/. /@buffer@/ should point to a memory location that-can hold a pointer to the new buffer.--/@params@/ can be 'Nothing' or contain optional parameters to influence the-allocation.--}-bufferPoolAcquireBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsBufferPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> Maybe (Gst.BufferPoolAcquireParams.BufferPoolAcquireParams)-    {- ^ /@params@/: parameters. -}-    -> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' such as 'GI.Gst.Enums.FlowReturnFlushing' when the pool is-inactive. -}-bufferPoolAcquireBuffer pool params = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    buffer <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))-    maybeParams <- case params of-        Nothing -> return nullPtr-        Just jParams -> do-            jParams' <- unsafeManagedPtrGetPtr jParams-            return jParams'-    result <- gst_buffer_pool_acquire_buffer pool' buffer maybeParams-    let result' = (toEnum . fromIntegral) result-    buffer' <- peek buffer-    buffer'' <- (wrapBoxed Gst.Buffer.Buffer) buffer'-    touchManagedPtr pool-    whenJust params touchManagedPtr-    freeMem buffer-    return (result', buffer'')--#if ENABLE_OVERLOADING-data BufferPoolAcquireBufferMethodInfo-instance (signature ~ (Maybe (Gst.BufferPoolAcquireParams.BufferPoolAcquireParams) -> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))), MonadIO m, IsBufferPool a) => O.MethodInfo BufferPoolAcquireBufferMethodInfo a signature where-    overloadedMethod _ = bufferPoolAcquireBuffer--#endif---- method BufferPool::get_config--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_get_config" gst_buffer_pool_get_config :: -    Ptr BufferPool ->                       -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    IO (Ptr Gst.Structure.Structure)--{- |-Get a copy of the current configuration of the pool. This configuration-can either be modified and used for the 'GI.Gst.Objects.BufferPool.bufferPoolSetConfig' call-or it must be freed after usage.--}-bufferPoolGetConfig ::-    (B.CallStack.HasCallStack, MonadIO m, IsBufferPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> m Gst.Structure.Structure-    {- ^ __Returns:__ a copy of the current configuration of /@pool@/. use-'GI.Gst.Structs.Structure.structureFree' after usage or 'GI.Gst.Objects.BufferPool.bufferPoolSetConfig'. -}-bufferPoolGetConfig pool = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    result <- gst_buffer_pool_get_config pool'-    checkUnexpectedReturnNULL "bufferPoolGetConfig" result-    result' <- (wrapBoxed Gst.Structure.Structure) result-    touchManagedPtr pool-    return result'--#if ENABLE_OVERLOADING-data BufferPoolGetConfigMethodInfo-instance (signature ~ (m Gst.Structure.Structure), MonadIO m, IsBufferPool a) => O.MethodInfo BufferPoolGetConfigMethodInfo a signature where-    overloadedMethod _ = bufferPoolGetConfig--#endif---- method BufferPool::get_options--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_get_options" gst_buffer_pool_get_options :: -    Ptr BufferPool ->                       -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    IO (Ptr CString)--{- |-Get a 'Nothing' terminated array of string with supported bufferpool options for-/@pool@/. An option would typically be enabled with-'GI.Gst.Objects.BufferPool.bufferPoolConfigAddOption'.--}-bufferPoolGetOptions ::-    (B.CallStack.HasCallStack, MonadIO m, IsBufferPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> m [T.Text]-    {- ^ __Returns:__ a 'Nothing' terminated array-         of strings. -}-bufferPoolGetOptions pool = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    result <- gst_buffer_pool_get_options pool'-    checkUnexpectedReturnNULL "bufferPoolGetOptions" result-    result' <- unpackZeroTerminatedUTF8CArray result-    touchManagedPtr pool-    return result'--#if ENABLE_OVERLOADING-data BufferPoolGetOptionsMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m, IsBufferPool a) => O.MethodInfo BufferPoolGetOptionsMethodInfo a signature where-    overloadedMethod _ = bufferPoolGetOptions--#endif---- method BufferPool::has_option--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "option", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an option", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_has_option" gst_buffer_pool_has_option :: -    Ptr BufferPool ->                       -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    CString ->                              -- option : TBasicType TUTF8-    IO CInt--{- |-Check if the bufferpool supports /@option@/.--}-bufferPoolHasOption ::-    (B.CallStack.HasCallStack, MonadIO m, IsBufferPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> T.Text-    {- ^ /@option@/: an option -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the buffer pool contains /@option@/. -}-bufferPoolHasOption pool option = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    option' <- textToCString option-    result <- gst_buffer_pool_has_option pool' option'-    let result' = (/= 0) result-    touchManagedPtr pool-    freeMem option'-    return result'--#if ENABLE_OVERLOADING-data BufferPoolHasOptionMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m, IsBufferPool a) => O.MethodInfo BufferPoolHasOptionMethodInfo a signature where-    overloadedMethod _ = bufferPoolHasOption--#endif---- method BufferPool::is_active--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_is_active" gst_buffer_pool_is_active :: -    Ptr BufferPool ->                       -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    IO CInt--{- |-Check if /@pool@/ is active. A pool can be activated with the-'GI.Gst.Objects.BufferPool.bufferPoolSetActive' call.--}-bufferPoolIsActive ::-    (B.CallStack.HasCallStack, MonadIO m, IsBufferPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> m Bool-    {- ^ __Returns:__ 'True' when the pool is active. -}-bufferPoolIsActive pool = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    result <- gst_buffer_pool_is_active pool'-    let result' = (/= 0) result-    touchManagedPtr pool-    return result'--#if ENABLE_OVERLOADING-data BufferPoolIsActiveMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBufferPool a) => O.MethodInfo BufferPoolIsActiveMethodInfo a signature where-    overloadedMethod _ = bufferPoolIsActive--#endif---- method BufferPool::release_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_release_buffer" gst_buffer_pool_release_buffer :: -    Ptr BufferPool ->                       -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    Ptr Gst.Buffer.Buffer ->                -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO ()--{- |-Release /@buffer@/ to /@pool@/. /@buffer@/ should have previously been allocated from-/@pool@/ with 'GI.Gst.Objects.BufferPool.bufferPoolAcquireBuffer'.--This function is usually called automatically when the last ref on /@buffer@/-disappears.--}-bufferPoolReleaseBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsBufferPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> m ()-bufferPoolReleaseBuffer pool buffer = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    buffer' <- B.ManagedPtr.disownBoxed buffer-    gst_buffer_pool_release_buffer pool' buffer'-    touchManagedPtr pool-    touchManagedPtr buffer-    return ()--#if ENABLE_OVERLOADING-data BufferPoolReleaseBufferMethodInfo-instance (signature ~ (Gst.Buffer.Buffer -> m ()), MonadIO m, IsBufferPool a) => O.MethodInfo BufferPoolReleaseBufferMethodInfo a signature where-    overloadedMethod _ = bufferPoolReleaseBuffer--#endif---- method BufferPool::set_active--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new active state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_set_active" gst_buffer_pool_set_active :: -    Ptr BufferPool ->                       -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    CInt ->                                 -- active : TBasicType TBoolean-    IO CInt--{- |-Control the active state of /@pool@/. When the pool is inactive, new calls to-'GI.Gst.Objects.BufferPool.bufferPoolAcquireBuffer' will return with 'GI.Gst.Enums.FlowReturnFlushing'.--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.--}-bufferPoolSetActive ::-    (B.CallStack.HasCallStack, MonadIO m, IsBufferPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> Bool-    {- ^ /@active@/: the new active state -}-    -> m Bool-    {- ^ __Returns:__ 'False' when the pool was not configured or when preallocation of the-buffers failed. -}-bufferPoolSetActive pool active = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    let active' = (fromIntegral . fromEnum) active-    result <- gst_buffer_pool_set_active pool' active'-    let result' = (/= 0) result-    touchManagedPtr pool-    return result'--#if ENABLE_OVERLOADING-data BufferPoolSetActiveMethodInfo-instance (signature ~ (Bool -> m Bool), MonadIO m, IsBufferPool a) => O.MethodInfo BufferPoolSetActiveMethodInfo a signature where-    overloadedMethod _ = bufferPoolSetActive--#endif---- method BufferPool::set_config--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_set_config" gst_buffer_pool_set_config :: -    Ptr BufferPool ->                       -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO CInt--{- |-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 'GI.Gst.Structs.Structure.Structure' that contains the configuration parameters for-the pool. A default and mandatory set of parameters can be configured with-'GI.Gst.Objects.BufferPool.bufferPoolConfigSetParams', 'GI.Gst.Objects.BufferPool.bufferPoolConfigSetAllocator'-and 'GI.Gst.Objects.BufferPool.bufferPoolConfigAddOption'.--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 'GI.Gst.Objects.BufferPool.bufferPoolGetConfig'.--This function takes ownership of /@config@/.--}-bufferPoolSetConfig ::-    (B.CallStack.HasCallStack, MonadIO m, IsBufferPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> m Bool-    {- ^ __Returns:__ 'True' when the configuration could be set. -}-bufferPoolSetConfig pool config = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    config' <- B.ManagedPtr.disownBoxed config-    result <- gst_buffer_pool_set_config pool' config'-    let result' = (/= 0) result-    touchManagedPtr pool-    touchManagedPtr config-    return result'--#if ENABLE_OVERLOADING-data BufferPoolSetConfigMethodInfo-instance (signature ~ (Gst.Structure.Structure -> m Bool), MonadIO m, IsBufferPool a) => O.MethodInfo BufferPoolSetConfigMethodInfo a signature where-    overloadedMethod _ = bufferPoolSetConfig--#endif---- method BufferPool::set_flushing--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flushing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to start or stop flushing", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_set_flushing" gst_buffer_pool_set_flushing :: -    Ptr BufferPool ->                       -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    CInt ->                                 -- flushing : TBasicType TBoolean-    IO ()--{- |-Enable or disable the flushing state of a /@pool@/ without freeing or-allocating buffers.--/Since: 1.4/--}-bufferPoolSetFlushing ::-    (B.CallStack.HasCallStack, MonadIO m, IsBufferPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> Bool-    {- ^ /@flushing@/: whether to start or stop flushing -}-    -> m ()-bufferPoolSetFlushing pool flushing = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    let flushing' = (fromIntegral . fromEnum) flushing-    gst_buffer_pool_set_flushing pool' flushing'-    touchManagedPtr pool-    return ()--#if ENABLE_OVERLOADING-data BufferPoolSetFlushingMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBufferPool a) => O.MethodInfo BufferPoolSetFlushingMethodInfo a signature where-    overloadedMethod _ = bufferPoolSetFlushing--#endif---- method BufferPool::config_add_option--- method type : MemberFunction--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "option", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an option to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_config_add_option" gst_buffer_pool_config_add_option :: -    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- option : TBasicType TUTF8-    IO ()--{- |-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 'GI.Gst.Objects.BufferPool.bufferPoolGetOptions'.--}-bufferPoolConfigAddOption ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Objects.BufferPool.BufferPool' configuration -}-    -> T.Text-    {- ^ /@option@/: an option to add -}-    -> m ()-bufferPoolConfigAddOption config option = liftIO $ do-    config' <- unsafeManagedPtrGetPtr config-    option' <- textToCString option-    gst_buffer_pool_config_add_option config' option'-    touchManagedPtr config-    freeMem option'-    return ()--#if ENABLE_OVERLOADING-#endif---- method BufferPool::config_get_allocator--- method type : MemberFunction--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAllocator, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstAllocationParams, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_config_get_allocator" gst_buffer_pool_config_get_allocator :: -    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr (Ptr Gst.Allocator.Allocator) ->    -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO CInt--{- |-Get the /@allocator@/ and /@params@/ from /@config@/.--}-bufferPoolConfigGetAllocator ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Objects.BufferPool.BufferPool' configuration -}-    -> m ((Bool, Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))-    {- ^ __Returns:__ 'True', if the values are set. -}-bufferPoolConfigGetAllocator config = liftIO $ do-    config' <- unsafeManagedPtrGetPtr config-    allocator <- allocMem :: IO (Ptr (Ptr Gst.Allocator.Allocator))-    params <- callocBoxedBytes 64 :: IO (Ptr Gst.AllocationParams.AllocationParams)-    result <- gst_buffer_pool_config_get_allocator config' allocator params-    let result' = (/= 0) result-    allocator' <- peek allocator-    allocator'' <- (newObject Gst.Allocator.Allocator) allocator'-    params' <- (wrapBoxed Gst.AllocationParams.AllocationParams) params-    touchManagedPtr config-    freeMem allocator-    return (result', allocator'', params')--#if ENABLE_OVERLOADING-#endif---- method BufferPool::config_get_option--- method type : MemberFunction--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in the option array to read", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_config_get_option" gst_buffer_pool_config_get_option :: -    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    Word32 ->                               -- index : TBasicType TUInt-    IO CString--{- |-Parse an available /@config@/ and get the option at /@index@/ of the options API-array.--}-bufferPoolConfigGetOption ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Objects.BufferPool.BufferPool' configuration -}-    -> Word32-    {- ^ /@index@/: position in the option array to read -}-    -> m T.Text-    {- ^ __Returns:__ a @/gchar/@ of the option at /@index@/. -}-bufferPoolConfigGetOption config index = liftIO $ do-    config' <- unsafeManagedPtrGetPtr config-    result <- gst_buffer_pool_config_get_option config' index-    checkUnexpectedReturnNULL "bufferPoolConfigGetOption" result-    result' <- cstringToText result-    touchManagedPtr config-    return result'--#if ENABLE_OVERLOADING-#endif---- method BufferPool::config_get_params--- method type : MemberFunction--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the caps of buffers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of each buffer, not including prefix and padding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "min_buffers", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum amount of buffers to allocate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "max_buffers", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum amount of buffers to allocate or 0 for unlimited.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_config_get_params" gst_buffer_pool_config_get_params :: -    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr (Ptr Gst.Caps.Caps) ->              -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Word32 ->                           -- size : TBasicType TUInt-    Ptr Word32 ->                           -- min_buffers : TBasicType TUInt-    Ptr Word32 ->                           -- max_buffers : TBasicType TUInt-    IO CInt--{- |-Get the configuration values from /@config@/.--}-bufferPoolConfigGetParams ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Objects.BufferPool.BufferPool' configuration -}-    -> m ((Bool, Gst.Caps.Caps, Word32, Word32, Word32))-    {- ^ __Returns:__ 'True' if all parameters could be fetched. -}-bufferPoolConfigGetParams config = liftIO $ do-    config' <- unsafeManagedPtrGetPtr config-    caps <- allocMem :: IO (Ptr (Ptr Gst.Caps.Caps))-    size <- allocMem :: IO (Ptr Word32)-    minBuffers <- allocMem :: IO (Ptr Word32)-    maxBuffers <- allocMem :: IO (Ptr Word32)-    result <- gst_buffer_pool_config_get_params config' caps size minBuffers maxBuffers-    let result' = (/= 0) result-    caps' <- peek caps-    caps'' <- (newBoxed Gst.Caps.Caps) caps'-    size' <- peek size-    minBuffers' <- peek minBuffers-    maxBuffers' <- peek maxBuffers-    touchManagedPtr config-    freeMem caps-    freeMem size-    freeMem minBuffers-    freeMem maxBuffers-    return (result', caps'', size', minBuffers', maxBuffers')--#if ENABLE_OVERLOADING-#endif---- method BufferPool::config_has_option--- method type : MemberFunction--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "option", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an option", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_config_has_option" gst_buffer_pool_config_has_option :: -    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- option : TBasicType TUTF8-    IO CInt--{- |-Check if /@config@/ contains /@option@/.--}-bufferPoolConfigHasOption ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Objects.BufferPool.BufferPool' configuration -}-    -> T.Text-    {- ^ /@option@/: an option -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the options array contains /@option@/. -}-bufferPoolConfigHasOption config option = liftIO $ do-    config' <- unsafeManagedPtrGetPtr config-    option' <- textToCString option-    result <- gst_buffer_pool_config_has_option config' option'-    let result' = (/= 0) result-    touchManagedPtr config-    freeMem option'-    return result'--#if ENABLE_OVERLOADING-#endif---- method BufferPool::config_n_options--- method type : MemberFunction--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_config_n_options" gst_buffer_pool_config_n_options :: -    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO Word32--{- |-Retrieve the number of values currently stored in the options array of the-/@config@/ structure.--}-bufferPoolConfigNOptions ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Objects.BufferPool.BufferPool' configuration -}-    -> m Word32-    {- ^ __Returns:__ the options array size as a @/guint/@. -}-bufferPoolConfigNOptions config = liftIO $ do-    config' <- unsafeManagedPtrGetPtr config-    result <- gst_buffer_pool_config_n_options config'-    touchManagedPtr config-    return result--#if ENABLE_OVERLOADING-#endif---- method BufferPool::config_set_allocator--- method type : MemberFunction--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstAllocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GstAllocationParams", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_config_set_allocator" gst_buffer_pool_config_set_allocator :: -    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Gst.Allocator.Allocator ->          -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO ()--{- |-Set the /@allocator@/ and /@params@/ on /@config@/.--One of /@allocator@/ and /@params@/ can be 'Nothing', but not both. When /@allocator@/-is 'Nothing', the default allocator of the pool will use the values in /@param@/-to perform its allocation. When /@param@/ is 'Nothing', the pool will use the-provided /@allocator@/ with its default 'GI.Gst.Structs.AllocationParams.AllocationParams'.--A call to 'GI.Gst.Objects.BufferPool.bufferPoolSetConfig' 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 'GI.Gst.Objects.BufferPool.bufferPoolGetConfig' to get the currently-used values.--}-bufferPoolConfigSetAllocator ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Allocator.IsAllocator a) =>-    Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Objects.BufferPool.BufferPool' configuration -}-    -> Maybe (a)-    {- ^ /@allocator@/: a 'GI.Gst.Objects.Allocator.Allocator' -}-    -> Maybe (Gst.AllocationParams.AllocationParams)-    {- ^ /@params@/: 'GI.Gst.Structs.AllocationParams.AllocationParams' -}-    -> m ()-bufferPoolConfigSetAllocator config allocator params = liftIO $ do-    config' <- unsafeManagedPtrGetPtr config-    maybeAllocator <- case allocator of-        Nothing -> return nullPtr-        Just jAllocator -> do-            jAllocator' <- unsafeManagedPtrCastPtr jAllocator-            return jAllocator'-    maybeParams <- case params of-        Nothing -> return nullPtr-        Just jParams -> do-            jParams' <- unsafeManagedPtrGetPtr jParams-            return jParams'-    gst_buffer_pool_config_set_allocator config' maybeAllocator maybeParams-    touchManagedPtr config-    whenJust allocator touchManagedPtr-    whenJust params touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-#endif---- method BufferPool::config_set_params--- method type : MemberFunction--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "caps for the buffers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of each buffer, not including prefix and padding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_buffers", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum amount of buffers to allocate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_buffers", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum amount of buffers to allocate or 0 for unlimited.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_config_set_params" gst_buffer_pool_config_set_params :: -    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Word32 ->                               -- size : TBasicType TUInt-    Word32 ->                               -- min_buffers : TBasicType TUInt-    Word32 ->                               -- max_buffers : TBasicType TUInt-    IO ()--{- |-Configure /@config@/ with the given parameters.--}-bufferPoolConfigSetParams ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Objects.BufferPool.BufferPool' configuration -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: caps for the buffers -}-    -> Word32-    {- ^ /@size@/: the size of each buffer, not including prefix and padding -}-    -> Word32-    {- ^ /@minBuffers@/: the minimum amount of buffers to allocate. -}-    -> Word32-    {- ^ /@maxBuffers@/: the maximum amount of buffers to allocate or 0 for unlimited. -}-    -> m ()-bufferPoolConfigSetParams config caps size minBuffers maxBuffers = liftIO $ do-    config' <- unsafeManagedPtrGetPtr config-    caps' <- unsafeManagedPtrGetPtr caps-    gst_buffer_pool_config_set_params config' caps' size minBuffers maxBuffers-    touchManagedPtr config-    touchManagedPtr caps-    return ()--#if ENABLE_OVERLOADING-#endif---- method BufferPool::config_validate_params--- method type : MemberFunction--- Args : [Arg {argCName = "config", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferPool configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the excepted caps of buffers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the expected size of each buffer, not including prefix and padding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_buffers", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the expected minimum amount of buffers to allocate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_buffers", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the expect maximum amount of buffers to allocate or 0 for unlimited.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_pool_config_validate_params" gst_buffer_pool_config_validate_params :: -    Ptr Gst.Structure.Structure ->          -- config : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Word32 ->                               -- size : TBasicType TUInt-    Word32 ->                               -- min_buffers : TBasicType TUInt-    Word32 ->                               -- max_buffers : TBasicType TUInt-    IO CInt--{- |-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 'GI.Gst.Objects.BufferPool.bufferPoolSetConfig'-returns 'False'. This expects that /@caps@/ haven\'t changed and that-/@minBuffers@/ 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.--/Since: 1.4/--}-bufferPoolConfigValidateParams ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Structure.Structure-    {- ^ /@config@/: a 'GI.Gst.Objects.BufferPool.BufferPool' configuration -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: the excepted caps of buffers -}-    -> Word32-    {- ^ /@size@/: the expected size of each buffer, not including prefix and padding -}-    -> Word32-    {- ^ /@minBuffers@/: the expected minimum amount of buffers to allocate. -}-    -> Word32-    {- ^ /@maxBuffers@/: the expect maximum amount of buffers to allocate or 0 for unlimited. -}-    -> m Bool-    {- ^ __Returns:__ 'True', if the parameters are valid in this context. -}-bufferPoolConfigValidateParams config caps size minBuffers maxBuffers = liftIO $ do-    config' <- unsafeManagedPtrGetPtr config-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_buffer_pool_config_validate_params config' caps' size minBuffers maxBuffers-    let result' = (/= 0) result-    touchManagedPtr config-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/BufferPool.hs-boot
@@ -1,56 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.BufferPool where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype BufferPool = BufferPool (ManagedPtr BufferPool)-instance GObject BufferPool where-class (GObject o, O.IsDescendantOf BufferPool o) => IsBufferPool o-instance (GObject o, O.IsDescendantOf BufferPool o) => IsBufferPool o-instance O.HasParentTypes BufferPool-#if ENABLE_OVERLOADING-data BufferPoolAcquireBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPoolGetConfigMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPoolGetOptionsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPoolHasOptionMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPoolIsActiveMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPoolReleaseBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPoolSetActiveMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPoolSetConfigMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPoolSetFlushingMethodInfo-#endif
− GI/Gst/Objects/Bus.hs
@@ -1,1648 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.Gst.Objects.Bus.Bus' is an object responsible for delivering 'GI.Gst.Structs.Message.Message' packets in-a first-in first-out way from the streaming threads (see 'GI.Gst.Objects.Task.Task') 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 'GI.GLib.Structs.Source.Source' based notifications. This makes it-possible to handle the delivery in the glib mainloop.--The 'GI.GLib.Structs.Source.Source' callback function 'GI.Gst.Objects.Bus.busAsyncSignalFunc' can be used to-convert all bus messages into signal emissions.--A message is posted on the bus with the 'GI.Gst.Objects.Bus.busPost' method. With the-'GI.Gst.Objects.Bus.busPeek' and 'GI.Gst.Objects.Bus.busPop' methods one can look at or retrieve a-previously posted message.--The bus can be polled with the 'GI.Gst.Objects.Bus.busPoll' 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 'GI.Gst.Objects.Bus.busPop' the messages-from the bus to handle them.-Alternatively the application can register an asynchronous bus function-using 'GI.Gst.Objects.Bus.busAddWatch' or @/gst_bus_add_watch()/@. This function will-install a 'GI.GLib.Structs.Source.Source' 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 'GI.Gst.Objects.Bus.busSetSyncHandler' 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 'GI.Gst.Objects.Pipeline.Pipeline' has one bus.--Note that a 'GI.Gst.Objects.Pipeline.Pipeline' will set its bus into flushing state when changing-from READY to NULL state.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Bus-    ( ---- * Exported types-    Bus(..)                                 ,-    IsBus                                   ,-    toBus                                   ,-    noBus                                   ,--- -- * Methods--- ** addSignalWatch #method:addSignalWatch#--#if ENABLE_OVERLOADING-    BusAddSignalWatchMethodInfo             ,-#endif-    busAddSignalWatch                       ,----- ** addSignalWatchFull #method:addSignalWatchFull#--#if ENABLE_OVERLOADING-    BusAddSignalWatchFullMethodInfo         ,-#endif-    busAddSignalWatchFull                   ,----- ** addWatch #method:addWatch#--#if ENABLE_OVERLOADING-    BusAddWatchMethodInfo                   ,-#endif-    busAddWatch                             ,----- ** asyncSignalFunc #method:asyncSignalFunc#--#if ENABLE_OVERLOADING-    BusAsyncSignalFuncMethodInfo            ,-#endif-    busAsyncSignalFunc                      ,----- ** createWatch #method:createWatch#--#if ENABLE_OVERLOADING-    BusCreateWatchMethodInfo                ,-#endif-    busCreateWatch                          ,----- ** disableSyncMessageEmission #method:disableSyncMessageEmission#--#if ENABLE_OVERLOADING-    BusDisableSyncMessageEmissionMethodInfo ,-#endif-    busDisableSyncMessageEmission           ,----- ** enableSyncMessageEmission #method:enableSyncMessageEmission#--#if ENABLE_OVERLOADING-    BusEnableSyncMessageEmissionMethodInfo  ,-#endif-    busEnableSyncMessageEmission            ,----- ** getPollfd #method:getPollfd#--#if ENABLE_OVERLOADING-    BusGetPollfdMethodInfo                  ,-#endif-    busGetPollfd                            ,----- ** havePending #method:havePending#--#if ENABLE_OVERLOADING-    BusHavePendingMethodInfo                ,-#endif-    busHavePending                          ,----- ** new #method:new#--    busNew                                  ,----- ** peek #method:peek#--#if ENABLE_OVERLOADING-    BusPeekMethodInfo                       ,-#endif-    busPeek                                 ,----- ** poll #method:poll#--#if ENABLE_OVERLOADING-    BusPollMethodInfo                       ,-#endif-    busPoll                                 ,----- ** pop #method:pop#--#if ENABLE_OVERLOADING-    BusPopMethodInfo                        ,-#endif-    busPop                                  ,----- ** popFiltered #method:popFiltered#--#if ENABLE_OVERLOADING-    BusPopFilteredMethodInfo                ,-#endif-    busPopFiltered                          ,----- ** post #method:post#--#if ENABLE_OVERLOADING-    BusPostMethodInfo                       ,-#endif-    busPost                                 ,----- ** removeSignalWatch #method:removeSignalWatch#--#if ENABLE_OVERLOADING-    BusRemoveSignalWatchMethodInfo          ,-#endif-    busRemoveSignalWatch                    ,----- ** removeWatch #method:removeWatch#--#if ENABLE_OVERLOADING-    BusRemoveWatchMethodInfo                ,-#endif-    busRemoveWatch                          ,----- ** setFlushing #method:setFlushing#--#if ENABLE_OVERLOADING-    BusSetFlushingMethodInfo                ,-#endif-    busSetFlushing                          ,----- ** setSyncHandler #method:setSyncHandler#--#if ENABLE_OVERLOADING-    BusSetSyncHandlerMethodInfo             ,-#endif-    busSetSyncHandler                       ,----- ** syncSignalHandler #method:syncSignalHandler#--#if ENABLE_OVERLOADING-    BusSyncSignalHandlerMethodInfo          ,-#endif-    busSyncSignalHandler                    ,----- ** timedPop #method:timedPop#--#if ENABLE_OVERLOADING-    BusTimedPopMethodInfo                   ,-#endif-    busTimedPop                             ,----- ** timedPopFiltered #method:timedPopFiltered#--#if ENABLE_OVERLOADING-    BusTimedPopFilteredMethodInfo           ,-#endif-    busTimedPopFiltered                     ,----- -- * Properties--- ** enableAsync #attr:enableAsync#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    BusEnableAsyncPropertyInfo              ,-#endif-#if ENABLE_OVERLOADING-    busEnableAsync                          ,-#endif-    constructBusEnableAsync                 ,----- -- * Signals--- ** message #signal:message#--    BusMessageCallback                      ,-#if ENABLE_OVERLOADING-    BusMessageSignalInfo                    ,-#endif-    C_BusMessageCallback                    ,-    afterBusMessage                         ,-    genClosure_BusMessage                   ,-    mk_BusMessageCallback                   ,-    noBusMessageCallback                    ,-    onBusMessage                            ,-    wrap_BusMessageCallback                 ,----- ** syncMessage #signal:syncMessage#--    BusSyncMessageCallback                  ,-#if ENABLE_OVERLOADING-    BusSyncMessageSignalInfo                ,-#endif-    C_BusSyncMessageCallback                ,-    afterBusSyncMessage                     ,-    genClosure_BusSyncMessage               ,-    mk_BusSyncMessageCallback               ,-    noBusSyncMessageCallback                ,-    onBusSyncMessage                        ,-    wrap_BusSyncMessageCallback             ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.GLib.Structs.PollFD as GLib.PollFD-import qualified GI.GLib.Structs.Source as GLib.Source-import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Structs.Message as Gst.Message---- | Memory-managed wrapper type.-newtype Bus = Bus (ManagedPtr Bus)-foreign import ccall "gst_bus_get_type"-    c_gst_bus_get_type :: IO GType--instance GObject Bus where-    gobjectType = c_gst_bus_get_type-    ---- | Type class for types which can be safely cast to `Bus`, for instance with `toBus`.-class (GObject o, O.IsDescendantOf Bus o) => IsBus o-instance (GObject o, O.IsDescendantOf Bus o) => IsBus o--instance O.HasParentTypes Bus-type instance O.ParentTypes Bus = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Bus`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toBus :: (MonadIO m, IsBus o) => o -> m Bus-toBus = liftIO . unsafeCastTo Bus---- | A convenience alias for `Nothing` :: `Maybe` `Bus`.-noBus :: Maybe Bus-noBus = Nothing--#if ENABLE_OVERLOADING-type family ResolveBusMethod (t :: Symbol) (o :: *) :: * where-    ResolveBusMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveBusMethod "addSignalWatch" o = BusAddSignalWatchMethodInfo-    ResolveBusMethod "addSignalWatchFull" o = BusAddSignalWatchFullMethodInfo-    ResolveBusMethod "addWatch" o = BusAddWatchMethodInfo-    ResolveBusMethod "asyncSignalFunc" o = BusAsyncSignalFuncMethodInfo-    ResolveBusMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveBusMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveBusMethod "createWatch" o = BusCreateWatchMethodInfo-    ResolveBusMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveBusMethod "disableSyncMessageEmission" o = BusDisableSyncMessageEmissionMethodInfo-    ResolveBusMethod "enableSyncMessageEmission" o = BusEnableSyncMessageEmissionMethodInfo-    ResolveBusMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveBusMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveBusMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveBusMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveBusMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveBusMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveBusMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveBusMethod "havePending" o = BusHavePendingMethodInfo-    ResolveBusMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveBusMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveBusMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveBusMethod "peek" o = BusPeekMethodInfo-    ResolveBusMethod "poll" o = BusPollMethodInfo-    ResolveBusMethod "pop" o = BusPopMethodInfo-    ResolveBusMethod "popFiltered" o = BusPopFilteredMethodInfo-    ResolveBusMethod "post" o = BusPostMethodInfo-    ResolveBusMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveBusMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveBusMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveBusMethod "removeSignalWatch" o = BusRemoveSignalWatchMethodInfo-    ResolveBusMethod "removeWatch" o = BusRemoveWatchMethodInfo-    ResolveBusMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveBusMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveBusMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveBusMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveBusMethod "syncSignalHandler" o = BusSyncSignalHandlerMethodInfo-    ResolveBusMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveBusMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveBusMethod "timedPop" o = BusTimedPopMethodInfo-    ResolveBusMethod "timedPopFiltered" o = BusTimedPopFilteredMethodInfo-    ResolveBusMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveBusMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveBusMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveBusMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveBusMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveBusMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveBusMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveBusMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveBusMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveBusMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveBusMethod "getPollfd" o = BusGetPollfdMethodInfo-    ResolveBusMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveBusMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveBusMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveBusMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveBusMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveBusMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveBusMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveBusMethod "setFlushing" o = BusSetFlushingMethodInfo-    ResolveBusMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveBusMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveBusMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveBusMethod "setSyncHandler" o = BusSetSyncHandlerMethodInfo-    ResolveBusMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBusMethod t Bus, O.MethodInfo info Bus p) => OL.IsLabel t (Bus -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal Bus::message-{- |-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.--}-type BusMessageCallback =-    Gst.Message.Message-    {- ^ /@message@/: the message that has been posted asynchronously -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `BusMessageCallback`@.-noBusMessageCallback :: Maybe BusMessageCallback-noBusMessageCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_BusMessageCallback =-    Ptr () ->                               -- object-    Ptr Gst.Message.Message ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_BusMessageCallback`.-foreign import ccall "wrapper"-    mk_BusMessageCallback :: C_BusMessageCallback -> IO (FunPtr C_BusMessageCallback)---- | Wrap the callback into a `GClosure`.-genClosure_BusMessage :: MonadIO m => BusMessageCallback -> m (GClosure C_BusMessageCallback)-genClosure_BusMessage cb = liftIO $ do-    let cb' = wrap_BusMessageCallback cb-    mk_BusMessageCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `BusMessageCallback` into a `C_BusMessageCallback`.-wrap_BusMessageCallback ::-    BusMessageCallback ->-    C_BusMessageCallback-wrap_BusMessageCallback _cb _ message _ = do-    B.ManagedPtr.withTransient Gst.Message.Message message $ \message' -> do-        _cb  message'---{- |-Connect a signal handler for the “@message@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' bus #message callback-@--}-onBusMessage :: (IsBus a, MonadIO m) => a -> BusMessageCallback -> m SignalHandlerId-onBusMessage obj cb = liftIO $ do-    let cb' = wrap_BusMessageCallback cb-    cb'' <- mk_BusMessageCallback cb'-    connectSignalFunPtr obj "message" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@message@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' bus #message callback-@--}-afterBusMessage :: (IsBus a, MonadIO m) => a -> BusMessageCallback -> m SignalHandlerId-afterBusMessage obj cb = liftIO $ do-    let cb' = wrap_BusMessageCallback cb-    cb'' <- mk_BusMessageCallback cb'-    connectSignalFunPtr obj "message" cb'' SignalConnectAfter----- signal Bus::sync-message-{- |-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-'GI.Gst.Objects.Bus.busEnableSyncMessageEmission' before.--}-type BusSyncMessageCallback =-    Gst.Message.Message-    {- ^ /@message@/: the message that has been posted synchronously -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `BusSyncMessageCallback`@.-noBusSyncMessageCallback :: Maybe BusSyncMessageCallback-noBusSyncMessageCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_BusSyncMessageCallback =-    Ptr () ->                               -- object-    Ptr Gst.Message.Message ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_BusSyncMessageCallback`.-foreign import ccall "wrapper"-    mk_BusSyncMessageCallback :: C_BusSyncMessageCallback -> IO (FunPtr C_BusSyncMessageCallback)---- | Wrap the callback into a `GClosure`.-genClosure_BusSyncMessage :: MonadIO m => BusSyncMessageCallback -> m (GClosure C_BusSyncMessageCallback)-genClosure_BusSyncMessage cb = liftIO $ do-    let cb' = wrap_BusSyncMessageCallback cb-    mk_BusSyncMessageCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `BusSyncMessageCallback` into a `C_BusSyncMessageCallback`.-wrap_BusSyncMessageCallback ::-    BusSyncMessageCallback ->-    C_BusSyncMessageCallback-wrap_BusSyncMessageCallback _cb _ message _ = do-    B.ManagedPtr.withTransient Gst.Message.Message message $ \message' -> do-        _cb  message'---{- |-Connect a signal handler for the “@sync-message@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' bus #syncMessage callback-@--}-onBusSyncMessage :: (IsBus a, MonadIO m) => a -> BusSyncMessageCallback -> m SignalHandlerId-onBusSyncMessage obj cb = liftIO $ do-    let cb' = wrap_BusSyncMessageCallback cb-    cb'' <- mk_BusSyncMessageCallback cb'-    connectSignalFunPtr obj "sync-message" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@sync-message@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' bus #syncMessage callback-@--}-afterBusSyncMessage :: (IsBus a, MonadIO m) => a -> BusSyncMessageCallback -> m SignalHandlerId-afterBusSyncMessage obj cb = liftIO $ do-    let cb' = wrap_BusSyncMessageCallback cb-    cb'' <- mk_BusSyncMessageCallback cb'-    connectSignalFunPtr obj "sync-message" cb'' SignalConnectAfter----- VVV Prop "enable-async"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Construct a `GValueConstruct` with valid value for the “@enable-async@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBusEnableAsync :: (IsBus o) => Bool -> IO (GValueConstruct o)-constructBusEnableAsync val = B.Properties.constructObjectPropertyBool "enable-async" val--#if ENABLE_OVERLOADING-data BusEnableAsyncPropertyInfo-instance AttrInfo BusEnableAsyncPropertyInfo where-    type AttrAllowedOps BusEnableAsyncPropertyInfo = '[ 'AttrConstruct]-    type AttrSetTypeConstraint BusEnableAsyncPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BusEnableAsyncPropertyInfo = IsBus-    type AttrGetType BusEnableAsyncPropertyInfo = ()-    type AttrLabel BusEnableAsyncPropertyInfo = "enable-async"-    type AttrOrigin BusEnableAsyncPropertyInfo = Bus-    attrGet _ = undefined-    attrSet _ = undefined-    attrConstruct _ = constructBusEnableAsync-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Bus-type instance O.AttributeList Bus = BusAttributeList-type BusAttributeList = ('[ '("enableAsync", BusEnableAsyncPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-busEnableAsync :: AttrLabelProxy "enableAsync"-busEnableAsync = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-data BusMessageSignalInfo-instance SignalInfo BusMessageSignalInfo where-    type HaskellCallbackType BusMessageSignalInfo = BusMessageCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_BusMessageCallback cb-        cb'' <- mk_BusMessageCallback cb'-        connectSignalFunPtr obj "message" cb'' connectMode--data BusSyncMessageSignalInfo-instance SignalInfo BusSyncMessageSignalInfo where-    type HaskellCallbackType BusSyncMessageSignalInfo = BusSyncMessageCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_BusSyncMessageCallback cb-        cb'' <- mk_BusSyncMessageCallback cb'-        connectSignalFunPtr obj "sync-message" cb'' connectMode--type instance O.SignalList Bus = BusSignalList-type BusSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("message", BusMessageSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("syncMessage", BusSyncMessageSignalInfo)] :: [(Symbol, *)])--#endif---- method Bus::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Bus"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bus_new" gst_bus_new :: -    IO (Ptr Bus)--{- |-Creates a new 'GI.Gst.Objects.Bus.Bus' instance.--}-busNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bus-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Bus.Bus' instance -}-busNew  = liftIO $ do-    result <- gst_bus_new-    checkUnexpectedReturnNULL "busNew" result-    result' <- (wrapObject Bus) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Bus::add_signal_watch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus on which you want to receive the \"message\" signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bus_add_signal_watch" gst_bus_add_signal_watch :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO ()--{- |-Adds a bus signal watch to the default main context with the default priority-('GI.GLib.Constants.PRIORITY_DEFAULT'). It is also possible to use a non-default-main context set up using 'GI.GLib.Structs.MainContext.mainContextPushThreadDefault' (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 'GI.Gst.Objects.Bus.busRemoveSignalWatch' as many times as this-function is called.--MT safe.--}-busAddSignalWatch ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' on which you want to receive the \"message\" signal -}-    -> m ()-busAddSignalWatch bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    gst_bus_add_signal_watch bus'-    touchManagedPtr bus-    return ()--#if ENABLE_OVERLOADING-data BusAddSignalWatchMethodInfo-instance (signature ~ (m ()), MonadIO m, IsBus a) => O.MethodInfo BusAddSignalWatchMethodInfo a signature where-    overloadedMethod _ = busAddSignalWatch--#endif---- method Bus::add_signal_watch_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus on which you want to receive the \"message\" signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The priority of the watch.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bus_add_signal_watch_full" gst_bus_add_signal_watch_full :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    Int32 ->                                -- priority : TBasicType TInt-    IO ()--{- |-Adds a bus signal watch to the default main context with the given /@priority@/-(e.g. 'GI.GLib.Constants.PRIORITY_DEFAULT'). It is also possible to use a non-default main-context set up using 'GI.GLib.Structs.MainContext.mainContextPushThreadDefault'-(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 'GI.Gst.Objects.Bus.busRemoveSignalWatch' 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.--}-busAddSignalWatchFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' on which you want to receive the \"message\" signal -}-    -> Int32-    {- ^ /@priority@/: The priority of the watch. -}-    -> m ()-busAddSignalWatchFull bus priority = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    gst_bus_add_signal_watch_full bus' priority-    touchManagedPtr bus-    return ()--#if ENABLE_OVERLOADING-data BusAddSignalWatchFullMethodInfo-instance (signature ~ (Int32 -> m ()), MonadIO m, IsBus a) => O.MethodInfo BusAddSignalWatchFullMethodInfo a signature where-    overloadedMethod _ = busAddSignalWatchFull--#endif---- method Bus::add_watch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to create the watch for.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The priority of the watch.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "BusFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A function to call when a message is received.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @func.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call when the source is removed.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_bus_add_watch_full" gst_bus_add_watch_full :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    Int32 ->                                -- priority : TBasicType TInt-    FunPtr Gst.Callbacks.C_BusFunc ->       -- func : TInterface (Name {namespace = "Gst", name = "BusFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO Word32--{- |-Adds a bus watch to the default main context with the given /@priority@/ (e.g.-'GI.GLib.Constants.PRIORITY_DEFAULT'). It is also possible to use a non-default  main-context set up using 'GI.GLib.Structs.MainContext.mainContextPushThreadDefault' (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 'GI.Gst.Objects.Bus.busRemoveWatch' 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 'GI.GLib.Functions.sourceRemove'.--The bus watch will take its own reference to the /@bus@/, so it is safe to unref-/@bus@/ using 'GI.Gst.Objects.Object.objectUnref' after setting the bus watch.--MT safe.--}-busAddWatch ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to create the watch for. -}-    -> Int32-    {- ^ /@priority@/: The priority of the watch. -}-    -> Gst.Callbacks.BusFunc-    {- ^ /@func@/: A function to call when a message is received. -}-    -> m Word32-    {- ^ __Returns:__ The event source id or 0 if /@bus@/ already got an event source. -}-busAddWatch bus priority func = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    func' <- Gst.Callbacks.mk_BusFunc (Gst.Callbacks.wrap_BusFunc Nothing (Gst.Callbacks.drop_closures_BusFunc func))-    let userData = castFunPtrToPtr func'-    let notify = safeFreeFunPtrPtr-    result <- gst_bus_add_watch_full bus' priority func' userData notify-    touchManagedPtr bus-    return result--#if ENABLE_OVERLOADING-data BusAddWatchMethodInfo-instance (signature ~ (Int32 -> Gst.Callbacks.BusFunc -> m Word32), MonadIO m, IsBus a) => O.MethodInfo BusAddWatchMethodInfo a signature where-    overloadedMethod _ = busAddWatch--#endif---- method Bus::async_signal_func--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessage received", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_bus_async_signal_func" gst_bus_async_signal_func :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    Ptr Gst.Message.Message ->              -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO CInt--{- |-A helper 'GI.Gst.Callbacks.BusFunc' that can be used to convert all asynchronous messages-into signals.--}-busAsyncSignalFunc ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' -}-    -> Gst.Message.Message-    {- ^ /@message@/: the 'GI.Gst.Structs.Message.Message' received -}-    -> Ptr ()-    {- ^ /@data@/: user data -}-    -> m Bool-    {- ^ __Returns:__ 'True' -}-busAsyncSignalFunc bus message data_ = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_bus_async_signal_func bus' message' data_-    let result' = (/= 0) result-    touchManagedPtr bus-    touchManagedPtr message-    return result'--#if ENABLE_OVERLOADING-data BusAsyncSignalFuncMethodInfo-instance (signature ~ (Gst.Message.Message -> Ptr () -> m Bool), MonadIO m, IsBus a) => O.MethodInfo BusAsyncSignalFuncMethodInfo a signature where-    overloadedMethod _ = busAsyncSignalFunc--#endif---- method Bus::create_watch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to create the watch for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bus_create_watch" gst_bus_create_watch :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO (Ptr GLib.Source.Source)--{- |-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.--}-busCreateWatch ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to create the watch for -}-    -> m (Maybe GLib.Source.Source)-    {- ^ __Returns:__ a 'GI.GLib.Structs.Source.Source' that can be added to a mainloop. -}-busCreateWatch bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    result <- gst_bus_create_watch bus'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed GLib.Source.Source) result'-        return result''-    touchManagedPtr bus-    return maybeResult--#if ENABLE_OVERLOADING-data BusCreateWatchMethodInfo-instance (signature ~ (m (Maybe GLib.Source.Source)), MonadIO m, IsBus a) => O.MethodInfo BusCreateWatchMethodInfo a signature where-    overloadedMethod _ = busCreateWatch--#endif---- method Bus::disable_sync_message_emission--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus on which you previously called\ngst_bus_enable_sync_message_emission()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bus_disable_sync_message_emission" gst_bus_disable_sync_message_emission :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO ()--{- |-Instructs GStreamer to stop emitting the \"sync-message\" signal for this bus.-See 'GI.Gst.Objects.Bus.busEnableSyncMessageEmission' for more information.--In the event that multiple pieces of code have called-'GI.Gst.Objects.Bus.busEnableSyncMessageEmission', the sync-message emissions will only-be stopped after all calls to 'GI.Gst.Objects.Bus.busEnableSyncMessageEmission' were-\"cancelled\" by calling this function. In this way the semantics are exactly-the same as 'GI.Gst.Objects.Object.objectRef' that which calls enable should also call-disable.--MT safe.--}-busDisableSyncMessageEmission ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' on which you previously called-'GI.Gst.Objects.Bus.busEnableSyncMessageEmission' -}-    -> m ()-busDisableSyncMessageEmission bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    gst_bus_disable_sync_message_emission bus'-    touchManagedPtr bus-    return ()--#if ENABLE_OVERLOADING-data BusDisableSyncMessageEmissionMethodInfo-instance (signature ~ (m ()), MonadIO m, IsBus a) => O.MethodInfo BusDisableSyncMessageEmissionMethodInfo a signature where-    overloadedMethod _ = busDisableSyncMessageEmission--#endif---- method Bus::enable_sync_message_emission--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus on which you want to receive the \"sync-message\" signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bus_enable_sync_message_emission" gst_bus_enable_sync_message_emission :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO ()--{- |-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 'GI.Gst.Objects.Bus.busDisableSyncMessageEmission' as many times-as this function is called.--While this function looks similar to 'GI.Gst.Objects.Bus.busAddSignalWatch', it is not-exactly the same -- this function enables \<emphasis>synchronous\<\/emphasis> emission of-signals when messages arrive; 'GI.Gst.Objects.Bus.busAddSignalWatch' adds an idle callback-to pop messages off the bus \<emphasis>asynchronously\<\/emphasis>. 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.--}-busEnableSyncMessageEmission ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' on which you want to receive the \"sync-message\" signal -}-    -> m ()-busEnableSyncMessageEmission bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    gst_bus_enable_sync_message_emission bus'-    touchManagedPtr bus-    return ()--#if ENABLE_OVERLOADING-data BusEnableSyncMessageEmissionMethodInfo-instance (signature ~ (m ()), MonadIO m, IsBus a) => O.MethodInfo BusEnableSyncMessageEmissionMethodInfo a signature where-    overloadedMethod _ = busEnableSyncMessageEmission--#endif---- method Bus::get_pollfd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstBus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "GLib", name = "PollFD"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A GPollFD to fill", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bus_get_pollfd" gst_bus_get_pollfd :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    Ptr GLib.PollFD.PollFD ->               -- fd : TInterface (Name {namespace = "GLib", name = "PollFD"})-    IO ()--{- |-Gets the file descriptor from the bus which can be used to get notified about-messages being available with functions like 'GI.GLib.Functions.poll', and allows integration-into other event loops based on file descriptors.-Whenever a message is available, the POLLIN \/ 'GI.GLib.Flags.IOConditionIn' event is set.--Warning: NEVER read or write anything to the returned fd but only use it-for getting notifications via 'GI.GLib.Functions.poll' or similar and then use the normal-GstBus API, e.g. 'GI.Gst.Objects.Bus.busPop'.--/Since: 1.14/--}-busGetPollfd ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: A 'GI.Gst.Objects.Bus.Bus' -}-    -> m (GLib.PollFD.PollFD)-busGetPollfd bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    fd <- callocBoxedBytes 8 :: IO (Ptr GLib.PollFD.PollFD)-    gst_bus_get_pollfd bus' fd-    fd' <- (wrapBoxed GLib.PollFD.PollFD) fd-    touchManagedPtr bus-    return fd'--#if ENABLE_OVERLOADING-data BusGetPollfdMethodInfo-instance (signature ~ (m (GLib.PollFD.PollFD)), MonadIO m, IsBus a) => O.MethodInfo BusGetPollfdMethodInfo a signature where-    overloadedMethod _ = busGetPollfd--#endif---- method Bus::have_pending--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_bus_have_pending" gst_bus_have_pending :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO CInt--{- |-Check if there are pending messages on the bus that-should be handled.--}-busHavePending ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if there are messages on the bus to be handled, 'False'-otherwise.--MT safe. -}-busHavePending bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    result <- gst_bus_have_pending bus'-    let result' = (/= 0) result-    touchManagedPtr bus-    return result'--#if ENABLE_OVERLOADING-data BusHavePendingMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBus a) => O.MethodInfo BusHavePendingMethodInfo a signature where-    overloadedMethod _ = busHavePending--#endif---- method Bus::peek--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bus_peek" gst_bus_peek :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO (Ptr Gst.Message.Message)--{- |-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.--}-busPeek ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' -}-    -> m (Maybe Gst.Message.Message)-    {- ^ __Returns:__ the 'GI.Gst.Structs.Message.Message' that is on the-    bus, or 'Nothing' if the bus is empty.--MT safe. -}-busPeek bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    result <- gst_bus_peek bus'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Message.Message) result'-        return result''-    touchManagedPtr bus-    return maybeResult--#if ENABLE_OVERLOADING-data BusPeekMethodInfo-instance (signature ~ (m (Maybe Gst.Message.Message)), MonadIO m, IsBus a) => O.MethodInfo BusPeekMethodInfo a signature where-    overloadedMethod _ = busPeek--#endif---- method Bus::poll--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "events", argType = TInterface (Name {namespace = "Gst", name = "MessageType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a mask of #GstMessageType, representing the set of message types to\npoll for (note special handling of extended message types below)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the poll timeout, as a #GstClockTime, or #GST_CLOCK_TIME_NONE to poll\nindefinitely.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bus_poll" gst_bus_poll :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    CUInt ->                                -- events : TInterface (Name {namespace = "Gst", name = "MessageType"})-    Word64 ->                               -- timeout : TBasicType TUInt64-    IO (Ptr Gst.Message.Message)--{- |-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-'GI.Gst.Objects.Bus.busAddSignalWatch', calling 'GI.Gst.Objects.Bus.busPoll' 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 'GI.Gst.Objects.Bus.busPoll' 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 'GI.Gst.Objects.Bus.busPopFiltered' instead of this function; for-other short timeouts use 'GI.Gst.Objects.Bus.busTimedPopFiltered'; everything else is-better handled by setting up an asynchronous bus watch and doing things-from there.--}-busPoll ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' -}-    -> [Gst.Flags.MessageType]-    {- ^ /@events@/: a mask of 'GI.Gst.Flags.MessageType', representing the set of message types to-poll for (note special handling of extended message types below) -}-    -> Word64-    {- ^ /@timeout@/: the poll timeout, as a @/GstClockTime/@, or 'GI.Gst.Constants.CLOCK_TIME_NONE' to poll-indefinitely. -}-    -> m (Maybe Gst.Message.Message)-    {- ^ __Returns:__ the message that was received,-    or 'Nothing' if the poll timed out. The message is taken from the-    bus and needs to be unreffed with @/gst_message_unref()/@ after-    usage. -}-busPoll bus events timeout = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    let events' = gflagsToWord events-    result <- gst_bus_poll bus' events' timeout-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Message.Message) result'-        return result''-    touchManagedPtr bus-    return maybeResult--#if ENABLE_OVERLOADING-data BusPollMethodInfo-instance (signature ~ ([Gst.Flags.MessageType] -> Word64 -> m (Maybe Gst.Message.Message)), MonadIO m, IsBus a) => O.MethodInfo BusPollMethodInfo a signature where-    overloadedMethod _ = busPoll--#endif---- method Bus::pop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to pop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bus_pop" gst_bus_pop :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO (Ptr Gst.Message.Message)--{- |-Get a message from the bus.--}-busPop ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to pop -}-    -> m (Maybe Gst.Message.Message)-    {- ^ __Returns:__ the 'GI.Gst.Structs.Message.Message' that is on the-    bus, or 'Nothing' 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. -}-busPop bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    result <- gst_bus_pop bus'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Message.Message) result'-        return result''-    touchManagedPtr bus-    return maybeResult--#if ENABLE_OVERLOADING-data BusPopMethodInfo-instance (signature ~ (m (Maybe Gst.Message.Message)), MonadIO m, IsBus a) => O.MethodInfo BusPopMethodInfo a signature where-    overloadedMethod _ = busPop--#endif---- method Bus::pop_filtered--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to pop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TInterface (Name {namespace = "Gst", name = "MessageType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "message types to take into account", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bus_pop_filtered" gst_bus_pop_filtered :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    CUInt ->                                -- types : TInterface (Name {namespace = "Gst", name = "MessageType"})-    IO (Ptr Gst.Message.Message)--{- |-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.--}-busPopFiltered ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to pop -}-    -> [Gst.Flags.MessageType]-    {- ^ /@types@/: message types to take into account -}-    -> m (Maybe Gst.Message.Message)-    {- ^ __Returns:__ the next 'GI.Gst.Structs.Message.Message' matching-    /@type@/ that is on the bus, or 'Nothing' 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. -}-busPopFiltered bus types = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    let types' = gflagsToWord types-    result <- gst_bus_pop_filtered bus' types'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Message.Message) result'-        return result''-    touchManagedPtr bus-    return maybeResult--#if ENABLE_OVERLOADING-data BusPopFilteredMethodInfo-instance (signature ~ ([Gst.Flags.MessageType] -> m (Maybe Gst.Message.Message)), MonadIO m, IsBus a) => O.MethodInfo BusPopFilteredMethodInfo a signature where-    overloadedMethod _ = busPopFiltered--#endif---- method Bus::post--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to post on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessage to post", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_bus_post" gst_bus_post :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    Ptr Gst.Message.Message ->              -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    IO CInt--{- |-Post a message on the given bus. Ownership of the message-is taken by the bus.--}-busPost ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to post on -}-    -> Gst.Message.Message-    {- ^ /@message@/: the 'GI.Gst.Structs.Message.Message' to post -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the message could be posted, 'False' if the bus is flushing.--MT safe. -}-busPost bus message = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    message' <- B.ManagedPtr.disownBoxed message-    result <- gst_bus_post bus' message'-    let result' = (/= 0) result-    touchManagedPtr bus-    touchManagedPtr message-    return result'--#if ENABLE_OVERLOADING-data BusPostMethodInfo-instance (signature ~ (Gst.Message.Message -> m Bool), MonadIO m, IsBus a) => O.MethodInfo BusPostMethodInfo a signature where-    overloadedMethod _ = busPost--#endif---- method Bus::remove_signal_watch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus you previously added a signal watch to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bus_remove_signal_watch" gst_bus_remove_signal_watch :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO ()--{- |-Removes a signal watch previously added with 'GI.Gst.Objects.Bus.busAddSignalWatch'.--MT safe.--}-busRemoveSignalWatch ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' you previously added a signal watch to -}-    -> m ()-busRemoveSignalWatch bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    gst_bus_remove_signal_watch bus'-    touchManagedPtr bus-    return ()--#if ENABLE_OVERLOADING-data BusRemoveSignalWatchMethodInfo-instance (signature ~ (m ()), MonadIO m, IsBus a) => O.MethodInfo BusRemoveSignalWatchMethodInfo a signature where-    overloadedMethod _ = busRemoveSignalWatch--#endif---- method Bus::remove_watch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to remove the watch from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_bus_remove_watch" gst_bus_remove_watch :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO CInt--{- |-Removes an installed bus watch from /@bus@/.--/Since: 1.6/--}-busRemoveWatch ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to remove the watch from. -}-    -> m Bool-    {- ^ __Returns:__ 'True' on success or 'False' if /@bus@/ has no event source. -}-busRemoveWatch bus = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    result <- gst_bus_remove_watch bus'-    let result' = (/= 0) result-    touchManagedPtr bus-    return result'--#if ENABLE_OVERLOADING-data BusRemoveWatchMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBus a) => O.MethodInfo BusRemoveWatchMethodInfo a signature where-    overloadedMethod _ = busRemoveWatch--#endif---- method Bus::set_flushing--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flushing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not to flush the bus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bus_set_flushing" gst_bus_set_flushing :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    CInt ->                                 -- flushing : TBasicType TBoolean-    IO ()--{- |-If /@flushing@/, flush out and unref any messages queued in the bus. Releases-references to the message origin objects. Will flush future messages until-'GI.Gst.Objects.Bus.busSetFlushing' sets /@flushing@/ to 'False'.--MT safe.--}-busSetFlushing ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' -}-    -> Bool-    {- ^ /@flushing@/: whether or not to flush the bus -}-    -> m ()-busSetFlushing bus flushing = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    let flushing' = (fromIntegral . fromEnum) flushing-    gst_bus_set_flushing bus' flushing'-    touchManagedPtr bus-    return ()--#if ENABLE_OVERLOADING-data BusSetFlushingMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBus a) => O.MethodInfo BusSetFlushingMethodInfo a signature where-    overloadedMethod _ = busSetFlushing--#endif---- method Bus::set_sync_handler--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to install the handler on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "BusSyncHandler"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The handler function to install", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data that will be sent to the handler function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "called when @user_data becomes unused", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bus_set_sync_handler" gst_bus_set_sync_handler :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    FunPtr Gst.Callbacks.C_BusSyncHandler -> -- func : TInterface (Name {namespace = "Gst", name = "BusSyncHandler"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-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.--You cannot replace an existing sync_handler. You can pass 'Nothing' to this-function, which will clear the existing handler.--}-busSetSyncHandler ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to install the handler on -}-    -> Maybe (Gst.Callbacks.BusSyncHandler)-    {- ^ /@func@/: The handler function to install -}-    -> m ()-busSetSyncHandler bus func = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    maybeFunc <- case func of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jFunc -> do-            jFunc' <- Gst.Callbacks.mk_BusSyncHandler (Gst.Callbacks.wrap_BusSyncHandler Nothing (Gst.Callbacks.drop_closures_BusSyncHandler jFunc))-            return jFunc'-    let userData = castFunPtrToPtr maybeFunc-    let notify = safeFreeFunPtrPtr-    gst_bus_set_sync_handler bus' maybeFunc userData notify-    touchManagedPtr bus-    return ()--#if ENABLE_OVERLOADING-data BusSetSyncHandlerMethodInfo-instance (signature ~ (Maybe (Gst.Callbacks.BusSyncHandler) -> m ()), MonadIO m, IsBus a) => O.MethodInfo BusSetSyncHandlerMethodInfo a signature where-    overloadedMethod _ = busSetSyncHandler--#endif---- method Bus::sync_signal_handler--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessage received", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BusSyncReply"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bus_sync_signal_handler" gst_bus_sync_signal_handler :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    Ptr Gst.Message.Message ->              -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO CUInt--{- |-A helper GstBusSyncHandler that can be used to convert all synchronous-messages into signals.--}-busSyncSignalHandler ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' -}-    -> Gst.Message.Message-    {- ^ /@message@/: the 'GI.Gst.Structs.Message.Message' received -}-    -> Ptr ()-    {- ^ /@data@/: user data -}-    -> m Gst.Enums.BusSyncReply-    {- ^ __Returns:__ GST_BUS_PASS -}-busSyncSignalHandler bus message data_ = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_bus_sync_signal_handler bus' message' data_-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr bus-    touchManagedPtr message-    return result'--#if ENABLE_OVERLOADING-data BusSyncSignalHandlerMethodInfo-instance (signature ~ (Gst.Message.Message -> Ptr () -> m Gst.Enums.BusSyncReply), MonadIO m, IsBus a) => O.MethodInfo BusSyncSignalHandlerMethodInfo a signature where-    overloadedMethod _ = busSyncSignalHandler--#endif---- method Bus::timed_pop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to pop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timeout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bus_timed_pop" gst_bus_timed_pop :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    Word64 ->                               -- timeout : TBasicType TUInt64-    IO (Ptr Gst.Message.Message)--{- |-Get a message from the bus, waiting up to the specified timeout.--If /@timeout@/ is 0, this function behaves like 'GI.Gst.Objects.Bus.busPop'. If /@timeout@/ is-'GI.Gst.Constants.CLOCK_TIME_NONE', this function will block forever until a message was-posted on the bus.--}-busTimedPop ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to pop -}-    -> Word64-    {- ^ /@timeout@/: a timeout -}-    -> m (Maybe Gst.Message.Message)-    {- ^ __Returns:__ the 'GI.Gst.Structs.Message.Message' that is on the-    bus after the specified timeout or 'Nothing' 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. -}-busTimedPop bus timeout = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    result <- gst_bus_timed_pop bus' timeout-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Message.Message) result'-        return result''-    touchManagedPtr bus-    return maybeResult--#if ENABLE_OVERLOADING-data BusTimedPopMethodInfo-instance (signature ~ (Word64 -> m (Maybe Gst.Message.Message)), MonadIO m, IsBus a) => O.MethodInfo BusTimedPopMethodInfo a signature where-    overloadedMethod _ = busTimedPop--#endif---- method Bus::timed_pop_filtered--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBus to pop from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "types", argType = TInterface (Name {namespace = "Gst", name = "MessageType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "message types to take into account, GST_MESSAGE_ANY for any type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_bus_timed_pop_filtered" gst_bus_timed_pop_filtered :: -    Ptr Bus ->                              -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    Word64 ->                               -- timeout : TBasicType TUInt64-    CUInt ->                                -- types : TInterface (Name {namespace = "Gst", name = "MessageType"})-    IO (Ptr Gst.Message.Message)--{- |-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 'GI.Gst.Objects.Bus.busPopFiltered'. If-/@timeout@/ is 'GI.Gst.Constants.CLOCK_TIME_NONE', this function will block forever until a-matching message was posted on the bus.--}-busTimedPopFiltered ::-    (B.CallStack.HasCallStack, MonadIO m, IsBus a) =>-    a-    {- ^ /@bus@/: a 'GI.Gst.Objects.Bus.Bus' to pop from -}-    -> Word64-    {- ^ /@timeout@/: a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever -}-    -> [Gst.Flags.MessageType]-    {- ^ /@types@/: message types to take into account, GST_MESSAGE_ANY for any type -}-    -> m (Maybe Gst.Message.Message)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Message.Message' matching the-    filter in /@types@/, or 'Nothing' 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. -}-busTimedPopFiltered bus timeout types = liftIO $ do-    bus' <- unsafeManagedPtrCastPtr bus-    let types' = gflagsToWord types-    result <- gst_bus_timed_pop_filtered bus' timeout types'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Message.Message) result'-        return result''-    touchManagedPtr bus-    return maybeResult--#if ENABLE_OVERLOADING-data BusTimedPopFilteredMethodInfo-instance (signature ~ (Word64 -> [Gst.Flags.MessageType] -> m (Maybe Gst.Message.Message)), MonadIO m, IsBus a) => O.MethodInfo BusTimedPopFilteredMethodInfo a signature where-    overloadedMethod _ = busTimedPopFiltered--#endif--
− GI/Gst/Objects/Bus.hs-boot
@@ -1,101 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Bus where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Bus = Bus (ManagedPtr Bus)-instance GObject Bus where-class (GObject o, O.IsDescendantOf Bus o) => IsBus o-instance (GObject o, O.IsDescendantOf Bus o) => IsBus o-instance O.HasParentTypes Bus-#if ENABLE_OVERLOADING-data BusEnableAsyncPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BusMessageSignalInfo-#endif-#if ENABLE_OVERLOADING-data BusSyncMessageSignalInfo-#endif-#if ENABLE_OVERLOADING-data BusAddSignalWatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusAddSignalWatchFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusAddWatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusAsyncSignalFuncMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusCreateWatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusDisableSyncMessageEmissionMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusEnableSyncMessageEmissionMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusGetPollfdMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusHavePendingMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusPeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusPollMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusPopMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusPopFilteredMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusPostMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusRemoveSignalWatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusRemoveWatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusSetFlushingMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusSetSyncHandlerMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusSyncSignalHandlerMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusTimedPopMethodInfo-#endif-#if ENABLE_OVERLOADING-data BusTimedPopFilteredMethodInfo-#endif
− GI/Gst/Objects/Clock.hs
@@ -1,2185 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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 'GI.Gst.Objects.SystemClock.SystemClock'.--The 'GI.Gst.Objects.Clock.Clock' returns a monotonically increasing time with the method-'GI.Gst.Objects.Clock.clockGetTime'. 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 'GI.Gst.Objects.Pipeline.Pipeline'.--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 'GI.Gst.Objects.Clock.clockNewSingleShotId' or-'GI.Gst.Objects.Clock.clockNewPeriodicId'.--To perform a blocking wait for the specific time of the @/GstClockID/@ use the-'GI.Gst.Objects.Clock.clockIdWait'. To receive a callback when the specific time is reached-in the clock use 'GI.Gst.Objects.Clock.clockIdWaitAsync'. Both these calls can be-interrupted with the 'GI.Gst.Objects.Clock.clockIdUnschedule' 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,-'GI.Gst.Objects.Clock.clockIdWait' 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 'GI.Gst.Objects.Clock.clockIdUnref'.--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 'GI.Gst.Objects.Clock.Clock' with the 'GI.Gst.Objects.Clock.clockSetMaster'. 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 'GI.Gst.Objects.Clock.clockSetCalibration'. This feature is mostly useful for-plugins that have an internal clock but must operate with another clock-selected by the 'GI.Gst.Objects.Pipeline.Pipeline'.  They can track the offset and rate difference-of their internal clock relative to the master clock by using the-'GI.Gst.Objects.Clock.clockGetCalibration' function.--The master\/slave synchronisation can be tuned with the 'GI.Gst.Objects.Clock.Clock':@/timeout/@,-'GI.Gst.Objects.Clock.Clock':@/window-size/@ and 'GI.Gst.Objects.Clock.Clock':@/window-threshold/@ properties.-The 'GI.Gst.Objects.Clock.Clock':@/timeout/@ property defines the interval to sample the master-clock and run the calibration functions. 'GI.Gst.Objects.Clock.Clock':@/window-size/@ defines the-number of samples to use when calibrating and 'GI.Gst.Objects.Clock.Clock':@/window-threshold/@-defines the minimum number of samples before the calibration is performed.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Clock-    ( ---- * Exported types-    Clock(..)                               ,-    IsClock                                 ,-    toClock                                 ,-    noClock                                 ,--- -- * Methods--- ** addObservation #method:addObservation#--#if ENABLE_OVERLOADING-    ClockAddObservationMethodInfo           ,-#endif-    clockAddObservation                     ,----- ** addObservationUnapplied #method:addObservationUnapplied#--#if ENABLE_OVERLOADING-    ClockAddObservationUnappliedMethodInfo  ,-#endif-    clockAddObservationUnapplied            ,----- ** adjustUnlocked #method:adjustUnlocked#--#if ENABLE_OVERLOADING-    ClockAdjustUnlockedMethodInfo           ,-#endif-    clockAdjustUnlocked                     ,----- ** adjustWithCalibration #method:adjustWithCalibration#--#if ENABLE_OVERLOADING-    ClockAdjustWithCalibrationMethodInfo    ,-#endif-    clockAdjustWithCalibration              ,----- ** getCalibration #method:getCalibration#--#if ENABLE_OVERLOADING-    ClockGetCalibrationMethodInfo           ,-#endif-    clockGetCalibration                     ,----- ** getInternalTime #method:getInternalTime#--#if ENABLE_OVERLOADING-    ClockGetInternalTimeMethodInfo          ,-#endif-    clockGetInternalTime                    ,----- ** getMaster #method:getMaster#--#if ENABLE_OVERLOADING-    ClockGetMasterMethodInfo                ,-#endif-    clockGetMaster                          ,----- ** getResolution #method:getResolution#--#if ENABLE_OVERLOADING-    ClockGetResolutionMethodInfo            ,-#endif-    clockGetResolution                      ,----- ** getTime #method:getTime#--#if ENABLE_OVERLOADING-    ClockGetTimeMethodInfo                  ,-#endif-    clockGetTime                            ,----- ** getTimeout #method:getTimeout#--#if ENABLE_OVERLOADING-    ClockGetTimeoutMethodInfo               ,-#endif-    clockGetTimeout                         ,----- ** idCompareFunc #method:idCompareFunc#--    clockIdCompareFunc                      ,----- ** idGetClock #method:idGetClock#--    clockIdGetClock                         ,----- ** idGetTime #method:idGetTime#--    clockIdGetTime                          ,----- ** idRef #method:idRef#--    clockIdRef                              ,----- ** idUnref #method:idUnref#--    clockIdUnref                            ,----- ** idUnschedule #method:idUnschedule#--    clockIdUnschedule                       ,----- ** idUsesClock #method:idUsesClock#--    clockIdUsesClock                        ,----- ** idWait #method:idWait#--    clockIdWait                             ,----- ** idWaitAsync #method:idWaitAsync#--    clockIdWaitAsync                        ,----- ** isSynced #method:isSynced#--#if ENABLE_OVERLOADING-    ClockIsSyncedMethodInfo                 ,-#endif-    clockIsSynced                           ,----- ** newPeriodicId #method:newPeriodicId#--#if ENABLE_OVERLOADING-    ClockNewPeriodicIdMethodInfo            ,-#endif-    clockNewPeriodicId                      ,----- ** newSingleShotId #method:newSingleShotId#--#if ENABLE_OVERLOADING-    ClockNewSingleShotIdMethodInfo          ,-#endif-    clockNewSingleShotId                    ,----- ** periodicIdReinit #method:periodicIdReinit#--#if ENABLE_OVERLOADING-    ClockPeriodicIdReinitMethodInfo         ,-#endif-    clockPeriodicIdReinit                   ,----- ** setCalibration #method:setCalibration#--#if ENABLE_OVERLOADING-    ClockSetCalibrationMethodInfo           ,-#endif-    clockSetCalibration                     ,----- ** setMaster #method:setMaster#--#if ENABLE_OVERLOADING-    ClockSetMasterMethodInfo                ,-#endif-    clockSetMaster                          ,----- ** setResolution #method:setResolution#--#if ENABLE_OVERLOADING-    ClockSetResolutionMethodInfo            ,-#endif-    clockSetResolution                      ,----- ** setSynced #method:setSynced#--#if ENABLE_OVERLOADING-    ClockSetSyncedMethodInfo                ,-#endif-    clockSetSynced                          ,----- ** setTimeout #method:setTimeout#--#if ENABLE_OVERLOADING-    ClockSetTimeoutMethodInfo               ,-#endif-    clockSetTimeout                         ,----- ** singleShotIdReinit #method:singleShotIdReinit#--#if ENABLE_OVERLOADING-    ClockSingleShotIdReinitMethodInfo       ,-#endif-    clockSingleShotIdReinit                 ,----- ** unadjustUnlocked #method:unadjustUnlocked#--#if ENABLE_OVERLOADING-    ClockUnadjustUnlockedMethodInfo         ,-#endif-    clockUnadjustUnlocked                   ,----- ** unadjustWithCalibration #method:unadjustWithCalibration#--#if ENABLE_OVERLOADING-    ClockUnadjustWithCalibrationMethodInfo  ,-#endif-    clockUnadjustWithCalibration            ,----- ** waitForSync #method:waitForSync#--#if ENABLE_OVERLOADING-    ClockWaitForSyncMethodInfo              ,-#endif-    clockWaitForSync                        ,----- -- * Properties--- ** timeout #attr:timeout#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    ClockTimeoutPropertyInfo                ,-#endif-#if ENABLE_OVERLOADING-    clockTimeout                            ,-#endif-    constructClockTimeout                   ,-    getClockTimeout                         ,-    setClockTimeout                         ,----- ** windowSize #attr:windowSize#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    ClockWindowSizePropertyInfo             ,-#endif-#if ENABLE_OVERLOADING-    clockWindowSize                         ,-#endif-    constructClockWindowSize                ,-    getClockWindowSize                      ,-    setClockWindowSize                      ,----- ** windowThreshold #attr:windowThreshold#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    ClockWindowThresholdPropertyInfo        ,-#endif-#if ENABLE_OVERLOADING-    clockWindowThreshold                    ,-#endif-    constructClockWindowThreshold           ,-    getClockWindowThreshold                 ,-    setClockWindowThreshold                 ,----- -- * Signals--- ** synced #signal:synced#--    C_ClockSyncedCallback                   ,-    ClockSyncedCallback                     ,-#if ENABLE_OVERLOADING-    ClockSyncedSignalInfo                   ,-#endif-    afterClockSynced                        ,-    genClosure_ClockSynced                  ,-    mk_ClockSyncedCallback                  ,-    noClockSyncedCallback                   ,-    onClockSynced                           ,-    wrap_ClockSyncedCallback                ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype Clock = Clock (ManagedPtr Clock)-foreign import ccall "gst_clock_get_type"-    c_gst_clock_get_type :: IO GType--instance GObject Clock where-    gobjectType = c_gst_clock_get_type-    ---- | Type class for types which can be safely cast to `Clock`, for instance with `toClock`.-class (GObject o, O.IsDescendantOf Clock o) => IsClock o-instance (GObject o, O.IsDescendantOf Clock o) => IsClock o--instance O.HasParentTypes Clock-type instance O.ParentTypes Clock = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Clock`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toClock :: (MonadIO m, IsClock o) => o -> m Clock-toClock = liftIO . unsafeCastTo Clock---- | A convenience alias for `Nothing` :: `Maybe` `Clock`.-noClock :: Maybe Clock-noClock = Nothing--#if ENABLE_OVERLOADING-type family ResolveClockMethod (t :: Symbol) (o :: *) :: * where-    ResolveClockMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveClockMethod "addObservation" o = ClockAddObservationMethodInfo-    ResolveClockMethod "addObservationUnapplied" o = ClockAddObservationUnappliedMethodInfo-    ResolveClockMethod "adjustUnlocked" o = ClockAdjustUnlockedMethodInfo-    ResolveClockMethod "adjustWithCalibration" o = ClockAdjustWithCalibrationMethodInfo-    ResolveClockMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveClockMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveClockMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveClockMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveClockMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveClockMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveClockMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveClockMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveClockMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveClockMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveClockMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveClockMethod "isSynced" o = ClockIsSyncedMethodInfo-    ResolveClockMethod "newPeriodicId" o = ClockNewPeriodicIdMethodInfo-    ResolveClockMethod "newSingleShotId" o = ClockNewSingleShotIdMethodInfo-    ResolveClockMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveClockMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveClockMethod "periodicIdReinit" o = ClockPeriodicIdReinitMethodInfo-    ResolveClockMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveClockMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveClockMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveClockMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveClockMethod "singleShotIdReinit" o = ClockSingleShotIdReinitMethodInfo-    ResolveClockMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveClockMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveClockMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveClockMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveClockMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveClockMethod "unadjustUnlocked" o = ClockUnadjustUnlockedMethodInfo-    ResolveClockMethod "unadjustWithCalibration" o = ClockUnadjustWithCalibrationMethodInfo-    ResolveClockMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveClockMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveClockMethod "waitForSync" o = ClockWaitForSyncMethodInfo-    ResolveClockMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveClockMethod "getCalibration" o = ClockGetCalibrationMethodInfo-    ResolveClockMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveClockMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveClockMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveClockMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveClockMethod "getInternalTime" o = ClockGetInternalTimeMethodInfo-    ResolveClockMethod "getMaster" o = ClockGetMasterMethodInfo-    ResolveClockMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveClockMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveClockMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveClockMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveClockMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveClockMethod "getResolution" o = ClockGetResolutionMethodInfo-    ResolveClockMethod "getTime" o = ClockGetTimeMethodInfo-    ResolveClockMethod "getTimeout" o = ClockGetTimeoutMethodInfo-    ResolveClockMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveClockMethod "setCalibration" o = ClockSetCalibrationMethodInfo-    ResolveClockMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveClockMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveClockMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveClockMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveClockMethod "setMaster" o = ClockSetMasterMethodInfo-    ResolveClockMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveClockMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveClockMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveClockMethod "setResolution" o = ClockSetResolutionMethodInfo-    ResolveClockMethod "setSynced" o = ClockSetSyncedMethodInfo-    ResolveClockMethod "setTimeout" o = ClockSetTimeoutMethodInfo-    ResolveClockMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveClockMethod t Clock, O.MethodInfo info Clock p) => OL.IsLabel t (Clock -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal Clock::synced-{- |-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.--/Since: 1.6/--}-type ClockSyncedCallback =-    Bool-    {- ^ /@synced@/: if the clock is synced now -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ClockSyncedCallback`@.-noClockSyncedCallback :: Maybe ClockSyncedCallback-noClockSyncedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_ClockSyncedCallback =-    Ptr () ->                               -- object-    CInt ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_ClockSyncedCallback`.-foreign import ccall "wrapper"-    mk_ClockSyncedCallback :: C_ClockSyncedCallback -> IO (FunPtr C_ClockSyncedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_ClockSynced :: MonadIO m => ClockSyncedCallback -> m (GClosure C_ClockSyncedCallback)-genClosure_ClockSynced cb = liftIO $ do-    let cb' = wrap_ClockSyncedCallback cb-    mk_ClockSyncedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `ClockSyncedCallback` into a `C_ClockSyncedCallback`.-wrap_ClockSyncedCallback ::-    ClockSyncedCallback ->-    C_ClockSyncedCallback-wrap_ClockSyncedCallback _cb _ synced _ = do-    let synced' = (/= 0) synced-    _cb  synced'---{- |-Connect a signal handler for the “@synced@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' clock #synced callback-@--}-onClockSynced :: (IsClock a, MonadIO m) => a -> ClockSyncedCallback -> m SignalHandlerId-onClockSynced obj cb = liftIO $ do-    let cb' = wrap_ClockSyncedCallback cb-    cb'' <- mk_ClockSyncedCallback cb'-    connectSignalFunPtr obj "synced" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@synced@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' clock #synced callback-@--}-afterClockSynced :: (IsClock a, MonadIO m) => a -> ClockSyncedCallback -> m SignalHandlerId-afterClockSynced obj cb = liftIO $ do-    let cb' = wrap_ClockSyncedCallback cb-    cb'' <- mk_ClockSyncedCallback cb'-    connectSignalFunPtr obj "synced" cb'' SignalConnectAfter----- VVV Prop "timeout"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@timeout@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clock #timeout-@--}-getClockTimeout :: (MonadIO m, IsClock o) => o -> m Word64-getClockTimeout obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "timeout"--{- |-Set the value of the “@timeout@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clock [ #timeout 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockTimeout :: (MonadIO m, IsClock o) => o -> Word64 -> m ()-setClockTimeout obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "timeout" val--{- |-Construct a `GValueConstruct` with valid value for the “@timeout@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructClockTimeout :: (IsClock o) => Word64 -> IO (GValueConstruct o)-constructClockTimeout val = B.Properties.constructObjectPropertyUInt64 "timeout" val--#if ENABLE_OVERLOADING-data ClockTimeoutPropertyInfo-instance AttrInfo ClockTimeoutPropertyInfo where-    type AttrAllowedOps ClockTimeoutPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint ClockTimeoutPropertyInfo = (~) Word64-    type AttrBaseTypeConstraint ClockTimeoutPropertyInfo = IsClock-    type AttrGetType ClockTimeoutPropertyInfo = Word64-    type AttrLabel ClockTimeoutPropertyInfo = "timeout"-    type AttrOrigin ClockTimeoutPropertyInfo = Clock-    attrGet _ = getClockTimeout-    attrSet _ = setClockTimeout-    attrConstruct _ = constructClockTimeout-    attrClear _ = undefined-#endif---- VVV Prop "window-size"-   -- Type: TBasicType TInt-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@window-size@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clock #windowSize-@--}-getClockWindowSize :: (MonadIO m, IsClock o) => o -> m Int32-getClockWindowSize obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "window-size"--{- |-Set the value of the “@window-size@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clock [ #windowSize 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockWindowSize :: (MonadIO m, IsClock o) => o -> Int32 -> m ()-setClockWindowSize obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "window-size" val--{- |-Construct a `GValueConstruct` with valid value for the “@window-size@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructClockWindowSize :: (IsClock o) => Int32 -> IO (GValueConstruct o)-constructClockWindowSize val = B.Properties.constructObjectPropertyInt32 "window-size" val--#if ENABLE_OVERLOADING-data ClockWindowSizePropertyInfo-instance AttrInfo ClockWindowSizePropertyInfo where-    type AttrAllowedOps ClockWindowSizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint ClockWindowSizePropertyInfo = (~) Int32-    type AttrBaseTypeConstraint ClockWindowSizePropertyInfo = IsClock-    type AttrGetType ClockWindowSizePropertyInfo = Int32-    type AttrLabel ClockWindowSizePropertyInfo = "window-size"-    type AttrOrigin ClockWindowSizePropertyInfo = Clock-    attrGet _ = getClockWindowSize-    attrSet _ = setClockWindowSize-    attrConstruct _ = constructClockWindowSize-    attrClear _ = undefined-#endif---- VVV Prop "window-threshold"-   -- Type: TBasicType TInt-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@window-threshold@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clock #windowThreshold-@--}-getClockWindowThreshold :: (MonadIO m, IsClock o) => o -> m Int32-getClockWindowThreshold obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "window-threshold"--{- |-Set the value of the “@window-threshold@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clock [ #windowThreshold 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockWindowThreshold :: (MonadIO m, IsClock o) => o -> Int32 -> m ()-setClockWindowThreshold obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "window-threshold" val--{- |-Construct a `GValueConstruct` with valid value for the “@window-threshold@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructClockWindowThreshold :: (IsClock o) => Int32 -> IO (GValueConstruct o)-constructClockWindowThreshold val = B.Properties.constructObjectPropertyInt32 "window-threshold" val--#if ENABLE_OVERLOADING-data ClockWindowThresholdPropertyInfo-instance AttrInfo ClockWindowThresholdPropertyInfo where-    type AttrAllowedOps ClockWindowThresholdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint ClockWindowThresholdPropertyInfo = (~) Int32-    type AttrBaseTypeConstraint ClockWindowThresholdPropertyInfo = IsClock-    type AttrGetType ClockWindowThresholdPropertyInfo = Int32-    type AttrLabel ClockWindowThresholdPropertyInfo = "window-threshold"-    type AttrOrigin ClockWindowThresholdPropertyInfo = Clock-    attrGet _ = getClockWindowThreshold-    attrSet _ = setClockWindowThreshold-    attrConstruct _ = constructClockWindowThreshold-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Clock-type instance O.AttributeList Clock = ClockAttributeList-type ClockAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("timeout", ClockTimeoutPropertyInfo), '("windowSize", ClockWindowSizePropertyInfo), '("windowThreshold", ClockWindowThresholdPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-clockTimeout :: AttrLabelProxy "timeout"-clockTimeout = AttrLabelProxy--clockWindowSize :: AttrLabelProxy "windowSize"-clockWindowSize = AttrLabelProxy--clockWindowThreshold :: AttrLabelProxy "windowThreshold"-clockWindowThreshold = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-data ClockSyncedSignalInfo-instance SignalInfo ClockSyncedSignalInfo where-    type HaskellCallbackType ClockSyncedSignalInfo = ClockSyncedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_ClockSyncedCallback cb-        cb'' <- mk_ClockSyncedCallback cb'-        connectSignalFunPtr obj "synced" cb'' connectMode--type instance O.SignalList Clock = ClockSignalList-type ClockSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("synced", ClockSyncedSignalInfo)] :: [(Symbol, *)])--#endif---- method Clock::add_observation--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "slave", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a time on the slave", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "master", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a time on the master", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "r_squared", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_add_observation" gst_clock_add_observation :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- slave : TBasicType TUInt64-    Word64 ->                               -- master : TBasicType TUInt64-    Ptr CDouble ->                          -- r_squared : TBasicType TDouble-    IO CInt--{- |-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', /@rSquared@/ 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.--}-clockAddObservation ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> Word64-    {- ^ /@slave@/: a time on the slave -}-    -> Word64-    {- ^ /@master@/: a time on the master -}-    -> m ((Bool, Double))-    {- ^ __Returns:__ 'True' if enough observations were added to run the-regression algorithm.--MT safe. -}-clockAddObservation clock slave master = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    rSquared <- allocMem :: IO (Ptr CDouble)-    result <- gst_clock_add_observation clock' slave master rSquared-    let result' = (/= 0) result-    rSquared' <- peek rSquared-    let rSquared'' = realToFrac rSquared'-    touchManagedPtr clock-    freeMem rSquared-    return (result', rSquared'')--#if ENABLE_OVERLOADING-data ClockAddObservationMethodInfo-instance (signature ~ (Word64 -> Word64 -> m ((Bool, Double))), MonadIO m, IsClock a) => O.MethodInfo ClockAddObservationMethodInfo a signature where-    overloadedMethod _ = clockAddObservation--#endif---- method Clock::add_observation_unapplied--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "slave", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a time on the slave", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "master", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a time on the master", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "r_squared", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "internal", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the internal time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "external", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the external time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "rate_num", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the rate numerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "rate_denom", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the rate denominator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_add_observation_unapplied" gst_clock_add_observation_unapplied :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- slave : TBasicType TUInt64-    Word64 ->                               -- master : TBasicType TUInt64-    Ptr CDouble ->                          -- r_squared : TBasicType TDouble-    Ptr Word64 ->                           -- internal : TBasicType TUInt64-    Ptr Word64 ->                           -- external : TBasicType TUInt64-    Ptr Word64 ->                           -- rate_num : TBasicType TUInt64-    Ptr Word64 ->                           -- rate_denom : TBasicType TUInt64-    IO CInt--{- |-Add a clock observation to the internal slaving algorithm the same as-'GI.Gst.Objects.Clock.clockAddObservation', and return the result of the master clock-estimation, without updating the internal calibration.--The caller can then take the results and call 'GI.Gst.Objects.Clock.clockSetCalibration'-with the values, or some modified version of them.--/Since: 1.6/--}-clockAddObservationUnapplied ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> Word64-    {- ^ /@slave@/: a time on the slave -}-    -> Word64-    {- ^ /@master@/: a time on the master -}-    -> m ((Bool, Double, Word64, Word64, Word64, Word64))-clockAddObservationUnapplied clock slave master = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    rSquared <- allocMem :: IO (Ptr CDouble)-    internal <- allocMem :: IO (Ptr Word64)-    external <- allocMem :: IO (Ptr Word64)-    rateNum <- allocMem :: IO (Ptr Word64)-    rateDenom <- allocMem :: IO (Ptr Word64)-    result <- gst_clock_add_observation_unapplied clock' slave master rSquared internal external rateNum rateDenom-    let result' = (/= 0) result-    rSquared' <- peek rSquared-    let rSquared'' = realToFrac rSquared'-    internal' <- peek internal-    external' <- peek external-    rateNum' <- peek rateNum-    rateDenom' <- peek rateDenom-    touchManagedPtr clock-    freeMem rSquared-    freeMem internal-    freeMem external-    freeMem rateNum-    freeMem rateDenom-    return (result', rSquared'', internal', external', rateNum', rateDenom')--#if ENABLE_OVERLOADING-data ClockAddObservationUnappliedMethodInfo-instance (signature ~ (Word64 -> Word64 -> m ((Bool, Double, Word64, Word64, Word64, Word64))), MonadIO m, IsClock a) => O.MethodInfo ClockAddObservationUnappliedMethodInfo a signature where-    overloadedMethod _ = clockAddObservationUnapplied--#endif---- method Clock::adjust_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "internal", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a clock time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_adjust_unlocked" gst_clock_adjust_unlocked :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- internal : TBasicType TUInt64-    IO Word64--{- |-Converts the given /@internal@/ clock time to the external time, adjusting for the-rate and reference time set with 'GI.Gst.Objects.Clock.clockSetCalibration' 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 'GI.Gst.Objects.Clock.clockUnadjustUnlocked'.--}-clockAdjustUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' to use -}-    -> Word64-    {- ^ /@internal@/: a clock time -}-    -> m Word64-    {- ^ __Returns:__ the converted time of the clock. -}-clockAdjustUnlocked clock internal = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_adjust_unlocked clock' internal-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockAdjustUnlockedMethodInfo-instance (signature ~ (Word64 -> m Word64), MonadIO m, IsClock a) => O.MethodInfo ClockAdjustUnlockedMethodInfo a signature where-    overloadedMethod _ = clockAdjustUnlocked--#endif---- method Clock::adjust_with_calibration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "internal_target", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a clock time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cinternal", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a reference internal time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cexternal", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a reference external time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cnum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numerator of the rate of the clock relative to its\n       internal time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cdenom", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the denominator of the rate of the clock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_adjust_with_calibration" gst_clock_adjust_with_calibration :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- internal_target : TBasicType TUInt64-    Word64 ->                               -- cinternal : TBasicType TUInt64-    Word64 ->                               -- cexternal : TBasicType TUInt64-    Word64 ->                               -- cnum : TBasicType TUInt64-    Word64 ->                               -- cdenom : TBasicType TUInt64-    IO Word64--{- |-Converts the given /@internalTarget@/ clock time to the external time,-using the passed calibration parameters. This function performs the-same calculation as 'GI.Gst.Objects.Clock.clockAdjustUnlocked' when called using the-current calibration parameters, but doesn\'t ensure a monotonically-increasing result as 'GI.Gst.Objects.Clock.clockAdjustUnlocked' does.--Note: The /@clock@/ parameter is unused and can be NULL--/Since: 1.6/--}-clockAdjustWithCalibration ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' to use -}-    -> Word64-    {- ^ /@internalTarget@/: a clock time -}-    -> Word64-    {- ^ /@cinternal@/: a reference internal time -}-    -> Word64-    {- ^ /@cexternal@/: a reference external time -}-    -> Word64-    {- ^ /@cnum@/: the numerator of the rate of the clock relative to its-       internal time -}-    -> Word64-    {- ^ /@cdenom@/: the denominator of the rate of the clock -}-    -> m Word64-    {- ^ __Returns:__ the converted time of the clock. -}-clockAdjustWithCalibration clock internalTarget cinternal cexternal cnum cdenom = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_adjust_with_calibration clock' internalTarget cinternal cexternal cnum cdenom-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockAdjustWithCalibrationMethodInfo-instance (signature ~ (Word64 -> Word64 -> Word64 -> Word64 -> Word64 -> m Word64), MonadIO m, IsClock a) => O.MethodInfo ClockAdjustWithCalibrationMethodInfo a signature where-    overloadedMethod _ = clockAdjustWithCalibration--#endif---- method Clock::get_calibration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "internal", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the internal time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "external", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the external time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "rate_num", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the rate numerator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "rate_denom", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to store the rate denominator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_clock_get_calibration" gst_clock_get_calibration :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Ptr Word64 ->                           -- internal : TBasicType TUInt64-    Ptr Word64 ->                           -- external : TBasicType TUInt64-    Ptr Word64 ->                           -- rate_num : TBasicType TUInt64-    Ptr Word64 ->                           -- rate_denom : TBasicType TUInt64-    IO ()--{- |-Gets the internal rate and reference time of /@clock@/. See-'GI.Gst.Objects.Clock.clockSetCalibration' for more information.--/@internal@/, /@external@/, /@rateNum@/, and /@rateDenom@/ can be left 'Nothing' if the-caller is not interested in the values.--MT safe.--}-clockGetCalibration ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> m ((Word64, Word64, Word64, Word64))-clockGetCalibration clock = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    internal <- allocMem :: IO (Ptr Word64)-    external <- allocMem :: IO (Ptr Word64)-    rateNum <- allocMem :: IO (Ptr Word64)-    rateDenom <- allocMem :: IO (Ptr Word64)-    gst_clock_get_calibration clock' internal external rateNum rateDenom-    internal' <- peek internal-    external' <- peek external-    rateNum' <- peek rateNum-    rateDenom' <- peek rateDenom-    touchManagedPtr clock-    freeMem internal-    freeMem external-    freeMem rateNum-    freeMem rateDenom-    return (internal', external', rateNum', rateDenom')--#if ENABLE_OVERLOADING-data ClockGetCalibrationMethodInfo-instance (signature ~ (m ((Word64, Word64, Word64, Word64))), MonadIO m, IsClock a) => O.MethodInfo ClockGetCalibrationMethodInfo a signature where-    overloadedMethod _ = clockGetCalibration--#endif---- method Clock::get_internal_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_get_internal_time" gst_clock_get_internal_time :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO Word64--{- |-Gets the current internal time of the given clock. The time is returned-unadjusted for the offset and the rate.--}-clockGetInternalTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' to query -}-    -> m Word64-    {- ^ __Returns:__ the internal time of the clock. Or GST_CLOCK_TIME_NONE when-given invalid input.--MT safe. -}-clockGetInternalTime clock = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_get_internal_time clock'-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockGetInternalTimeMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsClock a) => O.MethodInfo ClockGetInternalTimeMethodInfo a signature where-    overloadedMethod _ = clockGetInternalTime--#endif---- method Clock::get_master--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Clock"}))--- throws : False--- Skip return : False--foreign import ccall "gst_clock_get_master" gst_clock_get_master :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO (Ptr Clock)--{- |-Get the master clock that /@clock@/ is slaved to or 'Nothing' when the clock is-not slaved to any master clock.--}-clockGetMaster ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> m (Maybe Clock)-    {- ^ __Returns:__ a master 'GI.Gst.Objects.Clock.Clock' or 'Nothing'-    when this clock is not slaved to a master clock. Unref after-    usage.--MT safe. -}-clockGetMaster clock = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_get_master clock'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Clock) result'-        return result''-    touchManagedPtr clock-    return maybeResult--#if ENABLE_OVERLOADING-data ClockGetMasterMethodInfo-instance (signature ~ (m (Maybe Clock)), MonadIO m, IsClock a) => O.MethodInfo ClockGetMasterMethodInfo a signature where-    overloadedMethod _ = clockGetMaster--#endif---- method Clock::get_resolution--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_get_resolution" gst_clock_get_resolution :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO Word64--{- |-Get the accuracy of the clock. The accuracy of the clock is the granularity-of the values returned by 'GI.Gst.Objects.Clock.clockGetTime'.--}-clockGetResolution ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> m Word64-    {- ^ __Returns:__ the resolution of the clock in units of @/GstClockTime/@.--MT safe. -}-clockGetResolution clock = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_get_resolution clock'-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockGetResolutionMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsClock a) => O.MethodInfo ClockGetResolutionMethodInfo a signature where-    overloadedMethod _ = clockGetResolution--#endif---- method Clock::get_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_get_time" gst_clock_get_time :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO Word64--{- |-Gets the current time of the given clock. The time is always-monotonically increasing and adjusted according to the current-offset and rate.--}-clockGetTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' to query -}-    -> m Word64-    {- ^ __Returns:__ the time of the clock. Or GST_CLOCK_TIME_NONE when-given invalid input.--MT safe. -}-clockGetTime clock = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_get_time clock'-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockGetTimeMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsClock a) => O.MethodInfo ClockGetTimeMethodInfo a signature where-    overloadedMethod _ = clockGetTime--#endif---- method Clock::get_timeout--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_get_timeout" gst_clock_get_timeout :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO Word64--{- |-Get the amount of time that master and slave clocks are sampled.--}-clockGetTimeout ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> m Word64-    {- ^ __Returns:__ the interval between samples. -}-clockGetTimeout clock = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_get_timeout clock'-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockGetTimeoutMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsClock a) => O.MethodInfo ClockGetTimeoutMethodInfo a signature where-    overloadedMethod _ = clockGetTimeout--#endif---- method Clock::is_synced--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_is_synced" gst_clock_is_synced :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO CInt--{- |-Checks if the clock is currently synced.--This returns if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is not set on the clock.--/Since: 1.6/--}-clockIsSynced ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a GstClock -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the clock is currently synced -}-clockIsSynced clock = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_is_synced clock'-    let result' = (/= 0) result-    touchManagedPtr clock-    return result'--#if ENABLE_OVERLOADING-data ClockIsSyncedMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsClock a) => O.MethodInfo ClockIsSyncedMethodInfo a signature where-    overloadedMethod _ = clockIsSynced--#endif---- method Clock::new_periodic_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstClockID to get a periodic notification id from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested start time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_new_periodic_id" gst_clock_new_periodic_id :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- start_time : TBasicType TUInt64-    Word64 ->                               -- interval : TBasicType TUInt64-    IO (Ptr ())--{- |-Get an ID from /@clock@/ to trigger a periodic notification.-The periodic notifications will start at time /@startTime@/ and-will then be fired with the given /@interval@/. /@id@/ should be unreffed-after usage.--Free-function: gst_clock_id_unref--}-clockNewPeriodicId ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: The @/GstClockID/@ to get a periodic notification id from -}-    -> Word64-    {- ^ /@startTime@/: the requested start time -}-    -> Word64-    {- ^ /@interval@/: the requested interval -}-    -> m (Ptr ())-    {- ^ __Returns:__ a @/GstClockID/@ that can be used to request the-    time notification.--MT safe. -}-clockNewPeriodicId clock startTime interval = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_new_periodic_id clock' startTime interval-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockNewPeriodicIdMethodInfo-instance (signature ~ (Word64 -> Word64 -> m (Ptr ())), MonadIO m, IsClock a) => O.MethodInfo ClockNewPeriodicIdMethodInfo a signature where-    overloadedMethod _ = clockNewPeriodicId--#endif---- method Clock::new_single_shot_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstClockID to get a single shot notification from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_new_single_shot_id" gst_clock_new_single_shot_id :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- time : TBasicType TUInt64-    IO (Ptr ())--{- |-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--}-clockNewSingleShotId ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: The @/GstClockID/@ to get a single shot notification from -}-    -> Word64-    {- ^ /@time@/: the requested time -}-    -> m (Ptr ())-    {- ^ __Returns:__ a @/GstClockID/@ that can be used to request the-    time notification.--MT safe. -}-clockNewSingleShotId clock time = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_new_single_shot_id clock' time-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockNewSingleShotIdMethodInfo-instance (signature ~ (Word64 -> m (Ptr ())), MonadIO m, IsClock a) => O.MethodInfo ClockNewSingleShotIdMethodInfo a signature where-    overloadedMethod _ = clockNewSingleShotId--#endif---- method Clock::periodic_id_reinit--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClockID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested start time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_periodic_id_reinit" gst_clock_periodic_id_reinit :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Ptr () ->                               -- id : TBasicType TPtr-    Word64 ->                               -- start_time : TBasicType TUInt64-    Word64 ->                               -- interval : TBasicType TUInt64-    IO CInt--{- |-Reinitializes the provided periodic /@id@/ to the provided start time and-interval. Does not modify the reference count.--}-clockPeriodicIdReinit ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> Ptr ()-    {- ^ /@id@/: a @/GstClockID/@ -}-    -> Word64-    {- ^ /@startTime@/: the requested start time -}-    -> Word64-    {- ^ /@interval@/: the requested interval -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the GstClockID could be reinitialized to the provided-/@time@/, else 'False'. -}-clockPeriodicIdReinit clock id startTime interval = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_periodic_id_reinit clock' id startTime interval-    let result' = (/= 0) result-    touchManagedPtr clock-    return result'--#if ENABLE_OVERLOADING-data ClockPeriodicIdReinitMethodInfo-instance (signature ~ (Ptr () -> Word64 -> Word64 -> m Bool), MonadIO m, IsClock a) => O.MethodInfo ClockPeriodicIdReinitMethodInfo a signature where-    overloadedMethod _ = clockPeriodicIdReinit--#endif---- method Clock::set_calibration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock to calibrate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "internal", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a reference internal time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "external", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a reference external time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate_num", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numerator of the rate of the clock relative to its\n           internal time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate_denom", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the denominator of the rate of the clock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_clock_set_calibration" gst_clock_set_calibration :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- internal : TBasicType TUInt64-    Word64 ->                               -- external : TBasicType TUInt64-    Word64 ->                               -- rate_num : TBasicType TUInt64-    Word64 ->                               -- rate_denom : TBasicType TUInt64-    IO ()--{- |-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-'GI.Gst.Objects.Clock.clockGetTime' 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 'GI.Gst.Objects.Clock.clockGetInternalTime' when this function is called.--Subsequent calls to 'GI.Gst.Objects.Clock.clockGetTime' will return clock times computed as-follows:-->->  time = (internal_time - internal) * rate_num / rate_denom + external---This formula is implemented in 'GI.Gst.Objects.Clock.clockAdjustUnlocked'. Of course, it-tries to do the integer arithmetic as precisely as possible.--Note that 'GI.Gst.Objects.Clock.clockGetTime' always returns increasing values so when you-move the clock backwards, 'GI.Gst.Objects.Clock.clockGetTime' will report the previous value-until the clock catches up.--MT safe.--}-clockSetCalibration ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' to calibrate -}-    -> Word64-    {- ^ /@internal@/: a reference internal time -}-    -> Word64-    {- ^ /@external@/: a reference external time -}-    -> Word64-    {- ^ /@rateNum@/: the numerator of the rate of the clock relative to its-           internal time -}-    -> Word64-    {- ^ /@rateDenom@/: the denominator of the rate of the clock -}-    -> m ()-clockSetCalibration clock internal external rateNum rateDenom = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    gst_clock_set_calibration clock' internal external rateNum rateDenom-    touchManagedPtr clock-    return ()--#if ENABLE_OVERLOADING-data ClockSetCalibrationMethodInfo-instance (signature ~ (Word64 -> Word64 -> Word64 -> Word64 -> m ()), MonadIO m, IsClock a) => O.MethodInfo ClockSetCalibrationMethodInfo a signature where-    overloadedMethod _ = clockSetCalibration--#endif---- method Clock::set_master--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "master", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a master #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_set_master" gst_clock_set_master :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Ptr Clock ->                            -- master : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO CInt--{- |-Set /@master@/ as the master clock for /@clock@/. /@clock@/ will be automatically-calibrated so that 'GI.Gst.Objects.Clock.clockGetTime' 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 'GI.Gst.Objects.Clock.clockGetCalibration'.--/@master@/ can be 'Nothing' 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.--}-clockSetMaster ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a, IsClock b) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> Maybe (b)-    {- ^ /@master@/: a master 'GI.Gst.Objects.Clock.Clock' -}-    -> m Bool-    {- ^ __Returns:__ '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. -}-clockSetMaster clock master = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    maybeMaster <- case master of-        Nothing -> return nullPtr-        Just jMaster -> do-            jMaster' <- unsafeManagedPtrCastPtr jMaster-            return jMaster'-    result <- gst_clock_set_master clock' maybeMaster-    let result' = (/= 0) result-    touchManagedPtr clock-    whenJust master touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-data ClockSetMasterMethodInfo-instance (signature ~ (Maybe (b) -> m Bool), MonadIO m, IsClock a, IsClock b) => O.MethodInfo ClockSetMasterMethodInfo a signature where-    overloadedMethod _ = clockSetMaster--#endif---- method Clock::set_resolution--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "resolution", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The resolution to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_set_resolution" gst_clock_set_resolution :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- resolution : TBasicType TUInt64-    IO Word64--{- |-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.--}-clockSetResolution ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> Word64-    {- ^ /@resolution@/: The resolution to set -}-    -> m Word64-    {- ^ __Returns:__ the new resolution of the clock. -}-clockSetResolution clock resolution = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_set_resolution clock' resolution-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockSetResolutionMethodInfo-instance (signature ~ (Word64 -> m Word64), MonadIO m, IsClock a) => O.MethodInfo ClockSetResolutionMethodInfo a signature where-    overloadedMethod _ = clockSetResolution--#endif---- method Clock::set_synced--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "synced", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if the clock is synced", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_clock_set_synced" gst_clock_set_synced :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    CInt ->                                 -- synced : TBasicType TBoolean-    IO ()--{- |-Sets /@clock@/ to synced and emits the GstClock::synced signal, and wakes up any-thread waiting in 'GI.Gst.Objects.Clock.clockWaitForSync'.--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.--/Since: 1.6/--}-clockSetSynced ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a GstClock -}-    -> Bool-    {- ^ /@synced@/: if the clock is synced -}-    -> m ()-clockSetSynced clock synced = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    let synced' = (fromIntegral . fromEnum) synced-    gst_clock_set_synced clock' synced'-    touchManagedPtr clock-    return ()--#if ENABLE_OVERLOADING-data ClockSetSyncedMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsClock a) => O.MethodInfo ClockSetSyncedMethodInfo a signature where-    overloadedMethod _ = clockSetSynced--#endif---- method Clock::set_timeout--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timeout", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_clock_set_timeout" gst_clock_set_timeout :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- timeout : TBasicType TUInt64-    IO ()--{- |-Set the amount of time, in nanoseconds, to sample master and slave-clocks--}-clockSetTimeout ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> Word64-    {- ^ /@timeout@/: a timeout -}-    -> m ()-clockSetTimeout clock timeout = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    gst_clock_set_timeout clock' timeout-    touchManagedPtr clock-    return ()--#if ENABLE_OVERLOADING-data ClockSetTimeoutMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsClock a) => O.MethodInfo ClockSetTimeoutMethodInfo a signature where-    overloadedMethod _ = clockSetTimeout--#endif---- method Clock::single_shot_id_reinit--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClockID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The requested time.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_single_shot_id_reinit" gst_clock_single_shot_id_reinit :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Ptr () ->                               -- id : TBasicType TPtr-    Word64 ->                               -- time : TBasicType TUInt64-    IO CInt--{- |-Reinitializes the provided single shot /@id@/ to the provided time. Does not-modify the reference count.--}-clockSingleShotIdReinit ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> Ptr ()-    {- ^ /@id@/: a @/GstClockID/@ -}-    -> Word64-    {- ^ /@time@/: The requested time. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the GstClockID could be reinitialized to the provided-/@time@/, else 'False'. -}-clockSingleShotIdReinit clock id time = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_single_shot_id_reinit clock' id time-    let result' = (/= 0) result-    touchManagedPtr clock-    return result'--#if ENABLE_OVERLOADING-data ClockSingleShotIdReinitMethodInfo-instance (signature ~ (Ptr () -> Word64 -> m Bool), MonadIO m, IsClock a) => O.MethodInfo ClockSingleShotIdReinitMethodInfo a signature where-    overloadedMethod _ = clockSingleShotIdReinit--#endif---- method Clock::unadjust_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "external", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an external clock time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_unadjust_unlocked" gst_clock_unadjust_unlocked :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- external : TBasicType TUInt64-    IO Word64--{- |-Converts the given /@external@/ clock time to the internal time of /@clock@/,-using the rate and reference time set with 'GI.Gst.Objects.Clock.clockSetCalibration'.-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 'GI.Gst.Objects.Clock.clockAdjustUnlocked'.--}-clockUnadjustUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' to use -}-    -> Word64-    {- ^ /@external@/: an external clock time -}-    -> m Word64-    {- ^ __Returns:__ the internal time of the clock corresponding to /@external@/. -}-clockUnadjustUnlocked clock external = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_unadjust_unlocked clock' external-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockUnadjustUnlockedMethodInfo-instance (signature ~ (Word64 -> m Word64), MonadIO m, IsClock a) => O.MethodInfo ClockUnadjustUnlockedMethodInfo a signature where-    overloadedMethod _ = clockUnadjustUnlocked--#endif---- method Clock::unadjust_with_calibration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "external_target", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a clock time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cinternal", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a reference internal time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cexternal", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a reference external time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cnum", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the numerator of the rate of the clock relative to its\n       internal time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cdenom", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the denominator of the rate of the clock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_unadjust_with_calibration" gst_clock_unadjust_with_calibration :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- external_target : TBasicType TUInt64-    Word64 ->                               -- cinternal : TBasicType TUInt64-    Word64 ->                               -- cexternal : TBasicType TUInt64-    Word64 ->                               -- cnum : TBasicType TUInt64-    Word64 ->                               -- cdenom : TBasicType TUInt64-    IO Word64--{- |-Converts the given /@externalTarget@/ clock time to the internal time,-using the passed calibration parameters. This function performs the-same calculation as 'GI.Gst.Objects.Clock.clockUnadjustUnlocked' when called using the-current calibration parameters.--Note: The /@clock@/ parameter is unused and can be NULL--/Since: 1.8/--}-clockUnadjustWithCalibration ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' to use -}-    -> Word64-    {- ^ /@externalTarget@/: a clock time -}-    -> Word64-    {- ^ /@cinternal@/: a reference internal time -}-    -> Word64-    {- ^ /@cexternal@/: a reference external time -}-    -> Word64-    {- ^ /@cnum@/: the numerator of the rate of the clock relative to its-       internal time -}-    -> Word64-    {- ^ /@cdenom@/: the denominator of the rate of the clock -}-    -> m Word64-    {- ^ __Returns:__ the converted time of the clock. -}-clockUnadjustWithCalibration clock externalTarget cinternal cexternal cnum cdenom = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_unadjust_with_calibration clock' externalTarget cinternal cexternal cnum cdenom-    touchManagedPtr clock-    return result--#if ENABLE_OVERLOADING-data ClockUnadjustWithCalibrationMethodInfo-instance (signature ~ (Word64 -> Word64 -> Word64 -> Word64 -> Word64 -> m Word64), MonadIO m, IsClock a) => O.MethodInfo ClockUnadjustWithCalibrationMethodInfo a signature where-    overloadedMethod _ = clockUnadjustWithCalibration--#endif---- method Clock::wait_for_sync--- method type : OrdinaryMethod--- Args : [Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timeout for waiting or %GST_CLOCK_TIME_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_wait_for_sync" gst_clock_wait_for_sync :: -    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Word64 ->                               -- timeout : TBasicType TUInt64-    IO CInt--{- |-Waits until /@clock@/ is synced for reporting the current time. If /@timeout@/-is 'GI.Gst.Constants.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.--/Since: 1.6/--}-clockWaitForSync ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    a-    {- ^ /@clock@/: a GstClock -}-    -> Word64-    {- ^ /@timeout@/: timeout for waiting or 'GI.Gst.Constants.CLOCK_TIME_NONE' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if waiting was successful, or 'False' on timeout -}-clockWaitForSync clock timeout = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_wait_for_sync clock' timeout-    let result' = (/= 0) result-    touchManagedPtr clock-    return result'--#if ENABLE_OVERLOADING-data ClockWaitForSyncMethodInfo-instance (signature ~ (Word64 -> m Bool), MonadIO m, IsClock a) => O.MethodInfo ClockWaitForSyncMethodInfo a signature where-    overloadedMethod _ = clockWaitForSync--#endif---- method Clock::id_compare_func--- method type : MemberFunction--- Args : [Arg {argCName = "id1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GstClockID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GstClockID to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_id_compare_func" gst_clock_id_compare_func :: -    Ptr () ->                               -- id1 : TBasicType TPtr-    Ptr () ->                               -- id2 : TBasicType TPtr-    IO Int32--{- |-Compares the two @/GstClockID/@ instances. This function can be used-as a GCompareFunc when sorting ids.--}-clockIdCompareFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@id1@/: A @/GstClockID/@ -}-    -> Ptr ()-    {- ^ /@id2@/: A @/GstClockID/@ to compare with -}-    -> m Int32-    {- ^ __Returns:__ negative value if a \< b; zero if a = b; positive value if a > b--MT safe. -}-clockIdCompareFunc id1 id2 = liftIO $ do-    result <- gst_clock_id_compare_func id1 id2-    return result--#if ENABLE_OVERLOADING-#endif---- method Clock::id_get_clock--- method type : MemberFunction--- Args : [Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClockID", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Clock"}))--- throws : False--- Skip return : False--foreign import ccall "gst_clock_id_get_clock" gst_clock_id_get_clock :: -    Ptr () ->                               -- id : TBasicType TPtr-    IO (Ptr Clock)--{- |-This function returns the underlying clock.--/Since: 1.16/--}-clockIdGetClock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@id@/: a @/GstClockID/@ -}-    -> m (Maybe Clock)-    {- ^ __Returns:__ a 'GI.Gst.Objects.Clock.Clock' or 'Nothing' when the-    underlying clock has been freed.  Unref after usage.--MT safe. -}-clockIdGetClock id = liftIO $ do-    result <- gst_clock_id_get_clock id-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Clock) result'-        return result''-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Clock::id_get_time--- method type : MemberFunction--- Args : [Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstClockID to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_id_get_time" gst_clock_id_get_time :: -    Ptr () ->                               -- id : TBasicType TPtr-    IO Word64--{- |-Get the time of the clock ID--}-clockIdGetTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@id@/: The @/GstClockID/@ to query -}-    -> m Word64-    {- ^ __Returns:__ the time of the given clock id.--MT safe. -}-clockIdGetTime id = liftIO $ do-    result <- gst_clock_id_get_time id-    return result--#if ENABLE_OVERLOADING-#endif---- method Clock::id_ref--- method type : MemberFunction--- Args : [Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstClockID to ref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_id_ref" gst_clock_id_ref :: -    Ptr () ->                               -- id : TBasicType TPtr-    IO (Ptr ())--{- |-Increase the refcount of given /@id@/.--}-clockIdRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@id@/: The @/GstClockID/@ to ref -}-    -> m (Ptr ())-    {- ^ __Returns:__ The same @/GstClockID/@ with increased refcount.--MT safe. -}-clockIdRef id = liftIO $ do-    result <- gst_clock_id_ref id-    return result--#if ENABLE_OVERLOADING-#endif---- method Clock::id_unref--- method type : MemberFunction--- Args : [Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstClockID to unref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_clock_id_unref" gst_clock_id_unref :: -    Ptr () ->                               -- id : TBasicType TPtr-    IO ()--{- |-Unref given /@id@/. When the refcount reaches 0 the-@/GstClockID/@ will be freed.--MT safe.--}-clockIdUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@id@/: The @/GstClockID/@ to unref -}-    -> m ()-clockIdUnref id = liftIO $ do-    gst_clock_id_unref id-    return ()--#if ENABLE_OVERLOADING-#endif---- method Clock::id_unschedule--- method type : MemberFunction--- Args : [Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The id to unschedule", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_clock_id_unschedule" gst_clock_id_unschedule :: -    Ptr () ->                               -- id : TBasicType TPtr-    IO ()--{- |-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.--}-clockIdUnschedule ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@id@/: The id to unschedule -}-    -> m ()-clockIdUnschedule id = liftIO $ do-    gst_clock_id_unschedule id-    return ()--#if ENABLE_OVERLOADING-#endif---- method Clock::id_uses_clock--- method type : MemberFunction--- Args : [Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClockID to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClock to compare against", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_clock_id_uses_clock" gst_clock_id_uses_clock :: -    Ptr () ->                               -- id : TBasicType TPtr-    Ptr Clock ->                            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO CInt--{- |-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.--/Since: 1.16/--}-clockIdUsesClock ::-    (B.CallStack.HasCallStack, MonadIO m, IsClock a) =>-    Ptr ()-    {- ^ /@id@/: a @/GstClockID/@ to check -}-    -> a-    {- ^ /@clock@/: a 'GI.Gst.Objects.Clock.Clock' to compare against -}-    -> m Bool-    {- ^ __Returns:__ whether the clock /@id@/ uses the same underlying 'GI.Gst.Objects.Clock.Clock' /@clock@/.--MT safe. -}-clockIdUsesClock id clock = liftIO $ do-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_clock_id_uses_clock id clock'-    let result' = (/= 0) result-    touchManagedPtr clock-    return result'--#if ENABLE_OVERLOADING-#endif---- method Clock::id_wait--- method type : MemberFunction--- Args : [Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstClockID to wait on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "jitter", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer that will contain the jitter,\n    can be %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ClockReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_clock_id_wait" gst_clock_id_wait :: -    Ptr () ->                               -- id : TBasicType TPtr-    Ptr Int64 ->                            -- jitter : TBasicType TInt64-    IO CUInt--{- |-Perform a blocking wait on /@id@/.-/@id@/ should have been created with 'GI.Gst.Objects.Clock.clockNewSingleShotId'-or 'GI.Gst.Objects.Clock.clockNewPeriodicId' and should not have been unscheduled-with a call to 'GI.Gst.Objects.Clock.clockIdUnschedule'.--If the /@jitter@/ argument is not 'Nothing' 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.--}-clockIdWait ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@id@/: The @/GstClockID/@ to wait on -}-    -> m ((Gst.Enums.ClockReturn, Int64))-    {- ^ __Returns:__ 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 'GI.Gst.Objects.Clock.clockIdUnschedule'.--MT safe. -}-clockIdWait id = liftIO $ do-    jitter <- allocMem :: IO (Ptr Int64)-    result <- gst_clock_id_wait id jitter-    let result' = (toEnum . fromIntegral) result-    jitter' <- peek jitter-    freeMem jitter-    return (result', jitter')--#if ENABLE_OVERLOADING-#endif---- method Clock::id_wait_async--- method type : MemberFunction--- Args : [Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClockID to wait on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "ClockCallback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The callback function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data passed in the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_data", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GDestroyNotify for user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ClockReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_clock_id_wait_async" gst_clock_id_wait_async :: -    Ptr () ->                               -- id : TBasicType TPtr-    FunPtr Gst.Callbacks.C_ClockCallback -> -- func : TInterface (Name {namespace = "Gst", name = "ClockCallback"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy_data : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO CUInt--{- |-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.--}-clockIdWaitAsync ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@id@/: a @/GstClockID/@ to wait on -}-    -> Gst.Callbacks.ClockCallback-    {- ^ /@func@/: The callback function -}-    -> m Gst.Enums.ClockReturn-    {- ^ __Returns:__ the result of the non blocking wait.--MT safe. -}-clockIdWaitAsync id func = liftIO $ do-    func' <- Gst.Callbacks.mk_ClockCallback (Gst.Callbacks.wrap_ClockCallback Nothing (Gst.Callbacks.drop_closures_ClockCallback func))-    let userData = castFunPtrToPtr func'-    let destroyData = safeFreeFunPtrPtr-    result <- gst_clock_id_wait_async id func' userData destroyData-    let result' = (toEnum . fromIntegral) result-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/Clock.hs-boot
@@ -1,110 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Clock where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Clock = Clock (ManagedPtr Clock)-instance GObject Clock where-class (GObject o, O.IsDescendantOf Clock o) => IsClock o-instance (GObject o, O.IsDescendantOf Clock o) => IsClock o-instance O.HasParentTypes Clock-#if ENABLE_OVERLOADING-data ClockTimeoutPropertyInfo-#endif-#if ENABLE_OVERLOADING-data ClockWindowSizePropertyInfo-#endif-#if ENABLE_OVERLOADING-data ClockWindowThresholdPropertyInfo-#endif-#if ENABLE_OVERLOADING-data ClockSyncedSignalInfo-#endif-#if ENABLE_OVERLOADING-data ClockAddObservationMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockAddObservationUnappliedMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockAdjustUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockAdjustWithCalibrationMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockGetCalibrationMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockGetInternalTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockGetMasterMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockGetResolutionMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockGetTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockGetTimeoutMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockIsSyncedMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockNewPeriodicIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockNewSingleShotIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockPeriodicIdReinitMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockSetCalibrationMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockSetMasterMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockSetResolutionMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockSetSyncedMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockSetTimeoutMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockSingleShotIdReinitMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockUnadjustUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockUnadjustWithCalibrationMethodInfo-#endif-#if ENABLE_OVERLOADING-data ClockWaitForSyncMethodInfo-#endif
− GI/Gst/Objects/ControlBinding.hs
@@ -1,525 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A base class for value mapping objects that attaches control sources to gobject-properties. Such an object is taking one or more 'GI.Gst.Objects.ControlSource.ControlSource' instances,-combines them and maps the resulting value to the type and value range of the-bound property.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.ControlBinding-    ( ---- * Exported types-    ControlBinding(..)                      ,-    IsControlBinding                        ,-    toControlBinding                        ,-    noControlBinding                        ,--- -- * Methods--- ** getGValueArray #method:getGValueArray#--#if ENABLE_OVERLOADING-    ControlBindingGetGValueArrayMethodInfo  ,-#endif-    controlBindingGetGValueArray            ,----- ** getValue #method:getValue#--#if ENABLE_OVERLOADING-    ControlBindingGetValueMethodInfo        ,-#endif-    controlBindingGetValue                  ,----- ** isDisabled #method:isDisabled#--#if ENABLE_OVERLOADING-    ControlBindingIsDisabledMethodInfo      ,-#endif-    controlBindingIsDisabled                ,----- ** setDisabled #method:setDisabled#--#if ENABLE_OVERLOADING-    ControlBindingSetDisabledMethodInfo     ,-#endif-    controlBindingSetDisabled               ,----- ** syncValues #method:syncValues#--#if ENABLE_OVERLOADING-    ControlBindingSyncValuesMethodInfo      ,-#endif-    controlBindingSyncValues                ,----- -- * Properties--- ** name #attr:name#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    ControlBindingNamePropertyInfo          ,-#endif-    constructControlBindingName             ,-#if ENABLE_OVERLOADING-    controlBindingName                      ,-#endif-    getControlBindingName                   ,----- ** object #attr:object#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    ControlBindingObjectPropertyInfo        ,-#endif-    constructControlBindingObject           ,-#if ENABLE_OVERLOADING-    controlBindingObject                    ,-#endif-    getControlBindingObject                 ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype ControlBinding = ControlBinding (ManagedPtr ControlBinding)-foreign import ccall "gst_control_binding_get_type"-    c_gst_control_binding_get_type :: IO GType--instance GObject ControlBinding where-    gobjectType = c_gst_control_binding_get_type-    ---- | Type class for types which can be safely cast to `ControlBinding`, for instance with `toControlBinding`.-class (GObject o, O.IsDescendantOf ControlBinding o) => IsControlBinding o-instance (GObject o, O.IsDescendantOf ControlBinding o) => IsControlBinding o--instance O.HasParentTypes ControlBinding-type instance O.ParentTypes ControlBinding = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `ControlBinding`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toControlBinding :: (MonadIO m, IsControlBinding o) => o -> m ControlBinding-toControlBinding = liftIO . unsafeCastTo ControlBinding---- | A convenience alias for `Nothing` :: `Maybe` `ControlBinding`.-noControlBinding :: Maybe ControlBinding-noControlBinding = Nothing--#if ENABLE_OVERLOADING-type family ResolveControlBindingMethod (t :: Symbol) (o :: *) :: * where-    ResolveControlBindingMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveControlBindingMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveControlBindingMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveControlBindingMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveControlBindingMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveControlBindingMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveControlBindingMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveControlBindingMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveControlBindingMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveControlBindingMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveControlBindingMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveControlBindingMethod "isDisabled" o = ControlBindingIsDisabledMethodInfo-    ResolveControlBindingMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveControlBindingMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveControlBindingMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveControlBindingMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveControlBindingMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveControlBindingMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveControlBindingMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveControlBindingMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveControlBindingMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveControlBindingMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveControlBindingMethod "syncValues" o = ControlBindingSyncValuesMethodInfo-    ResolveControlBindingMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveControlBindingMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveControlBindingMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveControlBindingMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveControlBindingMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveControlBindingMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveControlBindingMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveControlBindingMethod "getGValueArray" o = ControlBindingGetGValueArrayMethodInfo-    ResolveControlBindingMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveControlBindingMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveControlBindingMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveControlBindingMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveControlBindingMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveControlBindingMethod "getValue" o = ControlBindingGetValueMethodInfo-    ResolveControlBindingMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveControlBindingMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveControlBindingMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveControlBindingMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveControlBindingMethod "setDisabled" o = ControlBindingSetDisabledMethodInfo-    ResolveControlBindingMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveControlBindingMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveControlBindingMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveControlBindingMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveControlBindingMethod t ControlBinding, O.MethodInfo info ControlBinding p) => OL.IsLabel t (ControlBinding -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif----- XXX Duplicated object with different types:-  --- Name {namespace = "Gst", name = "ControlBinding"} -> Property {propName = "name", propType = TBasicType TUTF8, propFlags = [PropertyReadable,PropertyWritable,PropertyConstructOnly], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, propDeprecated = Nothing}-  --- Name {namespace = "Gst", name = "Object"} -> Property {propName = "name", propType = TBasicType TUTF8, propFlags = [PropertyReadable,PropertyWritable,PropertyConstruct], propReadNullable = Nothing, propWriteNullable = Nothing, propTransfer = TransferNothing, propDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, propDeprecated = Nothing}--- VVV Prop "name"-   -- Type: TBasicType TUTF8-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@name@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' controlBinding #name-@--}-getControlBindingName :: (MonadIO m, IsControlBinding o) => o -> m (Maybe T.Text)-getControlBindingName obj = liftIO $ B.Properties.getObjectPropertyString obj "name"--{- |-Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructControlBindingName :: (IsControlBinding o) => T.Text -> IO (GValueConstruct o)-constructControlBindingName val = B.Properties.constructObjectPropertyString "name" (Just val)--#if ENABLE_OVERLOADING-data ControlBindingNamePropertyInfo-instance AttrInfo ControlBindingNamePropertyInfo where-    type AttrAllowedOps ControlBindingNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ControlBindingNamePropertyInfo = (~) T.Text-    type AttrBaseTypeConstraint ControlBindingNamePropertyInfo = IsControlBinding-    type AttrGetType ControlBindingNamePropertyInfo = (Maybe T.Text)-    type AttrLabel ControlBindingNamePropertyInfo = "name"-    type AttrOrigin ControlBindingNamePropertyInfo = ControlBinding-    attrGet _ = getControlBindingName-    attrSet _ = undefined-    attrConstruct _ = constructControlBindingName-    attrClear _ = undefined-#endif---- VVV Prop "object"-   -- Type: TInterface (Name {namespace = "Gst", name = "Object"})-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@object@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' controlBinding #object-@--}-getControlBindingObject :: (MonadIO m, IsControlBinding o) => o -> m (Maybe Gst.Object.Object)-getControlBindingObject obj = liftIO $ B.Properties.getObjectPropertyObject obj "object" Gst.Object.Object--{- |-Construct a `GValueConstruct` with valid value for the “@object@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructControlBindingObject :: (IsControlBinding o, Gst.Object.IsObject a) => a -> IO (GValueConstruct o)-constructControlBindingObject val = B.Properties.constructObjectPropertyObject "object" (Just val)--#if ENABLE_OVERLOADING-data ControlBindingObjectPropertyInfo-instance AttrInfo ControlBindingObjectPropertyInfo where-    type AttrAllowedOps ControlBindingObjectPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ControlBindingObjectPropertyInfo = Gst.Object.IsObject-    type AttrBaseTypeConstraint ControlBindingObjectPropertyInfo = IsControlBinding-    type AttrGetType ControlBindingObjectPropertyInfo = (Maybe Gst.Object.Object)-    type AttrLabel ControlBindingObjectPropertyInfo = "object"-    type AttrOrigin ControlBindingObjectPropertyInfo = ControlBinding-    attrGet _ = getControlBindingObject-    attrSet _ = undefined-    attrConstruct _ = constructControlBindingObject-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList ControlBinding-type instance O.AttributeList ControlBinding = ControlBindingAttributeList-type ControlBindingAttributeList = ('[ '("name", ControlBindingNamePropertyInfo), '("object", ControlBindingObjectPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-controlBindingName :: AttrLabelProxy "name"-controlBindingName = AttrLabelProxy--controlBindingObject :: AttrLabelProxy "object"-controlBindingObject = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList ControlBinding = ControlBindingSignalList-type ControlBindingSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method ControlBinding::get_g_value_array--- method type : OrdinaryMethod--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "Gst", name = "ControlBinding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the control binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time that should be processed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time spacing between subsequent values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "array to put control-values in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_control_binding_get_g_value_array" gst_control_binding_get_g_value_array :: -    Ptr ControlBinding ->                   -- binding : TInterface (Name {namespace = "Gst", name = "ControlBinding"})-    Word64 ->                               -- timestamp : TBasicType TUInt64-    Word64 ->                               -- interval : TBasicType TUInt64-    Word32 ->                               -- n_values : TBasicType TUInt-    Ptr GValue ->                           -- values : TCArray False (-1) 3 (TInterface (Name {namespace = "GObject", name = "Value"}))-    IO CInt--{- |-Gets a number of @/GValues/@ for the given controlled property starting at the-requested time. The array /@values@/ need to hold enough space for /@nValues@/ of-'GI.GObject.Structs.Value.Value'.--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.--}-controlBindingGetGValueArray ::-    (B.CallStack.HasCallStack, MonadIO m, IsControlBinding a) =>-    a-    {- ^ /@binding@/: the control binding -}-    -> Word64-    {- ^ /@timestamp@/: the time that should be processed -}-    -> Word64-    {- ^ /@interval@/: the time spacing between subsequent values -}-    -> [GValue]-    {- ^ /@values@/: array to put control-values in -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the given array could be filled, 'False' otherwise -}-controlBindingGetGValueArray binding timestamp interval values = liftIO $ do-    let nValues = fromIntegral $ length values-    binding' <- unsafeManagedPtrCastPtr binding-    values' <- mapM unsafeManagedPtrGetPtr values-    values'' <- packBlockArray 24 values'-    result <- gst_control_binding_get_g_value_array binding' timestamp interval nValues values''-    let result' = (/= 0) result-    touchManagedPtr binding-    mapM_ touchManagedPtr values-    freeMem values''-    return result'--#if ENABLE_OVERLOADING-data ControlBindingGetGValueArrayMethodInfo-instance (signature ~ (Word64 -> Word64 -> [GValue] -> m Bool), MonadIO m, IsControlBinding a) => O.MethodInfo ControlBindingGetGValueArrayMethodInfo a signature where-    overloadedMethod _ = controlBindingGetGValueArray--#endif---- method ControlBinding::get_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "Gst", name = "ControlBinding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the control binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time the control-change should be read from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Value"}))--- throws : False--- Skip return : False--foreign import ccall "gst_control_binding_get_value" gst_control_binding_get_value :: -    Ptr ControlBinding ->                   -- binding : TInterface (Name {namespace = "Gst", name = "ControlBinding"})-    Word64 ->                               -- timestamp : TBasicType TUInt64-    IO (Ptr GValue)--{- |-Gets the value for the given controlled property at the requested time.--}-controlBindingGetValue ::-    (B.CallStack.HasCallStack, MonadIO m, IsControlBinding a) =>-    a-    {- ^ /@binding@/: the control binding -}-    -> Word64-    {- ^ /@timestamp@/: the time the control-change should be read from -}-    -> m (Maybe GValue)-    {- ^ __Returns:__ the GValue of the property at the given time,-or 'Nothing' if the property isn\'t controlled. -}-controlBindingGetValue binding timestamp = liftIO $ do-    binding' <- unsafeManagedPtrCastPtr binding-    result <- gst_control_binding_get_value binding' timestamp-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed GValue) result'-        return result''-    touchManagedPtr binding-    return maybeResult--#if ENABLE_OVERLOADING-data ControlBindingGetValueMethodInfo-instance (signature ~ (Word64 -> m (Maybe GValue)), MonadIO m, IsControlBinding a) => O.MethodInfo ControlBindingGetValueMethodInfo a signature where-    overloadedMethod _ = controlBindingGetValue--#endif---- method ControlBinding::is_disabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "Gst", name = "ControlBinding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the control binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_control_binding_is_disabled" gst_control_binding_is_disabled :: -    Ptr ControlBinding ->                   -- binding : TInterface (Name {namespace = "Gst", name = "ControlBinding"})-    IO CInt--{- |-Check if the control binding is disabled.--}-controlBindingIsDisabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsControlBinding a) =>-    a-    {- ^ /@binding@/: the control binding -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the binding is inactive -}-controlBindingIsDisabled binding = liftIO $ do-    binding' <- unsafeManagedPtrCastPtr binding-    result <- gst_control_binding_is_disabled binding'-    let result' = (/= 0) result-    touchManagedPtr binding-    return result'--#if ENABLE_OVERLOADING-data ControlBindingIsDisabledMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsControlBinding a) => O.MethodInfo ControlBindingIsDisabledMethodInfo a signature where-    overloadedMethod _ = controlBindingIsDisabled--#endif---- method ControlBinding::set_disabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "Gst", name = "ControlBinding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the control binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "disabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "boolean that specifies whether to disable the controller\nor not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_control_binding_set_disabled" gst_control_binding_set_disabled :: -    Ptr ControlBinding ->                   -- binding : TInterface (Name {namespace = "Gst", name = "ControlBinding"})-    CInt ->                                 -- disabled : TBasicType TBoolean-    IO ()--{- |-This function is used to disable a control binding for some time, i.e.-'GI.Gst.Objects.Object.objectSyncValues' will do nothing.--}-controlBindingSetDisabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsControlBinding a) =>-    a-    {- ^ /@binding@/: the control binding -}-    -> Bool-    {- ^ /@disabled@/: boolean that specifies whether to disable the controller-or not. -}-    -> m ()-controlBindingSetDisabled binding disabled = liftIO $ do-    binding' <- unsafeManagedPtrCastPtr binding-    let disabled' = (fromIntegral . fromEnum) disabled-    gst_control_binding_set_disabled binding' disabled'-    touchManagedPtr binding-    return ()--#if ENABLE_OVERLOADING-data ControlBindingSetDisabledMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsControlBinding a) => O.MethodInfo ControlBindingSetDisabledMethodInfo a signature where-    overloadedMethod _ = controlBindingSetDisabled--#endif---- method ControlBinding::sync_values--- method type : OrdinaryMethod--- Args : [Arg {argCName = "binding", argType = TInterface (Name {namespace = "Gst", name = "ControlBinding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the control binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time that should be processed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "last_sync", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the last time this was called", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_control_binding_sync_values" gst_control_binding_sync_values :: -    Ptr ControlBinding ->                   -- binding : TInterface (Name {namespace = "Gst", name = "ControlBinding"})-    Ptr Gst.Object.Object ->                -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Word64 ->                               -- timestamp : TBasicType TUInt64-    Word64 ->                               -- last_sync : TBasicType TUInt64-    IO CInt--{- |-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.--}-controlBindingSyncValues ::-    (B.CallStack.HasCallStack, MonadIO m, IsControlBinding a, Gst.Object.IsObject b) =>-    a-    {- ^ /@binding@/: the control binding -}-    -> b-    {- ^ /@object@/: the object that has controlled properties -}-    -> Word64-    {- ^ /@timestamp@/: the time that should be processed -}-    -> Word64-    {- ^ /@lastSync@/: the last time this was called -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the controller value could be applied to the object-property, 'False' otherwise -}-controlBindingSyncValues binding object timestamp lastSync = liftIO $ do-    binding' <- unsafeManagedPtrCastPtr binding-    object' <- unsafeManagedPtrCastPtr object-    result <- gst_control_binding_sync_values binding' object' timestamp lastSync-    let result' = (/= 0) result-    touchManagedPtr binding-    touchManagedPtr object-    return result'--#if ENABLE_OVERLOADING-data ControlBindingSyncValuesMethodInfo-instance (signature ~ (b -> Word64 -> Word64 -> m Bool), MonadIO m, IsControlBinding a, Gst.Object.IsObject b) => O.MethodInfo ControlBindingSyncValuesMethodInfo a signature where-    overloadedMethod _ = controlBindingSyncValues--#endif--
− GI/Gst/Objects/ControlBinding.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.ControlBinding where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ControlBinding = ControlBinding (ManagedPtr ControlBinding)-instance GObject ControlBinding where-class (GObject o, O.IsDescendantOf ControlBinding o) => IsControlBinding o-instance (GObject o, O.IsDescendantOf ControlBinding o) => IsControlBinding o-instance O.HasParentTypes ControlBinding-#if ENABLE_OVERLOADING-data ControlBindingNamePropertyInfo-#endif-#if ENABLE_OVERLOADING-data ControlBindingObjectPropertyInfo-#endif-#if ENABLE_OVERLOADING-data ControlBindingGetGValueArrayMethodInfo-#endif-#if ENABLE_OVERLOADING-data ControlBindingGetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data ControlBindingIsDisabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data ControlBindingSetDisabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data ControlBindingSyncValuesMethodInfo-#endif
− GI/Gst/Objects/ControlSource.hs
@@ -1,269 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.Gst.Objects.ControlSource.ControlSource' 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 'GI.Gst.Objects.ControlSource.ControlSource' 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 'GI.Gst.Objects.ControlSource.ControlSource' one has to implement-'GI.Gst.Callbacks.ControlSourceGetValue' and 'GI.Gst.Callbacks.ControlSourceGetValueArray' functions.-These are then used by 'GI.Gst.Objects.ControlSource.controlSourceControlSourceGetValue' and-'GI.Gst.Objects.ControlSource.controlSourceControlSourceGetValueArray' to get values for specific timestamps.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.ControlSource-    ( ---- * Exported types-    ControlSource(..)                       ,-    IsControlSource                         ,-    toControlSource                         ,-    noControlSource                         ,--- -- * Methods--- ** controlSourceGetValue #method:controlSourceGetValue#--#if ENABLE_OVERLOADING-    ControlSourceControlSourceGetValueMethodInfo,-#endif-    controlSourceControlSourceGetValue      ,----- ** controlSourceGetValueArray #method:controlSourceGetValueArray#--#if ENABLE_OVERLOADING-    ControlSourceControlSourceGetValueArrayMethodInfo,-#endif-    controlSourceControlSourceGetValueArray ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype ControlSource = ControlSource (ManagedPtr ControlSource)-foreign import ccall "gst_control_source_get_type"-    c_gst_control_source_get_type :: IO GType--instance GObject ControlSource where-    gobjectType = c_gst_control_source_get_type-    ---- | Type class for types which can be safely cast to `ControlSource`, for instance with `toControlSource`.-class (GObject o, O.IsDescendantOf ControlSource o) => IsControlSource o-instance (GObject o, O.IsDescendantOf ControlSource o) => IsControlSource o--instance O.HasParentTypes ControlSource-type instance O.ParentTypes ControlSource = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `ControlSource`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toControlSource :: (MonadIO m, IsControlSource o) => o -> m ControlSource-toControlSource = liftIO . unsafeCastTo ControlSource---- | A convenience alias for `Nothing` :: `Maybe` `ControlSource`.-noControlSource :: Maybe ControlSource-noControlSource = Nothing--#if ENABLE_OVERLOADING-type family ResolveControlSourceMethod (t :: Symbol) (o :: *) :: * where-    ResolveControlSourceMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveControlSourceMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveControlSourceMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveControlSourceMethod "controlSourceGetValue" o = ControlSourceControlSourceGetValueMethodInfo-    ResolveControlSourceMethod "controlSourceGetValueArray" o = ControlSourceControlSourceGetValueArrayMethodInfo-    ResolveControlSourceMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveControlSourceMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveControlSourceMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveControlSourceMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveControlSourceMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveControlSourceMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveControlSourceMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveControlSourceMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveControlSourceMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveControlSourceMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveControlSourceMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveControlSourceMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveControlSourceMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveControlSourceMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveControlSourceMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveControlSourceMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveControlSourceMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveControlSourceMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveControlSourceMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveControlSourceMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveControlSourceMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveControlSourceMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveControlSourceMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveControlSourceMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveControlSourceMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveControlSourceMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveControlSourceMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveControlSourceMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveControlSourceMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveControlSourceMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveControlSourceMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveControlSourceMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveControlSourceMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveControlSourceMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveControlSourceMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveControlSourceMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveControlSourceMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveControlSourceMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveControlSourceMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveControlSourceMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveControlSourceMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveControlSourceMethod t ControlSource, O.MethodInfo info ControlSource p) => OL.IsLabel t (ControlSource -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList ControlSource-type instance O.AttributeList ControlSource = ControlSourceAttributeList-type ControlSourceAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList ControlSource = ControlSourceSignalList-type ControlSourceSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method ControlSource::control_source_get_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gst", name = "ControlSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstControlSource object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time for which the value should be returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_control_source_get_value" gst_control_source_get_value :: -    Ptr ControlSource ->                    -- self : TInterface (Name {namespace = "Gst", name = "ControlSource"})-    Word64 ->                               -- timestamp : TBasicType TUInt64-    Ptr CDouble ->                          -- value : TBasicType TDouble-    IO CInt--{- |-Gets the value for this 'GI.Gst.Objects.ControlSource.ControlSource' at a given timestamp.--}-controlSourceControlSourceGetValue ::-    (B.CallStack.HasCallStack, MonadIO m, IsControlSource a) =>-    a-    {- ^ /@self@/: the 'GI.Gst.Objects.ControlSource.ControlSource' object -}-    -> Word64-    {- ^ /@timestamp@/: the time for which the value should be returned -}-    -> m ((Bool, Double))-    {- ^ __Returns:__ 'False' if the value couldn\'t be returned, 'True' otherwise. -}-controlSourceControlSourceGetValue self timestamp = liftIO $ do-    self' <- unsafeManagedPtrCastPtr self-    value <- allocMem :: IO (Ptr CDouble)-    result <- gst_control_source_get_value self' timestamp value-    let result' = (/= 0) result-    value' <- peek value-    let value'' = realToFrac value'-    touchManagedPtr self-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data ControlSourceControlSourceGetValueMethodInfo-instance (signature ~ (Word64 -> m ((Bool, Double))), MonadIO m, IsControlSource a) => O.MethodInfo ControlSourceControlSourceGetValueMethodInfo a signature where-    overloadedMethod _ = controlSourceControlSourceGetValue--#endif---- method ControlSource::control_source_get_value_array--- method type : OrdinaryMethod--- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "Gst", name = "ControlSource"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstControlSource object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first timestamp", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time steps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of values to fetch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TCArray False (-1) 3 (TBasicType TDouble), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "array to put control-values in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of values to fetch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_control_source_get_value_array" gst_control_source_get_value_array :: -    Ptr ControlSource ->                    -- self : TInterface (Name {namespace = "Gst", name = "ControlSource"})-    Word64 ->                               -- timestamp : TBasicType TUInt64-    Word64 ->                               -- interval : TBasicType TUInt64-    Word32 ->                               -- n_values : TBasicType TUInt-    Ptr CDouble ->                          -- values : TCArray False (-1) 3 (TBasicType TDouble)-    IO CInt--{- |-Gets an array of values for for this 'GI.Gst.Objects.ControlSource.ControlSource'. Values that are-undefined contain NANs.--}-controlSourceControlSourceGetValueArray ::-    (B.CallStack.HasCallStack, MonadIO m, IsControlSource a) =>-    a-    {- ^ /@self@/: the 'GI.Gst.Objects.ControlSource.ControlSource' object -}-    -> Word64-    {- ^ /@timestamp@/: the first timestamp -}-    -> Word64-    {- ^ /@interval@/: the time steps -}-    -> [Double]-    {- ^ /@values@/: array to put control-values in -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the given array could be filled, 'False' otherwise -}-controlSourceControlSourceGetValueArray self timestamp interval values = liftIO $ do-    let nValues = fromIntegral $ length values-    self' <- unsafeManagedPtrCastPtr self-    values' <- (packMapStorableArray realToFrac) values-    result <- gst_control_source_get_value_array self' timestamp interval nValues values'-    let result' = (/= 0) result-    touchManagedPtr self-    freeMem values'-    return result'--#if ENABLE_OVERLOADING-data ControlSourceControlSourceGetValueArrayMethodInfo-instance (signature ~ (Word64 -> Word64 -> [Double] -> m Bool), MonadIO m, IsControlSource a) => O.MethodInfo ControlSourceControlSourceGetValueArrayMethodInfo a signature where-    overloadedMethod _ = controlSourceControlSourceGetValueArray--#endif--
− GI/Gst/Objects/ControlSource.hs-boot
@@ -1,35 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.ControlSource where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ControlSource = ControlSource (ManagedPtr ControlSource)-instance GObject ControlSource where-class (GObject o, O.IsDescendantOf ControlSource o) => IsControlSource o-instance (GObject o, O.IsDescendantOf ControlSource o) => IsControlSource o-instance O.HasParentTypes ControlSource-#if ENABLE_OVERLOADING-data ControlSourceControlSourceGetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data ControlSourceControlSourceGetValueArrayMethodInfo-#endif
− GI/Gst/Objects/Device.hs
@@ -1,881 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Objects.Device.Device' are objects representing a device, they contain-relevant metadata about the device, such as its class and the 'GI.Gst.Structs.Caps.Caps'-representing the media types it can produce or handle.--'GI.Gst.Objects.Device.Device' are created by 'GI.Gst.Objects.DeviceProvider.DeviceProvider' objects which can be-aggregated by 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' objects.--/Since: 1.4/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Device-    ( ---- * Exported types-    Device(..)                              ,-    IsDevice                                ,-    toDevice                                ,-    noDevice                                ,--- -- * Methods--- ** createElement #method:createElement#--#if ENABLE_OVERLOADING-    DeviceCreateElementMethodInfo           ,-#endif-    deviceCreateElement                     ,----- ** getCaps #method:getCaps#--#if ENABLE_OVERLOADING-    DeviceGetCapsMethodInfo                 ,-#endif-    deviceGetCaps                           ,----- ** getDeviceClass #method:getDeviceClass#--#if ENABLE_OVERLOADING-    DeviceGetDeviceClassMethodInfo          ,-#endif-    deviceGetDeviceClass                    ,----- ** getDisplayName #method:getDisplayName#--#if ENABLE_OVERLOADING-    DeviceGetDisplayNameMethodInfo          ,-#endif-    deviceGetDisplayName                    ,----- ** getProperties #method:getProperties#--#if ENABLE_OVERLOADING-    DeviceGetPropertiesMethodInfo           ,-#endif-    deviceGetProperties                     ,----- ** hasClasses #method:hasClasses#--#if ENABLE_OVERLOADING-    DeviceHasClassesMethodInfo              ,-#endif-    deviceHasClasses                        ,----- ** hasClassesv #method:hasClassesv#--#if ENABLE_OVERLOADING-    DeviceHasClassesvMethodInfo             ,-#endif-    deviceHasClassesv                       ,----- ** reconfigureElement #method:reconfigureElement#--#if ENABLE_OVERLOADING-    DeviceReconfigureElementMethodInfo      ,-#endif-    deviceReconfigureElement                ,----- -- * Properties--- ** caps #attr:caps#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    DeviceCapsPropertyInfo                  ,-#endif-    constructDeviceCaps                     ,-#if ENABLE_OVERLOADING-    deviceCaps                              ,-#endif-    getDeviceCaps                           ,----- ** deviceClass #attr:deviceClass#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    DeviceDeviceClassPropertyInfo           ,-#endif-    constructDeviceDeviceClass              ,-#if ENABLE_OVERLOADING-    deviceDeviceClass                       ,-#endif-    getDeviceDeviceClass                    ,----- ** displayName #attr:displayName#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    DeviceDisplayNamePropertyInfo           ,-#endif-    constructDeviceDisplayName              ,-#if ENABLE_OVERLOADING-    deviceDisplayName                       ,-#endif-    getDeviceDisplayName                    ,----- ** properties #attr:properties#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    DevicePropertiesPropertyInfo            ,-#endif-    constructDeviceProperties               ,-#if ENABLE_OVERLOADING-    deviceProperties                        ,-#endif-    getDeviceProperties                     ,----- -- * Signals--- ** removed #signal:removed#--    C_DeviceRemovedCallback                 ,-    DeviceRemovedCallback                   ,-#if ENABLE_OVERLOADING-    DeviceRemovedSignalInfo                 ,-#endif-    afterDeviceRemoved                      ,-    genClosure_DeviceRemoved                ,-    mk_DeviceRemovedCallback                ,-    noDeviceRemovedCallback                 ,-    onDeviceRemoved                         ,-    wrap_DeviceRemovedCallback              ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype Device = Device (ManagedPtr Device)-foreign import ccall "gst_device_get_type"-    c_gst_device_get_type :: IO GType--instance GObject Device where-    gobjectType = c_gst_device_get_type-    ---- | Type class for types which can be safely cast to `Device`, for instance with `toDevice`.-class (GObject o, O.IsDescendantOf Device o) => IsDevice o-instance (GObject o, O.IsDescendantOf Device o) => IsDevice o--instance O.HasParentTypes Device-type instance O.ParentTypes Device = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Device`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toDevice :: (MonadIO m, IsDevice o) => o -> m Device-toDevice = liftIO . unsafeCastTo Device---- | A convenience alias for `Nothing` :: `Maybe` `Device`.-noDevice :: Maybe Device-noDevice = Nothing--#if ENABLE_OVERLOADING-type family ResolveDeviceMethod (t :: Symbol) (o :: *) :: * where-    ResolveDeviceMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveDeviceMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveDeviceMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveDeviceMethod "createElement" o = DeviceCreateElementMethodInfo-    ResolveDeviceMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveDeviceMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveDeviceMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveDeviceMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveDeviceMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveDeviceMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveDeviceMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveDeviceMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveDeviceMethod "hasClasses" o = DeviceHasClassesMethodInfo-    ResolveDeviceMethod "hasClassesv" o = DeviceHasClassesvMethodInfo-    ResolveDeviceMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveDeviceMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveDeviceMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveDeviceMethod "reconfigureElement" o = DeviceReconfigureElementMethodInfo-    ResolveDeviceMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveDeviceMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveDeviceMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveDeviceMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveDeviceMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveDeviceMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveDeviceMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveDeviceMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveDeviceMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveDeviceMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveDeviceMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveDeviceMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveDeviceMethod "getCaps" o = DeviceGetCapsMethodInfo-    ResolveDeviceMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveDeviceMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveDeviceMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveDeviceMethod "getDeviceClass" o = DeviceGetDeviceClassMethodInfo-    ResolveDeviceMethod "getDisplayName" o = DeviceGetDisplayNameMethodInfo-    ResolveDeviceMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveDeviceMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveDeviceMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveDeviceMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveDeviceMethod "getProperties" o = DeviceGetPropertiesMethodInfo-    ResolveDeviceMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveDeviceMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveDeviceMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveDeviceMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveDeviceMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveDeviceMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveDeviceMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveDeviceMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveDeviceMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveDeviceMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveDeviceMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDeviceMethod t Device, O.MethodInfo info Device p) => OL.IsLabel t (Device -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal Device::removed-{- |-/No description available in the introspection data./--}-type DeviceRemovedCallback =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `DeviceRemovedCallback`@.-noDeviceRemovedCallback :: Maybe DeviceRemovedCallback-noDeviceRemovedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_DeviceRemovedCallback =-    Ptr () ->                               -- object-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_DeviceRemovedCallback`.-foreign import ccall "wrapper"-    mk_DeviceRemovedCallback :: C_DeviceRemovedCallback -> IO (FunPtr C_DeviceRemovedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_DeviceRemoved :: MonadIO m => DeviceRemovedCallback -> m (GClosure C_DeviceRemovedCallback)-genClosure_DeviceRemoved cb = liftIO $ do-    let cb' = wrap_DeviceRemovedCallback cb-    mk_DeviceRemovedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `DeviceRemovedCallback` into a `C_DeviceRemovedCallback`.-wrap_DeviceRemovedCallback ::-    DeviceRemovedCallback ->-    C_DeviceRemovedCallback-wrap_DeviceRemovedCallback _cb _ _ = do-    _cb ---{- |-Connect a signal handler for the “@removed@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' device #removed callback-@--}-onDeviceRemoved :: (IsDevice a, MonadIO m) => a -> DeviceRemovedCallback -> m SignalHandlerId-onDeviceRemoved obj cb = liftIO $ do-    let cb' = wrap_DeviceRemovedCallback cb-    cb'' <- mk_DeviceRemovedCallback cb'-    connectSignalFunPtr obj "removed" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@removed@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' device #removed callback-@--}-afterDeviceRemoved :: (IsDevice a, MonadIO m) => a -> DeviceRemovedCallback -> m SignalHandlerId-afterDeviceRemoved obj cb = liftIO $ do-    let cb' = wrap_DeviceRemovedCallback cb-    cb'' <- mk_DeviceRemovedCallback cb'-    connectSignalFunPtr obj "removed" cb'' SignalConnectAfter----- VVV Prop "caps"-   -- Type: TInterface (Name {namespace = "Gst", name = "Caps"})-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@caps@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' device #caps-@--}-getDeviceCaps :: (MonadIO m, IsDevice o) => o -> m (Maybe Gst.Caps.Caps)-getDeviceCaps obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "caps" Gst.Caps.Caps--{- |-Construct a `GValueConstruct` with valid value for the “@caps@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructDeviceCaps :: (IsDevice o) => Gst.Caps.Caps -> IO (GValueConstruct o)-constructDeviceCaps val = B.Properties.constructObjectPropertyBoxed "caps" (Just val)--#if ENABLE_OVERLOADING-data DeviceCapsPropertyInfo-instance AttrInfo DeviceCapsPropertyInfo where-    type AttrAllowedOps DeviceCapsPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint DeviceCapsPropertyInfo = (~) Gst.Caps.Caps-    type AttrBaseTypeConstraint DeviceCapsPropertyInfo = IsDevice-    type AttrGetType DeviceCapsPropertyInfo = (Maybe Gst.Caps.Caps)-    type AttrLabel DeviceCapsPropertyInfo = "caps"-    type AttrOrigin DeviceCapsPropertyInfo = Device-    attrGet _ = getDeviceCaps-    attrSet _ = undefined-    attrConstruct _ = constructDeviceCaps-    attrClear _ = undefined-#endif---- VVV Prop "device-class"-   -- Type: TBasicType TUTF8-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@device-class@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' device #deviceClass-@--}-getDeviceDeviceClass :: (MonadIO m, IsDevice o) => o -> m (Maybe T.Text)-getDeviceDeviceClass obj = liftIO $ B.Properties.getObjectPropertyString obj "device-class"--{- |-Construct a `GValueConstruct` with valid value for the “@device-class@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructDeviceDeviceClass :: (IsDevice o) => T.Text -> IO (GValueConstruct o)-constructDeviceDeviceClass val = B.Properties.constructObjectPropertyString "device-class" (Just val)--#if ENABLE_OVERLOADING-data DeviceDeviceClassPropertyInfo-instance AttrInfo DeviceDeviceClassPropertyInfo where-    type AttrAllowedOps DeviceDeviceClassPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint DeviceDeviceClassPropertyInfo = (~) T.Text-    type AttrBaseTypeConstraint DeviceDeviceClassPropertyInfo = IsDevice-    type AttrGetType DeviceDeviceClassPropertyInfo = (Maybe T.Text)-    type AttrLabel DeviceDeviceClassPropertyInfo = "device-class"-    type AttrOrigin DeviceDeviceClassPropertyInfo = Device-    attrGet _ = getDeviceDeviceClass-    attrSet _ = undefined-    attrConstruct _ = constructDeviceDeviceClass-    attrClear _ = undefined-#endif---- VVV Prop "display-name"-   -- Type: TBasicType TUTF8-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@display-name@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' device #displayName-@--}-getDeviceDisplayName :: (MonadIO m, IsDevice o) => o -> m (Maybe T.Text)-getDeviceDisplayName obj = liftIO $ B.Properties.getObjectPropertyString obj "display-name"--{- |-Construct a `GValueConstruct` with valid value for the “@display-name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructDeviceDisplayName :: (IsDevice o) => T.Text -> IO (GValueConstruct o)-constructDeviceDisplayName val = B.Properties.constructObjectPropertyString "display-name" (Just val)--#if ENABLE_OVERLOADING-data DeviceDisplayNamePropertyInfo-instance AttrInfo DeviceDisplayNamePropertyInfo where-    type AttrAllowedOps DeviceDisplayNamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint DeviceDisplayNamePropertyInfo = (~) T.Text-    type AttrBaseTypeConstraint DeviceDisplayNamePropertyInfo = IsDevice-    type AttrGetType DeviceDisplayNamePropertyInfo = (Maybe T.Text)-    type AttrLabel DeviceDisplayNamePropertyInfo = "display-name"-    type AttrOrigin DeviceDisplayNamePropertyInfo = Device-    attrGet _ = getDeviceDisplayName-    attrSet _ = undefined-    attrConstruct _ = constructDeviceDisplayName-    attrClear _ = undefined-#endif---- VVV Prop "properties"-   -- Type: TInterface (Name {namespace = "Gst", name = "Structure"})-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@properties@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' device #properties-@--}-getDeviceProperties :: (MonadIO m, IsDevice o) => o -> m (Maybe Gst.Structure.Structure)-getDeviceProperties obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "properties" Gst.Structure.Structure--{- |-Construct a `GValueConstruct` with valid value for the “@properties@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructDeviceProperties :: (IsDevice o) => Gst.Structure.Structure -> IO (GValueConstruct o)-constructDeviceProperties val = B.Properties.constructObjectPropertyBoxed "properties" (Just val)--#if ENABLE_OVERLOADING-data DevicePropertiesPropertyInfo-instance AttrInfo DevicePropertiesPropertyInfo where-    type AttrAllowedOps DevicePropertiesPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint DevicePropertiesPropertyInfo = (~) Gst.Structure.Structure-    type AttrBaseTypeConstraint DevicePropertiesPropertyInfo = IsDevice-    type AttrGetType DevicePropertiesPropertyInfo = (Maybe Gst.Structure.Structure)-    type AttrLabel DevicePropertiesPropertyInfo = "properties"-    type AttrOrigin DevicePropertiesPropertyInfo = Device-    attrGet _ = getDeviceProperties-    attrSet _ = undefined-    attrConstruct _ = constructDeviceProperties-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Device-type instance O.AttributeList Device = DeviceAttributeList-type DeviceAttributeList = ('[ '("caps", DeviceCapsPropertyInfo), '("deviceClass", DeviceDeviceClassPropertyInfo), '("displayName", DeviceDisplayNamePropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("properties", DevicePropertiesPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-deviceCaps :: AttrLabelProxy "caps"-deviceCaps = AttrLabelProxy--deviceDeviceClass :: AttrLabelProxy "deviceClass"-deviceDeviceClass = AttrLabelProxy--deviceDisplayName :: AttrLabelProxy "displayName"-deviceDisplayName = AttrLabelProxy--deviceProperties :: AttrLabelProxy "properties"-deviceProperties = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-data DeviceRemovedSignalInfo-instance SignalInfo DeviceRemovedSignalInfo where-    type HaskellCallbackType DeviceRemovedSignalInfo = DeviceRemovedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_DeviceRemovedCallback cb-        cb'' <- mk_DeviceRemovedCallback cb'-        connectSignalFunPtr obj "removed" cb'' connectMode--type instance O.SignalList Device = DeviceSignalList-type DeviceSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("removed", DeviceRemovedSignalInfo)] :: [(Symbol, *)])--#endif---- method Device::create_element--- method type : OrdinaryMethod--- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name of new element, or %NULL to automatically\ncreate a unique name.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_create_element" gst_device_create_element :: -    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.Element.Element)--{- |-Creates the element with all of the required parameters set to use-this device.--/Since: 1.4/--}-deviceCreateElement ::-    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>-    a-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' -}-    -> Maybe (T.Text)-    {- ^ /@name@/: name of new element, or 'Nothing' to automatically-create a unique name. -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Element.Element' configured to use-this device -}-deviceCreateElement device name = liftIO $ do-    device' <- unsafeManagedPtrCastPtr device-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    result <- gst_device_create_element device' maybeName-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Element.Element) result'-        return result''-    touchManagedPtr device-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-data DeviceCreateElementMethodInfo-instance (signature ~ (Maybe (T.Text) -> m (Maybe Gst.Element.Element)), MonadIO m, IsDevice a) => O.MethodInfo DeviceCreateElementMethodInfo a signature where-    overloadedMethod _ = deviceCreateElement--#endif---- method Device::get_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_get_caps" gst_device_get_caps :: -    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO (Ptr Gst.Caps.Caps)--{- |-Getter for the 'GI.Gst.Structs.Caps.Caps' that this device supports.--/Since: 1.4/--}-deviceGetCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>-    a-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' -}-    -> m (Maybe Gst.Caps.Caps)-    {- ^ __Returns:__ The 'GI.Gst.Structs.Caps.Caps' supported by this device. Unref with-@/gst_caps_unref()/@ when done. -}-deviceGetCaps device = liftIO $ do-    device' <- unsafeManagedPtrCastPtr device-    result <- gst_device_get_caps device'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    touchManagedPtr device-    return maybeResult--#if ENABLE_OVERLOADING-data DeviceGetCapsMethodInfo-instance (signature ~ (m (Maybe Gst.Caps.Caps)), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetCapsMethodInfo a signature where-    overloadedMethod _ = deviceGetCaps--#endif---- method Device::get_device_class--- method type : OrdinaryMethod--- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_device_get_device_class" gst_device_get_device_class :: -    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO CString--{- |-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 'GI.Gst.Objects.DeviceProvider.DeviceProvider' that produced this device.--/Since: 1.4/--}-deviceGetDeviceClass ::-    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>-    a-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' -}-    -> m T.Text-    {- ^ __Returns:__ The device class. Free with 'GI.GLib.Functions.free' after use. -}-deviceGetDeviceClass device = liftIO $ do-    device' <- unsafeManagedPtrCastPtr device-    result <- gst_device_get_device_class device'-    checkUnexpectedReturnNULL "deviceGetDeviceClass" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr device-    return result'--#if ENABLE_OVERLOADING-data DeviceGetDeviceClassMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetDeviceClassMethodInfo a signature where-    overloadedMethod _ = deviceGetDeviceClass--#endif---- method Device::get_display_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_device_get_display_name" gst_device_get_display_name :: -    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO CString--{- |-Gets the user-friendly name of the device.--/Since: 1.4/--}-deviceGetDisplayName ::-    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>-    a-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' -}-    -> m T.Text-    {- ^ __Returns:__ The device name. Free with 'GI.GLib.Functions.free' after use. -}-deviceGetDisplayName device = liftIO $ do-    device' <- unsafeManagedPtrCastPtr device-    result <- gst_device_get_display_name device'-    checkUnexpectedReturnNULL "deviceGetDisplayName" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr device-    return result'--#if ENABLE_OVERLOADING-data DeviceGetDisplayNameMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetDisplayNameMethodInfo a signature where-    overloadedMethod _ = deviceGetDisplayName--#endif---- method Device::get_properties--- method type : OrdinaryMethod--- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_get_properties" gst_device_get_properties :: -    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO (Ptr Gst.Structure.Structure)--{- |-Gets the extra properties of a device.--/Since: 1.6/--}-deviceGetProperties ::-    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>-    a-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' -}-    -> m (Maybe Gst.Structure.Structure)-    {- ^ __Returns:__ The extra properties or 'Nothing' when there are none.-         Free with 'GI.Gst.Structs.Structure.structureFree' after use. -}-deviceGetProperties device = liftIO $ do-    device' <- unsafeManagedPtrCastPtr device-    result <- gst_device_get_properties device'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Structure.Structure) result'-        return result''-    touchManagedPtr device-    return maybeResult--#if ENABLE_OVERLOADING-data DeviceGetPropertiesMethodInfo-instance (signature ~ (m (Maybe Gst.Structure.Structure)), MonadIO m, IsDevice a) => O.MethodInfo DeviceGetPropertiesMethodInfo a signature where-    overloadedMethod _ = deviceGetProperties--#endif---- method Device::has_classes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "classes", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a \"/\"-separated list of device classes to match, only match if\n all classes are matched", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_has_classes" gst_device_has_classes :: -    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    CString ->                              -- classes : TBasicType TUTF8-    IO CInt--{- |-Check if /@device@/ matches all of the given classes--/Since: 1.4/--}-deviceHasClasses ::-    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>-    a-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' -}-    -> T.Text-    {- ^ /@classes@/: a \"\/\"-separated list of device classes to match, only match if- all classes are matched -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@device@/ matches. -}-deviceHasClasses device classes = liftIO $ do-    device' <- unsafeManagedPtrCastPtr device-    classes' <- textToCString classes-    result <- gst_device_has_classes device' classes'-    let result' = (/= 0) result-    touchManagedPtr device-    freeMem classes'-    return result'--#if ENABLE_OVERLOADING-data DeviceHasClassesMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m, IsDevice a) => O.MethodInfo DeviceHasClassesMethodInfo a signature where-    overloadedMethod _ = deviceHasClasses--#endif---- method Device::has_classesv--- method type : OrdinaryMethod--- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "classes", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL terminated array of classes\n  to match, only match if all classes are matched", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_has_classesv" gst_device_has_classesv :: -    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    Ptr CString ->                          -- classes : TCArray True (-1) (-1) (TBasicType TUTF8)-    IO CInt--{- |-Check if /@factory@/ matches all of the given classes--/Since: 1.4/--}-deviceHasClassesv ::-    (B.CallStack.HasCallStack, MonadIO m, IsDevice a) =>-    a-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' -}-    -> [T.Text]-    {- ^ /@classes@/: a 'Nothing' terminated array of classes-  to match, only match if all classes are matched -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@device@/ matches. -}-deviceHasClassesv device classes = liftIO $ do-    device' <- unsafeManagedPtrCastPtr device-    classes' <- packZeroTerminatedUTF8CArray classes-    result <- gst_device_has_classesv device' classes'-    let result' = (/= 0) result-    touchManagedPtr device-    mapZeroTerminatedCArray freeMem classes'-    freeMem classes'-    return result'--#if ENABLE_OVERLOADING-data DeviceHasClassesvMethodInfo-instance (signature ~ ([T.Text] -> m Bool), MonadIO m, IsDevice a) => O.MethodInfo DeviceHasClassesvMethodInfo a signature where-    overloadedMethod _ = deviceHasClassesv--#endif---- method Device::reconfigure_element--- method type : OrdinaryMethod--- Args : [Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_reconfigure_element" gst_device_reconfigure_element :: -    Ptr Device ->                           -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    Ptr Gst.Element.Element ->              -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO CInt--{- |-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 'GI.Gst.Objects.Device.deviceCreateElement'.--Note: This should only be implemented for elements can change their-device in the PLAYING state.--/Since: 1.4/--}-deviceReconfigureElement ::-    (B.CallStack.HasCallStack, MonadIO m, IsDevice a, Gst.Element.IsElement b) =>-    a-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' -}-    -> b-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the element could be reconfigured to use this device,-'False' otherwise. -}-deviceReconfigureElement device element = liftIO $ do-    device' <- unsafeManagedPtrCastPtr device-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_device_reconfigure_element device' element'-    let result' = (/= 0) result-    touchManagedPtr device-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data DeviceReconfigureElementMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsDevice a, Gst.Element.IsElement b) => O.MethodInfo DeviceReconfigureElementMethodInfo a signature where-    overloadedMethod _ = deviceReconfigureElement--#endif--
− GI/Gst/Objects/Device.hs-boot
@@ -1,68 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Device where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Device = Device (ManagedPtr Device)-instance GObject Device where-class (GObject o, O.IsDescendantOf Device o) => IsDevice o-instance (GObject o, O.IsDescendantOf Device o) => IsDevice o-instance O.HasParentTypes Device-#if ENABLE_OVERLOADING-data DeviceCapsPropertyInfo-#endif-#if ENABLE_OVERLOADING-data DeviceDeviceClassPropertyInfo-#endif-#if ENABLE_OVERLOADING-data DeviceDisplayNamePropertyInfo-#endif-#if ENABLE_OVERLOADING-data DevicePropertiesPropertyInfo-#endif-#if ENABLE_OVERLOADING-data DeviceRemovedSignalInfo-#endif-#if ENABLE_OVERLOADING-data DeviceCreateElementMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceGetCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceGetDeviceClassMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceGetDisplayNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceGetPropertiesMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceHasClassesMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceHasClassesvMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceReconfigureElementMethodInfo-#endif
− GI/Gst/Objects/DeviceMonitor.hs
@@ -1,776 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Applications should create a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' when they want-to probe, list and monitor devices of a specific type. The-'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' will create the appropriate-'GI.Gst.Objects.DeviceProvider.DeviceProvider' objects and manage them. It will then post-messages on its 'GI.Gst.Objects.Bus.Bus' 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, &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, &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;->  }---/Since: 1.4/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.DeviceMonitor-    ( ---- * Exported types-    DeviceMonitor(..)                       ,-    IsDeviceMonitor                         ,-    toDeviceMonitor                         ,-    noDeviceMonitor                         ,--- -- * Methods--- ** addFilter #method:addFilter#--#if ENABLE_OVERLOADING-    DeviceMonitorAddFilterMethodInfo        ,-#endif-    deviceMonitorAddFilter                  ,----- ** getBus #method:getBus#--#if ENABLE_OVERLOADING-    DeviceMonitorGetBusMethodInfo           ,-#endif-    deviceMonitorGetBus                     ,----- ** getDevices #method:getDevices#--#if ENABLE_OVERLOADING-    DeviceMonitorGetDevicesMethodInfo       ,-#endif-    deviceMonitorGetDevices                 ,----- ** getProviders #method:getProviders#--#if ENABLE_OVERLOADING-    DeviceMonitorGetProvidersMethodInfo     ,-#endif-    deviceMonitorGetProviders               ,----- ** getShowAllDevices #method:getShowAllDevices#--#if ENABLE_OVERLOADING-    DeviceMonitorGetShowAllDevicesMethodInfo,-#endif-    deviceMonitorGetShowAllDevices          ,----- ** new #method:new#--    deviceMonitorNew                        ,----- ** removeFilter #method:removeFilter#--#if ENABLE_OVERLOADING-    DeviceMonitorRemoveFilterMethodInfo     ,-#endif-    deviceMonitorRemoveFilter               ,----- ** setShowAllDevices #method:setShowAllDevices#--#if ENABLE_OVERLOADING-    DeviceMonitorSetShowAllDevicesMethodInfo,-#endif-    deviceMonitorSetShowAllDevices          ,----- ** start #method:start#--#if ENABLE_OVERLOADING-    DeviceMonitorStartMethodInfo            ,-#endif-    deviceMonitorStart                      ,----- ** stop #method:stop#--#if ENABLE_OVERLOADING-    DeviceMonitorStopMethodInfo             ,-#endif-    deviceMonitorStop                       ,----- -- * Properties--- ** showAll #attr:showAll#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    DeviceMonitorShowAllPropertyInfo        ,-#endif-    constructDeviceMonitorShowAll           ,-#if ENABLE_OVERLOADING-    deviceMonitorShowAll                    ,-#endif-    getDeviceMonitorShowAll                 ,-    setDeviceMonitorShowAll                 ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Bus as Gst.Bus-import {-# SOURCE #-} qualified GI.Gst.Objects.Device as Gst.Device-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps---- | Memory-managed wrapper type.-newtype DeviceMonitor = DeviceMonitor (ManagedPtr DeviceMonitor)-foreign import ccall "gst_device_monitor_get_type"-    c_gst_device_monitor_get_type :: IO GType--instance GObject DeviceMonitor where-    gobjectType = c_gst_device_monitor_get_type-    ---- | Type class for types which can be safely cast to `DeviceMonitor`, for instance with `toDeviceMonitor`.-class (GObject o, O.IsDescendantOf DeviceMonitor o) => IsDeviceMonitor o-instance (GObject o, O.IsDescendantOf DeviceMonitor o) => IsDeviceMonitor o--instance O.HasParentTypes DeviceMonitor-type instance O.ParentTypes DeviceMonitor = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `DeviceMonitor`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toDeviceMonitor :: (MonadIO m, IsDeviceMonitor o) => o -> m DeviceMonitor-toDeviceMonitor = liftIO . unsafeCastTo DeviceMonitor---- | A convenience alias for `Nothing` :: `Maybe` `DeviceMonitor`.-noDeviceMonitor :: Maybe DeviceMonitor-noDeviceMonitor = Nothing--#if ENABLE_OVERLOADING-type family ResolveDeviceMonitorMethod (t :: Symbol) (o :: *) :: * where-    ResolveDeviceMonitorMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveDeviceMonitorMethod "addFilter" o = DeviceMonitorAddFilterMethodInfo-    ResolveDeviceMonitorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveDeviceMonitorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveDeviceMonitorMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveDeviceMonitorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveDeviceMonitorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveDeviceMonitorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveDeviceMonitorMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveDeviceMonitorMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveDeviceMonitorMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveDeviceMonitorMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveDeviceMonitorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveDeviceMonitorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveDeviceMonitorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveDeviceMonitorMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveDeviceMonitorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveDeviceMonitorMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveDeviceMonitorMethod "removeFilter" o = DeviceMonitorRemoveFilterMethodInfo-    ResolveDeviceMonitorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveDeviceMonitorMethod "start" o = DeviceMonitorStartMethodInfo-    ResolveDeviceMonitorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveDeviceMonitorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveDeviceMonitorMethod "stop" o = DeviceMonitorStopMethodInfo-    ResolveDeviceMonitorMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveDeviceMonitorMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveDeviceMonitorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveDeviceMonitorMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveDeviceMonitorMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveDeviceMonitorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveDeviceMonitorMethod "getBus" o = DeviceMonitorGetBusMethodInfo-    ResolveDeviceMonitorMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveDeviceMonitorMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveDeviceMonitorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveDeviceMonitorMethod "getDevices" o = DeviceMonitorGetDevicesMethodInfo-    ResolveDeviceMonitorMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveDeviceMonitorMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveDeviceMonitorMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveDeviceMonitorMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveDeviceMonitorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveDeviceMonitorMethod "getProviders" o = DeviceMonitorGetProvidersMethodInfo-    ResolveDeviceMonitorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveDeviceMonitorMethod "getShowAllDevices" o = DeviceMonitorGetShowAllDevicesMethodInfo-    ResolveDeviceMonitorMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveDeviceMonitorMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveDeviceMonitorMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveDeviceMonitorMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveDeviceMonitorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveDeviceMonitorMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveDeviceMonitorMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveDeviceMonitorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveDeviceMonitorMethod "setShowAllDevices" o = DeviceMonitorSetShowAllDevicesMethodInfo-    ResolveDeviceMonitorMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDeviceMonitorMethod t DeviceMonitor, O.MethodInfo info DeviceMonitor p) => OL.IsLabel t (DeviceMonitor -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- VVV Prop "show-all"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@show-all@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' deviceMonitor #showAll-@--}-getDeviceMonitorShowAll :: (MonadIO m, IsDeviceMonitor o) => o -> m Bool-getDeviceMonitorShowAll obj = liftIO $ B.Properties.getObjectPropertyBool obj "show-all"--{- |-Set the value of the “@show-all@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' deviceMonitor [ #showAll 'Data.GI.Base.Attributes.:=' value ]-@--}-setDeviceMonitorShowAll :: (MonadIO m, IsDeviceMonitor o) => o -> Bool -> m ()-setDeviceMonitorShowAll obj val = liftIO $ B.Properties.setObjectPropertyBool obj "show-all" val--{- |-Construct a `GValueConstruct` with valid value for the “@show-all@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructDeviceMonitorShowAll :: (IsDeviceMonitor o) => Bool -> IO (GValueConstruct o)-constructDeviceMonitorShowAll val = B.Properties.constructObjectPropertyBool "show-all" val--#if ENABLE_OVERLOADING-data DeviceMonitorShowAllPropertyInfo-instance AttrInfo DeviceMonitorShowAllPropertyInfo where-    type AttrAllowedOps DeviceMonitorShowAllPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint DeviceMonitorShowAllPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint DeviceMonitorShowAllPropertyInfo = IsDeviceMonitor-    type AttrGetType DeviceMonitorShowAllPropertyInfo = Bool-    type AttrLabel DeviceMonitorShowAllPropertyInfo = "show-all"-    type AttrOrigin DeviceMonitorShowAllPropertyInfo = DeviceMonitor-    attrGet _ = getDeviceMonitorShowAll-    attrSet _ = setDeviceMonitorShowAll-    attrConstruct _ = constructDeviceMonitorShowAll-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList DeviceMonitor-type instance O.AttributeList DeviceMonitor = DeviceMonitorAttributeList-type DeviceMonitorAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("showAll", DeviceMonitorShowAllPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-deviceMonitorShowAll :: AttrLabelProxy "showAll"-deviceMonitorShowAll = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList DeviceMonitor = DeviceMonitorSignalList-type DeviceMonitorSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method DeviceMonitor::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_new" gst_device_monitor_new :: -    IO (Ptr DeviceMonitor)--{- |-Create a new 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor'--/Since: 1.4/--}-deviceMonitorNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m DeviceMonitor-    {- ^ __Returns:__ a new device monitor. -}-deviceMonitorNew  = liftIO $ do-    result <- gst_device_monitor_new-    checkUnexpectedReturnNULL "deviceMonitorNew" result-    result' <- (wrapObject DeviceMonitor) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DeviceMonitor::add_filter--- method type : OrdinaryMethod--- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a device monitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "classes", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "device classes to use as filter or %NULL for any class", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstCaps to filter or %NULL for ANY", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_add_filter" gst_device_monitor_add_filter :: -    Ptr DeviceMonitor ->                    -- monitor : TInterface (Name {namespace = "Gst", name = "DeviceMonitor"})-    CString ->                              -- classes : TBasicType TUTF8-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO Word32--{- |-Adds a filter for which 'GI.Gst.Objects.Device.Device' will be monitored, any device that matches-all these classes and the 'GI.Gst.Structs.Caps.Caps' 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 'GI.Gst.Structs.Caps.Caps' supported by the device as returned by 'GI.Gst.Objects.Device.deviceGetCaps' are-not intersected with caps filters added using this function.--Filters must be added before the 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' is started.--/Since: 1.4/--}-deviceMonitorAddFilter ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceMonitor a) =>-    a-    {- ^ /@monitor@/: a device monitor -}-    -> Maybe (T.Text)-    {- ^ /@classes@/: device classes to use as filter or 'Nothing' for any class -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to filter or 'Nothing' for ANY -}-    -> m Word32-    {- ^ __Returns:__ The id of the new filter or 0 if no provider matched the filter\'s- classes. -}-deviceMonitorAddFilter monitor classes caps = liftIO $ do-    monitor' <- unsafeManagedPtrCastPtr monitor-    maybeClasses <- case classes of-        Nothing -> return nullPtr-        Just jClasses -> do-            jClasses' <- textToCString jClasses-            return jClasses'-    maybeCaps <- case caps of-        Nothing -> return nullPtr-        Just jCaps -> do-            jCaps' <- unsafeManagedPtrGetPtr jCaps-            return jCaps'-    result <- gst_device_monitor_add_filter monitor' maybeClasses maybeCaps-    touchManagedPtr monitor-    whenJust caps touchManagedPtr-    freeMem maybeClasses-    return result--#if ENABLE_OVERLOADING-data DeviceMonitorAddFilterMethodInfo-instance (signature ~ (Maybe (T.Text) -> Maybe (Gst.Caps.Caps) -> m Word32), MonadIO m, IsDeviceMonitor a) => O.MethodInfo DeviceMonitorAddFilterMethodInfo a signature where-    overloadedMethod _ = deviceMonitorAddFilter--#endif---- method DeviceMonitor::get_bus--- method type : OrdinaryMethod--- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Bus"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_get_bus" gst_device_monitor_get_bus :: -    Ptr DeviceMonitor ->                    -- monitor : TInterface (Name {namespace = "Gst", name = "DeviceMonitor"})-    IO (Ptr Gst.Bus.Bus)--{- |-Gets the 'GI.Gst.Objects.Bus.Bus' of this 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor'--/Since: 1.4/--}-deviceMonitorGetBus ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceMonitor a) =>-    a-    {- ^ /@monitor@/: a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> m Gst.Bus.Bus-    {- ^ __Returns:__ a 'GI.Gst.Objects.Bus.Bus' -}-deviceMonitorGetBus monitor = liftIO $ do-    monitor' <- unsafeManagedPtrCastPtr monitor-    result <- gst_device_monitor_get_bus monitor'-    checkUnexpectedReturnNULL "deviceMonitorGetBus" result-    result' <- (wrapObject Gst.Bus.Bus) result-    touchManagedPtr monitor-    return result'--#if ENABLE_OVERLOADING-data DeviceMonitorGetBusMethodInfo-instance (signature ~ (m Gst.Bus.Bus), MonadIO m, IsDeviceMonitor a) => O.MethodInfo DeviceMonitorGetBusMethodInfo a signature where-    overloadedMethod _ = deviceMonitorGetBus--#endif---- method DeviceMonitor::get_devices--- method type : OrdinaryMethod--- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "Device"})))--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_get_devices" gst_device_monitor_get_devices :: -    Ptr DeviceMonitor ->                    -- monitor : TInterface (Name {namespace = "Gst", name = "DeviceMonitor"})-    IO (Ptr (GList (Ptr Gst.Device.Device)))--{- |-Gets a list of devices from all of the relevant monitors. This may actually-probe the hardware if the monitor is not currently started.--/Since: 1.4/--}-deviceMonitorGetDevices ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceMonitor a) =>-    a-    {- ^ /@monitor@/: A 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> m [Gst.Device.Device]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of-  'GI.Gst.Objects.Device.Device' -}-deviceMonitorGetDevices monitor = liftIO $ do-    monitor' <- unsafeManagedPtrCastPtr monitor-    result <- gst_device_monitor_get_devices monitor'-    result' <- unpackGList result-    result'' <- mapM (wrapObject Gst.Device.Device) result'-    g_list_free result-    touchManagedPtr monitor-    return result''--#if ENABLE_OVERLOADING-data DeviceMonitorGetDevicesMethodInfo-instance (signature ~ (m [Gst.Device.Device]), MonadIO m, IsDeviceMonitor a) => O.MethodInfo DeviceMonitorGetDevicesMethodInfo a signature where-    overloadedMethod _ = deviceMonitorGetDevices--#endif---- method DeviceMonitor::get_providers--- method type : OrdinaryMethod--- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_get_providers" gst_device_monitor_get_providers :: -    Ptr DeviceMonitor ->                    -- monitor : TInterface (Name {namespace = "Gst", name = "DeviceMonitor"})-    IO (Ptr CString)--{- |-Get a list of the currently selected device provider factories.--This--/Since: 1.6/--}-deviceMonitorGetProviders ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceMonitor a) =>-    a-    {- ^ /@monitor@/: a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' -}-    -> m [T.Text]-    {- ^ __Returns:__ -    A list of device provider factory names that are currently being-    monitored by /@monitor@/ or 'Nothing' when nothing is being monitored. -}-deviceMonitorGetProviders monitor = liftIO $ do-    monitor' <- unsafeManagedPtrCastPtr monitor-    result <- gst_device_monitor_get_providers monitor'-    checkUnexpectedReturnNULL "deviceMonitorGetProviders" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    touchManagedPtr monitor-    return result'--#if ENABLE_OVERLOADING-data DeviceMonitorGetProvidersMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m, IsDeviceMonitor a) => O.MethodInfo DeviceMonitorGetProvidersMethodInfo a signature where-    overloadedMethod _ = deviceMonitorGetProviders--#endif---- method DeviceMonitor::get_show_all_devices--- method type : OrdinaryMethod--- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_get_show_all_devices" gst_device_monitor_get_show_all_devices :: -    Ptr DeviceMonitor ->                    -- monitor : TInterface (Name {namespace = "Gst", name = "DeviceMonitor"})-    IO CInt--{- |-Get if /@monitor@/ is curretly showing all devices, even those from hidden-providers.--/Since: 1.6/--}-deviceMonitorGetShowAllDevices ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceMonitor a) =>-    a-    {- ^ /@monitor@/: a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' -}-    -> m Bool-    {- ^ __Returns:__ 'True' when all devices will be shown. -}-deviceMonitorGetShowAllDevices monitor = liftIO $ do-    monitor' <- unsafeManagedPtrCastPtr monitor-    result <- gst_device_monitor_get_show_all_devices monitor'-    let result' = (/= 0) result-    touchManagedPtr monitor-    return result'--#if ENABLE_OVERLOADING-data DeviceMonitorGetShowAllDevicesMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsDeviceMonitor a) => O.MethodInfo DeviceMonitorGetShowAllDevicesMethodInfo a signature where-    overloadedMethod _ = deviceMonitorGetShowAllDevices--#endif---- method DeviceMonitor::remove_filter--- method type : OrdinaryMethod--- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a device monitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id of the filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_remove_filter" gst_device_monitor_remove_filter :: -    Ptr DeviceMonitor ->                    -- monitor : TInterface (Name {namespace = "Gst", name = "DeviceMonitor"})-    Word32 ->                               -- filter_id : TBasicType TUInt-    IO CInt--{- |-Removes a filter from the 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' using the id that was returned-by 'GI.Gst.Objects.DeviceMonitor.deviceMonitorAddFilter'.--/Since: 1.4/--}-deviceMonitorRemoveFilter ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceMonitor a) =>-    a-    {- ^ /@monitor@/: a device monitor -}-    -> Word32-    {- ^ /@filterId@/: the id of the filter -}-    -> m Bool-    {- ^ __Returns:__ 'True' of the filter id was valid, 'False' otherwise -}-deviceMonitorRemoveFilter monitor filterId = liftIO $ do-    monitor' <- unsafeManagedPtrCastPtr monitor-    result <- gst_device_monitor_remove_filter monitor' filterId-    let result' = (/= 0) result-    touchManagedPtr monitor-    return result'--#if ENABLE_OVERLOADING-data DeviceMonitorRemoveFilterMethodInfo-instance (signature ~ (Word32 -> m Bool), MonadIO m, IsDeviceMonitor a) => O.MethodInfo DeviceMonitorRemoveFilterMethodInfo a signature where-    overloadedMethod _ = deviceMonitorRemoveFilter--#endif---- method DeviceMonitor::set_show_all_devices--- method type : OrdinaryMethod--- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "show_all", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "show all devices", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_set_show_all_devices" gst_device_monitor_set_show_all_devices :: -    Ptr DeviceMonitor ->                    -- monitor : TInterface (Name {namespace = "Gst", name = "DeviceMonitor"})-    CInt ->                                 -- show_all : TBasicType TBoolean-    IO ()--{- |-Set if all devices should be visible, even those devices from hidden-providers. Setting /@showAll@/ to true might show some devices multiple times.--/Since: 1.6/--}-deviceMonitorSetShowAllDevices ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceMonitor a) =>-    a-    {- ^ /@monitor@/: a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' -}-    -> Bool-    {- ^ /@showAll@/: show all devices -}-    -> m ()-deviceMonitorSetShowAllDevices monitor showAll = liftIO $ do-    monitor' <- unsafeManagedPtrCastPtr monitor-    let showAll' = (fromIntegral . fromEnum) showAll-    gst_device_monitor_set_show_all_devices monitor' showAll'-    touchManagedPtr monitor-    return ()--#if ENABLE_OVERLOADING-data DeviceMonitorSetShowAllDevicesMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsDeviceMonitor a) => O.MethodInfo DeviceMonitorSetShowAllDevicesMethodInfo a signature where-    overloadedMethod _ = deviceMonitorSetShowAllDevices--#endif---- method DeviceMonitor::start--- method type : OrdinaryMethod--- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstDeviceMonitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_start" gst_device_monitor_start :: -    Ptr DeviceMonitor ->                    -- monitor : TInterface (Name {namespace = "Gst", name = "DeviceMonitor"})-    IO CInt--{- |-Starts monitoring the devices, one this has succeeded, the-'GI.Gst.Flags.MessageTypeDeviceAdded' and 'GI.Gst.Flags.MessageTypeDeviceRemoved' messages-will be emitted on the bus when the list of devices changes.--/Since: 1.4/--}-deviceMonitorStart ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceMonitor a) =>-    a-    {- ^ /@monitor@/: A 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the device monitoring could be started -}-deviceMonitorStart monitor = liftIO $ do-    monitor' <- unsafeManagedPtrCastPtr monitor-    result <- gst_device_monitor_start monitor'-    let result' = (/= 0) result-    touchManagedPtr monitor-    return result'--#if ENABLE_OVERLOADING-data DeviceMonitorStartMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsDeviceMonitor a) => O.MethodInfo DeviceMonitorStartMethodInfo a signature where-    overloadedMethod _ = deviceMonitorStart--#endif---- method DeviceMonitor::stop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gst", name = "DeviceMonitor"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_device_monitor_stop" gst_device_monitor_stop :: -    Ptr DeviceMonitor ->                    -- monitor : TInterface (Name {namespace = "Gst", name = "DeviceMonitor"})-    IO ()--{- |-Stops monitoring the devices.--/Since: 1.4/--}-deviceMonitorStop ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceMonitor a) =>-    a-    {- ^ /@monitor@/: A 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> m ()-deviceMonitorStop monitor = liftIO $ do-    monitor' <- unsafeManagedPtrCastPtr monitor-    gst_device_monitor_stop monitor'-    touchManagedPtr monitor-    return ()--#if ENABLE_OVERLOADING-data DeviceMonitorStopMethodInfo-instance (signature ~ (m ()), MonadIO m, IsDeviceMonitor a) => O.MethodInfo DeviceMonitorStopMethodInfo a signature where-    overloadedMethod _ = deviceMonitorStop--#endif--
− GI/Gst/Objects/DeviceMonitor.hs-boot
@@ -1,59 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.DeviceMonitor where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype DeviceMonitor = DeviceMonitor (ManagedPtr DeviceMonitor)-instance GObject DeviceMonitor where-class (GObject o, O.IsDescendantOf DeviceMonitor o) => IsDeviceMonitor o-instance (GObject o, O.IsDescendantOf DeviceMonitor o) => IsDeviceMonitor o-instance O.HasParentTypes DeviceMonitor-#if ENABLE_OVERLOADING-data DeviceMonitorShowAllPropertyInfo-#endif-#if ENABLE_OVERLOADING-data DeviceMonitorAddFilterMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceMonitorGetBusMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceMonitorGetDevicesMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceMonitorGetProvidersMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceMonitorGetShowAllDevicesMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceMonitorRemoveFilterMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceMonitorSetShowAllDevicesMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceMonitorStartMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceMonitorStopMethodInfo-#endif
− GI/Gst/Objects/DeviceProvider.hs
@@ -1,1063 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A 'GI.Gst.Objects.DeviceProvider.DeviceProvider' 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 'GI.Gst.Objects.DeviceProvider.DeviceProvider' subclass is a singleton, a plugin should-normally provide a single subclass for all devices.--Applications would normally use a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor' to monitor devices-from all relevant providers.--/Since: 1.4/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.DeviceProvider-    ( ---- * Exported types-    DeviceProvider(..)                      ,-    IsDeviceProvider                        ,-    toDeviceProvider                        ,-    noDeviceProvider                        ,--- -- * Methods--- ** canMonitor #method:canMonitor#--#if ENABLE_OVERLOADING-    DeviceProviderCanMonitorMethodInfo      ,-#endif-    deviceProviderCanMonitor                ,----- ** deviceAdd #method:deviceAdd#--#if ENABLE_OVERLOADING-    DeviceProviderDeviceAddMethodInfo       ,-#endif-    deviceProviderDeviceAdd                 ,----- ** deviceChanged #method:deviceChanged#--#if ENABLE_OVERLOADING-    DeviceProviderDeviceChangedMethodInfo   ,-#endif-    deviceProviderDeviceChanged             ,----- ** deviceRemove #method:deviceRemove#--#if ENABLE_OVERLOADING-    DeviceProviderDeviceRemoveMethodInfo    ,-#endif-    deviceProviderDeviceRemove              ,----- ** getBus #method:getBus#--#if ENABLE_OVERLOADING-    DeviceProviderGetBusMethodInfo          ,-#endif-    deviceProviderGetBus                    ,----- ** getDevices #method:getDevices#--#if ENABLE_OVERLOADING-    DeviceProviderGetDevicesMethodInfo      ,-#endif-    deviceProviderGetDevices                ,----- ** getFactory #method:getFactory#--#if ENABLE_OVERLOADING-    DeviceProviderGetFactoryMethodInfo      ,-#endif-    deviceProviderGetFactory                ,----- ** getHiddenProviders #method:getHiddenProviders#--#if ENABLE_OVERLOADING-    DeviceProviderGetHiddenProvidersMethodInfo,-#endif-    deviceProviderGetHiddenProviders        ,----- ** getMetadata #method:getMetadata#--#if ENABLE_OVERLOADING-    DeviceProviderGetMetadataMethodInfo     ,-#endif-    deviceProviderGetMetadata               ,----- ** hideProvider #method:hideProvider#--#if ENABLE_OVERLOADING-    DeviceProviderHideProviderMethodInfo    ,-#endif-    deviceProviderHideProvider              ,----- ** register #method:register#--    deviceProviderRegister                  ,----- ** start #method:start#--#if ENABLE_OVERLOADING-    DeviceProviderStartMethodInfo           ,-#endif-    deviceProviderStart                     ,----- ** stop #method:stop#--#if ENABLE_OVERLOADING-    DeviceProviderStopMethodInfo            ,-#endif-    deviceProviderStop                      ,----- ** unhideProvider #method:unhideProvider#--#if ENABLE_OVERLOADING-    DeviceProviderUnhideProviderMethodInfo  ,-#endif-    deviceProviderUnhideProvider            ,----- -- * Signals--- ** providerHidden #signal:providerHidden#--    C_DeviceProviderProviderHiddenCallback  ,-    DeviceProviderProviderHiddenCallback    ,-#if ENABLE_OVERLOADING-    DeviceProviderProviderHiddenSignalInfo  ,-#endif-    afterDeviceProviderProviderHidden       ,-    genClosure_DeviceProviderProviderHidden ,-    mk_DeviceProviderProviderHiddenCallback ,-    noDeviceProviderProviderHiddenCallback  ,-    onDeviceProviderProviderHidden          ,-    wrap_DeviceProviderProviderHiddenCallback,----- ** providerUnhidden #signal:providerUnhidden#--    C_DeviceProviderProviderUnhiddenCallback,-    DeviceProviderProviderUnhiddenCallback  ,-#if ENABLE_OVERLOADING-    DeviceProviderProviderUnhiddenSignalInfo,-#endif-    afterDeviceProviderProviderUnhidden     ,-    genClosure_DeviceProviderProviderUnhidden,-    mk_DeviceProviderProviderUnhiddenCallback,-    noDeviceProviderProviderUnhiddenCallback,-    onDeviceProviderProviderUnhidden        ,-    wrap_DeviceProviderProviderUnhiddenCallback,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Bus as Gst.Bus-import {-# SOURCE #-} qualified GI.Gst.Objects.Device as Gst.Device-import {-# SOURCE #-} qualified GI.Gst.Objects.DeviceProviderFactory as Gst.DeviceProviderFactory-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Plugin as Gst.Plugin---- | Memory-managed wrapper type.-newtype DeviceProvider = DeviceProvider (ManagedPtr DeviceProvider)-foreign import ccall "gst_device_provider_get_type"-    c_gst_device_provider_get_type :: IO GType--instance GObject DeviceProvider where-    gobjectType = c_gst_device_provider_get_type-    ---- | Type class for types which can be safely cast to `DeviceProvider`, for instance with `toDeviceProvider`.-class (GObject o, O.IsDescendantOf DeviceProvider o) => IsDeviceProvider o-instance (GObject o, O.IsDescendantOf DeviceProvider o) => IsDeviceProvider o--instance O.HasParentTypes DeviceProvider-type instance O.ParentTypes DeviceProvider = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `DeviceProvider`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toDeviceProvider :: (MonadIO m, IsDeviceProvider o) => o -> m DeviceProvider-toDeviceProvider = liftIO . unsafeCastTo DeviceProvider---- | A convenience alias for `Nothing` :: `Maybe` `DeviceProvider`.-noDeviceProvider :: Maybe DeviceProvider-noDeviceProvider = Nothing--#if ENABLE_OVERLOADING-type family ResolveDeviceProviderMethod (t :: Symbol) (o :: *) :: * where-    ResolveDeviceProviderMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveDeviceProviderMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveDeviceProviderMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveDeviceProviderMethod "canMonitor" o = DeviceProviderCanMonitorMethodInfo-    ResolveDeviceProviderMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveDeviceProviderMethod "deviceAdd" o = DeviceProviderDeviceAddMethodInfo-    ResolveDeviceProviderMethod "deviceChanged" o = DeviceProviderDeviceChangedMethodInfo-    ResolveDeviceProviderMethod "deviceRemove" o = DeviceProviderDeviceRemoveMethodInfo-    ResolveDeviceProviderMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveDeviceProviderMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveDeviceProviderMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveDeviceProviderMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveDeviceProviderMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveDeviceProviderMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveDeviceProviderMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveDeviceProviderMethod "hideProvider" o = DeviceProviderHideProviderMethodInfo-    ResolveDeviceProviderMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveDeviceProviderMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveDeviceProviderMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveDeviceProviderMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveDeviceProviderMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveDeviceProviderMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveDeviceProviderMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveDeviceProviderMethod "start" o = DeviceProviderStartMethodInfo-    ResolveDeviceProviderMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveDeviceProviderMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveDeviceProviderMethod "stop" o = DeviceProviderStopMethodInfo-    ResolveDeviceProviderMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveDeviceProviderMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveDeviceProviderMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveDeviceProviderMethod "unhideProvider" o = DeviceProviderUnhideProviderMethodInfo-    ResolveDeviceProviderMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveDeviceProviderMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveDeviceProviderMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveDeviceProviderMethod "getBus" o = DeviceProviderGetBusMethodInfo-    ResolveDeviceProviderMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveDeviceProviderMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveDeviceProviderMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveDeviceProviderMethod "getDevices" o = DeviceProviderGetDevicesMethodInfo-    ResolveDeviceProviderMethod "getFactory" o = DeviceProviderGetFactoryMethodInfo-    ResolveDeviceProviderMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveDeviceProviderMethod "getHiddenProviders" o = DeviceProviderGetHiddenProvidersMethodInfo-    ResolveDeviceProviderMethod "getMetadata" o = DeviceProviderGetMetadataMethodInfo-    ResolveDeviceProviderMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveDeviceProviderMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveDeviceProviderMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveDeviceProviderMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveDeviceProviderMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveDeviceProviderMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveDeviceProviderMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveDeviceProviderMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveDeviceProviderMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveDeviceProviderMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveDeviceProviderMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveDeviceProviderMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveDeviceProviderMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveDeviceProviderMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDeviceProviderMethod t DeviceProvider, O.MethodInfo info DeviceProvider p) => OL.IsLabel t (DeviceProvider -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal DeviceProvider::provider-hidden-{- |-/No description available in the introspection data./--}-type DeviceProviderProviderHiddenCallback =-    T.Text-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `DeviceProviderProviderHiddenCallback`@.-noDeviceProviderProviderHiddenCallback :: Maybe DeviceProviderProviderHiddenCallback-noDeviceProviderProviderHiddenCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_DeviceProviderProviderHiddenCallback =-    Ptr () ->                               -- object-    CString ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_DeviceProviderProviderHiddenCallback`.-foreign import ccall "wrapper"-    mk_DeviceProviderProviderHiddenCallback :: C_DeviceProviderProviderHiddenCallback -> IO (FunPtr C_DeviceProviderProviderHiddenCallback)---- | Wrap the callback into a `GClosure`.-genClosure_DeviceProviderProviderHidden :: MonadIO m => DeviceProviderProviderHiddenCallback -> m (GClosure C_DeviceProviderProviderHiddenCallback)-genClosure_DeviceProviderProviderHidden cb = liftIO $ do-    let cb' = wrap_DeviceProviderProviderHiddenCallback cb-    mk_DeviceProviderProviderHiddenCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `DeviceProviderProviderHiddenCallback` into a `C_DeviceProviderProviderHiddenCallback`.-wrap_DeviceProviderProviderHiddenCallback ::-    DeviceProviderProviderHiddenCallback ->-    C_DeviceProviderProviderHiddenCallback-wrap_DeviceProviderProviderHiddenCallback _cb _ object _ = do-    object' <- cstringToText object-    _cb  object'---{- |-Connect a signal handler for the “@provider-hidden@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' deviceProvider #providerHidden callback-@--}-onDeviceProviderProviderHidden :: (IsDeviceProvider a, MonadIO m) => a -> DeviceProviderProviderHiddenCallback -> m SignalHandlerId-onDeviceProviderProviderHidden obj cb = liftIO $ do-    let cb' = wrap_DeviceProviderProviderHiddenCallback cb-    cb'' <- mk_DeviceProviderProviderHiddenCallback cb'-    connectSignalFunPtr obj "provider-hidden" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@provider-hidden@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' deviceProvider #providerHidden callback-@--}-afterDeviceProviderProviderHidden :: (IsDeviceProvider a, MonadIO m) => a -> DeviceProviderProviderHiddenCallback -> m SignalHandlerId-afterDeviceProviderProviderHidden obj cb = liftIO $ do-    let cb' = wrap_DeviceProviderProviderHiddenCallback cb-    cb'' <- mk_DeviceProviderProviderHiddenCallback cb'-    connectSignalFunPtr obj "provider-hidden" cb'' SignalConnectAfter----- signal DeviceProvider::provider-unhidden-{- |-/No description available in the introspection data./--}-type DeviceProviderProviderUnhiddenCallback =-    T.Text-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `DeviceProviderProviderUnhiddenCallback`@.-noDeviceProviderProviderUnhiddenCallback :: Maybe DeviceProviderProviderUnhiddenCallback-noDeviceProviderProviderUnhiddenCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_DeviceProviderProviderUnhiddenCallback =-    Ptr () ->                               -- object-    CString ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_DeviceProviderProviderUnhiddenCallback`.-foreign import ccall "wrapper"-    mk_DeviceProviderProviderUnhiddenCallback :: C_DeviceProviderProviderUnhiddenCallback -> IO (FunPtr C_DeviceProviderProviderUnhiddenCallback)---- | Wrap the callback into a `GClosure`.-genClosure_DeviceProviderProviderUnhidden :: MonadIO m => DeviceProviderProviderUnhiddenCallback -> m (GClosure C_DeviceProviderProviderUnhiddenCallback)-genClosure_DeviceProviderProviderUnhidden cb = liftIO $ do-    let cb' = wrap_DeviceProviderProviderUnhiddenCallback cb-    mk_DeviceProviderProviderUnhiddenCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `DeviceProviderProviderUnhiddenCallback` into a `C_DeviceProviderProviderUnhiddenCallback`.-wrap_DeviceProviderProviderUnhiddenCallback ::-    DeviceProviderProviderUnhiddenCallback ->-    C_DeviceProviderProviderUnhiddenCallback-wrap_DeviceProviderProviderUnhiddenCallback _cb _ object _ = do-    object' <- cstringToText object-    _cb  object'---{- |-Connect a signal handler for the “@provider-unhidden@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' deviceProvider #providerUnhidden callback-@--}-onDeviceProviderProviderUnhidden :: (IsDeviceProvider a, MonadIO m) => a -> DeviceProviderProviderUnhiddenCallback -> m SignalHandlerId-onDeviceProviderProviderUnhidden obj cb = liftIO $ do-    let cb' = wrap_DeviceProviderProviderUnhiddenCallback cb-    cb'' <- mk_DeviceProviderProviderUnhiddenCallback cb'-    connectSignalFunPtr obj "provider-unhidden" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@provider-unhidden@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' deviceProvider #providerUnhidden callback-@--}-afterDeviceProviderProviderUnhidden :: (IsDeviceProvider a, MonadIO m) => a -> DeviceProviderProviderUnhiddenCallback -> m SignalHandlerId-afterDeviceProviderProviderUnhidden obj cb = liftIO $ do-    let cb' = wrap_DeviceProviderProviderUnhiddenCallback cb-    cb'' <- mk_DeviceProviderProviderUnhiddenCallback cb'-    connectSignalFunPtr obj "provider-unhidden" cb'' SignalConnectAfter---#if ENABLE_OVERLOADING-instance O.HasAttributeList DeviceProvider-type instance O.AttributeList DeviceProvider = DeviceProviderAttributeList-type DeviceProviderAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-data DeviceProviderProviderHiddenSignalInfo-instance SignalInfo DeviceProviderProviderHiddenSignalInfo where-    type HaskellCallbackType DeviceProviderProviderHiddenSignalInfo = DeviceProviderProviderHiddenCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_DeviceProviderProviderHiddenCallback cb-        cb'' <- mk_DeviceProviderProviderHiddenCallback cb'-        connectSignalFunPtr obj "provider-hidden" cb'' connectMode--data DeviceProviderProviderUnhiddenSignalInfo-instance SignalInfo DeviceProviderProviderUnhiddenSignalInfo where-    type HaskellCallbackType DeviceProviderProviderUnhiddenSignalInfo = DeviceProviderProviderUnhiddenCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_DeviceProviderProviderUnhiddenCallback cb-        cb'' <- mk_DeviceProviderProviderUnhiddenCallback cb'-        connectSignalFunPtr obj "provider-unhidden" cb'' connectMode--type instance O.SignalList DeviceProvider = DeviceProviderSignalList-type DeviceProviderSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("providerHidden", DeviceProviderProviderHiddenSignalInfo), '("providerUnhidden", DeviceProviderProviderUnhiddenSignalInfo)] :: [(Symbol, *)])--#endif---- method DeviceProvider::can_monitor--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_can_monitor" gst_device_provider_can_monitor :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    IO CInt--{- |-/No description available in the introspection data./--}-deviceProviderCanMonitor ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    -> m Bool-deviceProviderCanMonitor provider = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    result <- gst_device_provider_can_monitor provider'-    let result' = (/= 0) result-    touchManagedPtr provider-    return result'--#if ENABLE_OVERLOADING-data DeviceProviderCanMonitorMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderCanMonitorMethodInfo a signature where-    overloadedMethod _ = deviceProviderCanMonitor--#endif---- method DeviceProvider::device_add--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice that has been added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_device_add" gst_device_provider_device_add :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    Ptr Gst.Device.Device ->                -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO ()--{- |-Posts a message on the provider\'s 'GI.Gst.Objects.Bus.Bus' 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()/@).--/Since: 1.4/--}-deviceProviderDeviceAdd ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a, Gst.Device.IsDevice b) =>-    a-    {- ^ /@provider@/: a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> b-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' that has been added -}-    -> m ()-deviceProviderDeviceAdd provider device = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    device' <- unsafeManagedPtrCastPtr device-    gst_device_provider_device_add provider' device'-    touchManagedPtr provider-    touchManagedPtr device-    return ()--#if ENABLE_OVERLOADING-data DeviceProviderDeviceAddMethodInfo-instance (signature ~ (b -> m ()), MonadIO m, IsDeviceProvider a, Gst.Device.IsDevice b) => O.MethodInfo DeviceProviderDeviceAddMethodInfo a signature where-    overloadedMethod _ = deviceProviderDeviceAdd--#endif---- method DeviceProvider::device_changed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new version of @changed_device", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "changed_device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the old version of the device that has been udpated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_device_changed" gst_device_provider_device_changed :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    Ptr Gst.Device.Device ->                -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    Ptr Gst.Device.Device ->                -- changed_device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO ()--{- |-This function is used when /@changedDevice@/ 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. 'GI.Gst.Objects.Device.Device' is immutable-for MT. safety purposes so this is an \"atomic\" way of letting the application-know when a device was modified.--/Since: 1.16/--}-deviceProviderDeviceChanged ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a, Gst.Device.IsDevice b, Gst.Device.IsDevice c) =>-    a-    -> b-    {- ^ /@device@/: the new version of /@changedDevice@/ -}-    -> c-    {- ^ /@changedDevice@/: the old version of the device that has been udpated -}-    -> m ()-deviceProviderDeviceChanged provider device changedDevice = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    device' <- unsafeManagedPtrCastPtr device-    changedDevice' <- unsafeManagedPtrCastPtr changedDevice-    gst_device_provider_device_changed provider' device' changedDevice'-    touchManagedPtr provider-    touchManagedPtr device-    touchManagedPtr changedDevice-    return ()--#if ENABLE_OVERLOADING-data DeviceProviderDeviceChangedMethodInfo-instance (signature ~ (b -> c -> m ()), MonadIO m, IsDeviceProvider a, Gst.Device.IsDevice b, Gst.Device.IsDevice c) => O.MethodInfo DeviceProviderDeviceChangedMethodInfo a signature where-    overloadedMethod _ = deviceProviderDeviceChanged--#endif---- method DeviceProvider::device_remove--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDevice that has been removed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_device_remove" gst_device_provider_device_remove :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    Ptr Gst.Device.Device ->                -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO ()--{- |-Posts a message on the provider\'s 'GI.Gst.Objects.Bus.Bus' to inform applications that-a device has been removed.--This is for use by subclasses.--/Since: 1.4/--}-deviceProviderDeviceRemove ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a, Gst.Device.IsDevice b) =>-    a-    {- ^ /@provider@/: a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> b-    {- ^ /@device@/: a 'GI.Gst.Objects.Device.Device' that has been removed -}-    -> m ()-deviceProviderDeviceRemove provider device = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    device' <- unsafeManagedPtrCastPtr device-    gst_device_provider_device_remove provider' device'-    touchManagedPtr provider-    touchManagedPtr device-    return ()--#if ENABLE_OVERLOADING-data DeviceProviderDeviceRemoveMethodInfo-instance (signature ~ (b -> m ()), MonadIO m, IsDeviceProvider a, Gst.Device.IsDevice b) => O.MethodInfo DeviceProviderDeviceRemoveMethodInfo a signature where-    overloadedMethod _ = deviceProviderDeviceRemove--#endif---- method DeviceProvider::get_bus--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Bus"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_get_bus" gst_device_provider_get_bus :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    IO (Ptr Gst.Bus.Bus)--{- |-Gets the 'GI.Gst.Objects.Bus.Bus' of this 'GI.Gst.Objects.DeviceProvider.DeviceProvider'--/Since: 1.4/--}-deviceProviderGetBus ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    {- ^ /@provider@/: a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> m Gst.Bus.Bus-    {- ^ __Returns:__ a 'GI.Gst.Objects.Bus.Bus' -}-deviceProviderGetBus provider = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    result <- gst_device_provider_get_bus provider'-    checkUnexpectedReturnNULL "deviceProviderGetBus" result-    result' <- (wrapObject Gst.Bus.Bus) result-    touchManagedPtr provider-    return result'--#if ENABLE_OVERLOADING-data DeviceProviderGetBusMethodInfo-instance (signature ~ (m Gst.Bus.Bus), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderGetBusMethodInfo a signature where-    overloadedMethod _ = deviceProviderGetBus--#endif---- method DeviceProvider::get_devices--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "Device"})))--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_get_devices" gst_device_provider_get_devices :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    IO (Ptr (GList (Ptr Gst.Device.Device)))--{- |-Gets a list of devices that this provider understands. This may actually-probe the hardware if the provider is not currently started.--/Since: 1.4/--}-deviceProviderGetDevices ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    {- ^ /@provider@/: A 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> m [Gst.Device.Device]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of-  'GI.Gst.Objects.Device.Device' -}-deviceProviderGetDevices provider = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    result <- gst_device_provider_get_devices provider'-    result' <- unpackGList result-    result'' <- mapM (wrapObject Gst.Device.Device) result'-    g_list_free result-    touchManagedPtr provider-    return result''--#if ENABLE_OVERLOADING-data DeviceProviderGetDevicesMethodInfo-instance (signature ~ (m [Gst.Device.Device]), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderGetDevicesMethodInfo a signature where-    overloadedMethod _ = deviceProviderGetDevices--#endif---- method DeviceProvider::get_factory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProvider to request the device provider factory of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_get_factory" gst_device_provider_get_factory :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    IO (Ptr Gst.DeviceProviderFactory.DeviceProviderFactory)--{- |-Retrieves the factory that was used to create this device provider.--/Since: 1.4/--}-deviceProviderGetFactory ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    {- ^ /@provider@/: a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' to request the device provider factory of. -}-    -> m Gst.DeviceProviderFactory.DeviceProviderFactory-    {- ^ __Returns:__ the 'GI.Gst.Objects.DeviceProviderFactory.DeviceProviderFactory' used for-    creating this device provider. no refcounting is needed. -}-deviceProviderGetFactory provider = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    result <- gst_device_provider_get_factory provider'-    checkUnexpectedReturnNULL "deviceProviderGetFactory" result-    result' <- (newObject Gst.DeviceProviderFactory.DeviceProviderFactory) result-    touchManagedPtr provider-    return result'--#if ENABLE_OVERLOADING-data DeviceProviderGetFactoryMethodInfo-instance (signature ~ (m Gst.DeviceProviderFactory.DeviceProviderFactory), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderGetFactoryMethodInfo a signature where-    overloadedMethod _ = deviceProviderGetFactory--#endif---- method DeviceProvider::get_hidden_providers--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_get_hidden_providers" gst_device_provider_get_hidden_providers :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    IO (Ptr CString)--{- |-Get the provider factory names of the 'GI.Gst.Objects.DeviceProvider.DeviceProvider' instances that-are hidden by /@provider@/.--/Since: 1.6/--}-deviceProviderGetHiddenProviders ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    {- ^ /@provider@/: a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> m [T.Text]-    {- ^ __Returns:__ -  a list of hidden providers factory names or 'Nothing' when-  nothing is hidden by /@provider@/. Free with g_strfreev. -}-deviceProviderGetHiddenProviders provider = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    result <- gst_device_provider_get_hidden_providers provider'-    checkUnexpectedReturnNULL "deviceProviderGetHiddenProviders" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    touchManagedPtr provider-    return result'--#if ENABLE_OVERLOADING-data DeviceProviderGetHiddenProvidersMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderGetHiddenProvidersMethodInfo a signature where-    overloadedMethod _ = deviceProviderGetHiddenProviders--#endif---- method DeviceProvider::get_metadata--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "provider to get metadata for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_get_metadata" gst_device_provider_get_metadata :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    CString ->                              -- key : TBasicType TUTF8-    IO CString--{- |-Get metadata with /@key@/ in /@provider@/.--/Since: 1.14/--}-deviceProviderGetMetadata ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    {- ^ /@provider@/: provider to get metadata for -}-    -> T.Text-    {- ^ /@key@/: the key to get -}-    -> m T.Text-    {- ^ __Returns:__ the metadata for /@key@/. -}-deviceProviderGetMetadata provider key = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    key' <- textToCString key-    result <- gst_device_provider_get_metadata provider' key'-    checkUnexpectedReturnNULL "deviceProviderGetMetadata" result-    result' <- cstringToText result-    touchManagedPtr provider-    freeMem key'-    return result'--#if ENABLE_OVERLOADING-data DeviceProviderGetMetadataMethodInfo-instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderGetMetadataMethodInfo a signature where-    overloadedMethod _ = deviceProviderGetMetadata--#endif---- method DeviceProvider::hide_provider--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a provider factory name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_hide_provider" gst_device_provider_hide_provider :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    CString ->                              -- name : TBasicType TUTF8-    IO ()--{- |-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.--/Since: 1.6/--}-deviceProviderHideProvider ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    {- ^ /@provider@/: a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> T.Text-    {- ^ /@name@/: a provider factory name -}-    -> m ()-deviceProviderHideProvider provider name = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    name' <- textToCString name-    gst_device_provider_hide_provider provider' name'-    touchManagedPtr provider-    freeMem name'-    return ()--#if ENABLE_OVERLOADING-data DeviceProviderHideProviderMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderHideProviderMethodInfo a signature where-    overloadedMethod _ = deviceProviderHideProvider--#endif---- method DeviceProvider::start--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_start" gst_device_provider_start :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    IO CInt--{- |-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 'GI.Gst.Objects.DeviceProvider.DeviceProvider' is a singleton,-'GI.Gst.Objects.DeviceProvider.deviceProviderStart' may already have been called by another-user of the object, 'GI.Gst.Objects.DeviceProvider.deviceProviderStop' needs to be called the same-number of times.--/Since: 1.4/--}-deviceProviderStart ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    {- ^ /@provider@/: A 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the device providering could be started -}-deviceProviderStart provider = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    result <- gst_device_provider_start provider'-    let result' = (/= 0) result-    touchManagedPtr provider-    return result'--#if ENABLE_OVERLOADING-data DeviceProviderStartMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderStartMethodInfo a signature where-    overloadedMethod _ = deviceProviderStart--#endif---- method DeviceProvider::stop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_stop" gst_device_provider_stop :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    IO ()--{- |-Decreases the use-count by one. If the use count reaches zero, this-'GI.Gst.Objects.DeviceProvider.DeviceProvider' will stop providering the devices. This needs to be-called the same number of times that 'GI.Gst.Objects.DeviceProvider.deviceProviderStart' was called.--/Since: 1.4/--}-deviceProviderStop ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    {- ^ /@provider@/: A 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> m ()-deviceProviderStop provider = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    gst_device_provider_stop provider'-    touchManagedPtr provider-    return ()--#if ENABLE_OVERLOADING-data DeviceProviderStopMethodInfo-instance (signature ~ (m ()), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderStopMethodInfo a signature where-    overloadedMethod _ = deviceProviderStop--#endif---- method DeviceProvider::unhide_provider--- method type : OrdinaryMethod--- Args : [Arg {argCName = "provider", argType = TInterface (Name {namespace = "Gst", name = "DeviceProvider"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProvider", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a provider factory name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_unhide_provider" gst_device_provider_unhide_provider :: -    Ptr DeviceProvider ->                   -- provider : TInterface (Name {namespace = "Gst", name = "DeviceProvider"})-    CString ->                              -- name : TBasicType TUTF8-    IO ()--{- |-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.--/Since: 1.6/--}-deviceProviderUnhideProvider ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProvider a) =>-    a-    {- ^ /@provider@/: a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' -}-    -> T.Text-    {- ^ /@name@/: a provider factory name -}-    -> m ()-deviceProviderUnhideProvider provider name = liftIO $ do-    provider' <- unsafeManagedPtrCastPtr provider-    name' <- textToCString name-    gst_device_provider_unhide_provider provider' name'-    touchManagedPtr provider-    freeMem name'-    return ()--#if ENABLE_OVERLOADING-data DeviceProviderUnhideProviderMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m, IsDeviceProvider a) => O.MethodInfo DeviceProviderUnhideProviderMethodInfo a signature where-    overloadedMethod _ = deviceProviderUnhideProvider--#endif---- method DeviceProvider::register--- method type : MemberFunction--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GstPlugin to register the device provider with, or %NULL for\n    a static device provider.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of device providers of this type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rank", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rank of device provider (higher rank means more importance when autoplugging)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GType of device provider to register", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_register" gst_device_provider_register :: -    Ptr Gst.Plugin.Plugin ->                -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    CString ->                              -- name : TBasicType TUTF8-    Word32 ->                               -- rank : TBasicType TUInt-    CGType ->                               -- type : TBasicType TGType-    IO CInt--{- |-Create a new device providerfactory capable of instantiating objects of the-/@type@/ and add the factory to /@plugin@/.--/Since: 1.4/--}-deviceProviderRegister ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Plugin.IsPlugin a) =>-    Maybe (a)-    {- ^ /@plugin@/: 'GI.Gst.Objects.Plugin.Plugin' to register the device provider with, or 'Nothing' for-    a static device provider. -}-    -> T.Text-    {- ^ /@name@/: name of device providers of this type -}-    -> Word32-    {- ^ /@rank@/: rank of device provider (higher rank means more importance when autoplugging) -}-    -> GType-    {- ^ /@type@/: GType of device provider to register -}-    -> m Bool-    {- ^ __Returns:__ 'True', if the registering succeeded, 'False' on error -}-deviceProviderRegister plugin name rank type_ = liftIO $ do-    maybePlugin <- case plugin of-        Nothing -> return nullPtr-        Just jPlugin -> do-            jPlugin' <- unsafeManagedPtrCastPtr jPlugin-            return jPlugin'-    name' <- textToCString name-    let type_' = gtypeToCGType type_-    result <- gst_device_provider_register maybePlugin name' rank type_'-    let result' = (/= 0) result-    whenJust plugin touchManagedPtr-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/DeviceProvider.hs-boot
@@ -1,74 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.DeviceProvider where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype DeviceProvider = DeviceProvider (ManagedPtr DeviceProvider)-instance GObject DeviceProvider where-class (GObject o, O.IsDescendantOf DeviceProvider o) => IsDeviceProvider o-instance (GObject o, O.IsDescendantOf DeviceProvider o) => IsDeviceProvider o-instance O.HasParentTypes DeviceProvider-#if ENABLE_OVERLOADING-data DeviceProviderProviderHiddenSignalInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderProviderUnhiddenSignalInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderCanMonitorMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderDeviceAddMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderDeviceChangedMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderDeviceRemoveMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderGetBusMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderGetDevicesMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderGetFactoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderGetHiddenProvidersMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderGetMetadataMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderHideProviderMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderStartMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderStopMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderUnhideProviderMethodInfo-#endif
− GI/Gst/Objects/DeviceProviderFactory.hs
@@ -1,608 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Objects.DeviceProviderFactory.DeviceProviderFactory' is used to create instances of device providers. A-GstDeviceProviderfactory can be added to a 'GI.Gst.Objects.Plugin.Plugin' as it is also a-'GI.Gst.Objects.PluginFeature.PluginFeature'.--Use the 'GI.Gst.Objects.DeviceProviderFactory.deviceProviderFactoryFind' and-'GI.Gst.Objects.DeviceProviderFactory.deviceProviderFactoryGet' functions to create device-provider instances or use 'GI.Gst.Objects.DeviceProviderFactory.deviceProviderFactoryGetByName' as a-convenient shortcut.--/Since: 1.4/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.DeviceProviderFactory-    ( ---- * Exported types-    DeviceProviderFactory(..)               ,-    IsDeviceProviderFactory                 ,-    toDeviceProviderFactory                 ,-    noDeviceProviderFactory                 ,--- -- * Methods--- ** find #method:find#--    deviceProviderFactoryFind               ,----- ** get #method:get#--#if ENABLE_OVERLOADING-    DeviceProviderFactoryGetMethodInfo      ,-#endif-    deviceProviderFactoryGet                ,----- ** getByName #method:getByName#--    deviceProviderFactoryGetByName          ,----- ** getDeviceProviderType #method:getDeviceProviderType#--#if ENABLE_OVERLOADING-    DeviceProviderFactoryGetDeviceProviderTypeMethodInfo,-#endif-    deviceProviderFactoryGetDeviceProviderType,----- ** getMetadata #method:getMetadata#--#if ENABLE_OVERLOADING-    DeviceProviderFactoryGetMetadataMethodInfo,-#endif-    deviceProviderFactoryGetMetadata        ,----- ** getMetadataKeys #method:getMetadataKeys#--#if ENABLE_OVERLOADING-    DeviceProviderFactoryGetMetadataKeysMethodInfo,-#endif-    deviceProviderFactoryGetMetadataKeys    ,----- ** hasClasses #method:hasClasses#--#if ENABLE_OVERLOADING-    DeviceProviderFactoryHasClassesMethodInfo,-#endif-    deviceProviderFactoryHasClasses         ,----- ** hasClassesv #method:hasClassesv#--#if ENABLE_OVERLOADING-    DeviceProviderFactoryHasClassesvMethodInfo,-#endif-    deviceProviderFactoryHasClassesv        ,----- ** listGetDeviceProviders #method:listGetDeviceProviders#--    deviceProviderFactoryListGetDeviceProviders,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.DeviceProvider as Gst.DeviceProvider-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature---- | Memory-managed wrapper type.-newtype DeviceProviderFactory = DeviceProviderFactory (ManagedPtr DeviceProviderFactory)-foreign import ccall "gst_device_provider_factory_get_type"-    c_gst_device_provider_factory_get_type :: IO GType--instance GObject DeviceProviderFactory where-    gobjectType = c_gst_device_provider_factory_get_type-    ---- | Type class for types which can be safely cast to `DeviceProviderFactory`, for instance with `toDeviceProviderFactory`.-class (GObject o, O.IsDescendantOf DeviceProviderFactory o) => IsDeviceProviderFactory o-instance (GObject o, O.IsDescendantOf DeviceProviderFactory o) => IsDeviceProviderFactory o--instance O.HasParentTypes DeviceProviderFactory-type instance O.ParentTypes DeviceProviderFactory = '[Gst.PluginFeature.PluginFeature, Gst.Object.Object, GObject.Object.Object]---- | Cast to `DeviceProviderFactory`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toDeviceProviderFactory :: (MonadIO m, IsDeviceProviderFactory o) => o -> m DeviceProviderFactory-toDeviceProviderFactory = liftIO . unsafeCastTo DeviceProviderFactory---- | A convenience alias for `Nothing` :: `Maybe` `DeviceProviderFactory`.-noDeviceProviderFactory :: Maybe DeviceProviderFactory-noDeviceProviderFactory = Nothing--#if ENABLE_OVERLOADING-type family ResolveDeviceProviderFactoryMethod (t :: Symbol) (o :: *) :: * where-    ResolveDeviceProviderFactoryMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveDeviceProviderFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveDeviceProviderFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveDeviceProviderFactoryMethod "checkVersion" o = Gst.PluginFeature.PluginFeatureCheckVersionMethodInfo-    ResolveDeviceProviderFactoryMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveDeviceProviderFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveDeviceProviderFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveDeviceProviderFactoryMethod "get" o = DeviceProviderFactoryGetMethodInfo-    ResolveDeviceProviderFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveDeviceProviderFactoryMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveDeviceProviderFactoryMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveDeviceProviderFactoryMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveDeviceProviderFactoryMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveDeviceProviderFactoryMethod "hasClasses" o = DeviceProviderFactoryHasClassesMethodInfo-    ResolveDeviceProviderFactoryMethod "hasClassesv" o = DeviceProviderFactoryHasClassesvMethodInfo-    ResolveDeviceProviderFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveDeviceProviderFactoryMethod "load" o = Gst.PluginFeature.PluginFeatureLoadMethodInfo-    ResolveDeviceProviderFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveDeviceProviderFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveDeviceProviderFactoryMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveDeviceProviderFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveDeviceProviderFactoryMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveDeviceProviderFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveDeviceProviderFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveDeviceProviderFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveDeviceProviderFactoryMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveDeviceProviderFactoryMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveDeviceProviderFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveDeviceProviderFactoryMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveDeviceProviderFactoryMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveDeviceProviderFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveDeviceProviderFactoryMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveDeviceProviderFactoryMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveDeviceProviderFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveDeviceProviderFactoryMethod "getDeviceProviderType" o = DeviceProviderFactoryGetDeviceProviderTypeMethodInfo-    ResolveDeviceProviderFactoryMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveDeviceProviderFactoryMethod "getMetadata" o = DeviceProviderFactoryGetMetadataMethodInfo-    ResolveDeviceProviderFactoryMethod "getMetadataKeys" o = DeviceProviderFactoryGetMetadataKeysMethodInfo-    ResolveDeviceProviderFactoryMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveDeviceProviderFactoryMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveDeviceProviderFactoryMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveDeviceProviderFactoryMethod "getPlugin" o = Gst.PluginFeature.PluginFeatureGetPluginMethodInfo-    ResolveDeviceProviderFactoryMethod "getPluginName" o = Gst.PluginFeature.PluginFeatureGetPluginNameMethodInfo-    ResolveDeviceProviderFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveDeviceProviderFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveDeviceProviderFactoryMethod "getRank" o = Gst.PluginFeature.PluginFeatureGetRankMethodInfo-    ResolveDeviceProviderFactoryMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveDeviceProviderFactoryMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveDeviceProviderFactoryMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveDeviceProviderFactoryMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveDeviceProviderFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveDeviceProviderFactoryMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveDeviceProviderFactoryMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveDeviceProviderFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveDeviceProviderFactoryMethod "setRank" o = Gst.PluginFeature.PluginFeatureSetRankMethodInfo-    ResolveDeviceProviderFactoryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDeviceProviderFactoryMethod t DeviceProviderFactory, O.MethodInfo info DeviceProviderFactory p) => OL.IsLabel t (DeviceProviderFactory -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList DeviceProviderFactory-type instance O.AttributeList DeviceProviderFactory = DeviceProviderFactoryAttributeList-type DeviceProviderFactoryAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList DeviceProviderFactory = DeviceProviderFactorySignalList-type DeviceProviderFactorySignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method DeviceProviderFactory::get--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factory to instantiate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DeviceProvider"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_factory_get" gst_device_provider_factory_get :: -    Ptr DeviceProviderFactory ->            -- factory : TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"})-    IO (Ptr Gst.DeviceProvider.DeviceProvider)--{- |-Returns the device provider of the type defined by the given device-providerfactory.--/Since: 1.4/--}-deviceProviderFactoryGet ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>-    a-    {- ^ /@factory@/: factory to instantiate -}-    -> m (Maybe Gst.DeviceProvider.DeviceProvider)-    {- ^ __Returns:__ the 'GI.Gst.Objects.DeviceProvider.DeviceProvider' or 'Nothing'-if the device provider couldn\'t be created -}-deviceProviderFactoryGet factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_device_provider_factory_get factory'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.DeviceProvider.DeviceProvider) result'-        return result''-    touchManagedPtr factory-    return maybeResult--#if ENABLE_OVERLOADING-data DeviceProviderFactoryGetMethodInfo-instance (signature ~ (m (Maybe Gst.DeviceProvider.DeviceProvider)), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryGetMethodInfo a signature where-    overloadedMethod _ = deviceProviderFactoryGet--#endif---- method DeviceProviderFactory::get_device_provider_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factory to get managed #GType from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_factory_get_device_provider_type" gst_device_provider_factory_get_device_provider_type :: -    Ptr DeviceProviderFactory ->            -- factory : TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"})-    IO CGType--{- |-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 'GI.Gst.Objects.PluginFeature.pluginFeatureLoad'.--/Since: 1.4/--}-deviceProviderFactoryGetDeviceProviderType ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>-    a-    {- ^ /@factory@/: factory to get managed 'GType' from -}-    -> m GType-    {- ^ __Returns:__ the 'GType' for device providers managed by this factory. -}-deviceProviderFactoryGetDeviceProviderType factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_device_provider_factory_get_device_provider_type factory'-    let result' = GType result-    touchManagedPtr factory-    return result'--#if ENABLE_OVERLOADING-data DeviceProviderFactoryGetDeviceProviderTypeMethodInfo-instance (signature ~ (m GType), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryGetDeviceProviderTypeMethodInfo a signature where-    overloadedMethod _ = deviceProviderFactoryGetDeviceProviderType--#endif---- method DeviceProviderFactory::get_metadata--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProviderFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_factory_get_metadata" gst_device_provider_factory_get_metadata :: -    Ptr DeviceProviderFactory ->            -- factory : TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"})-    CString ->                              -- key : TBasicType TUTF8-    IO CString--{- |-Get the metadata on /@factory@/ with /@key@/.--/Since: 1.4/--}-deviceProviderFactoryGetMetadata ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.DeviceProviderFactory.DeviceProviderFactory' -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the metadata with /@key@/ on /@factory@/ or 'Nothing'-when there was no metadata with the given /@key@/. -}-deviceProviderFactoryGetMetadata factory key = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    key' <- textToCString key-    result <- gst_device_provider_factory_get_metadata factory' key'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr factory-    freeMem key'-    return maybeResult--#if ENABLE_OVERLOADING-data DeviceProviderFactoryGetMetadataMethodInfo-instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryGetMetadataMethodInfo a signature where-    overloadedMethod _ = deviceProviderFactoryGetMetadata--#endif---- method DeviceProviderFactory::get_metadata_keys--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProviderFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_factory_get_metadata_keys" gst_device_provider_factory_get_metadata_keys :: -    Ptr DeviceProviderFactory ->            -- factory : TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"})-    IO (Ptr CString)--{- |-Get the available keys for the metadata on /@factory@/.--/Since: 1.4/--}-deviceProviderFactoryGetMetadataKeys ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.DeviceProviderFactory.DeviceProviderFactory' -}-    -> m (Maybe [T.Text])-    {- ^ __Returns:__ -a 'Nothing'-terminated array of key strings, or 'Nothing' when there is no-metadata. Free with 'GI.GLib.Functions.strfreev' when no longer needed. -}-deviceProviderFactoryGetMetadataKeys factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_device_provider_factory_get_metadata_keys factory'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- unpackZeroTerminatedUTF8CArray result'-        mapZeroTerminatedCArray freeMem result'-        freeMem result'-        return result''-    touchManagedPtr factory-    return maybeResult--#if ENABLE_OVERLOADING-data DeviceProviderFactoryGetMetadataKeysMethodInfo-instance (signature ~ (m (Maybe [T.Text])), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryGetMetadataKeysMethodInfo a signature where-    overloadedMethod _ = deviceProviderFactoryGetMetadataKeys--#endif---- method DeviceProviderFactory::has_classes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProviderFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "classes", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a \"/\" separate list of classes to match, only match\n    if all classes are matched", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_factory_has_classes" gst_device_provider_factory_has_classes :: -    Ptr DeviceProviderFactory ->            -- factory : TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"})-    CString ->                              -- classes : TBasicType TUTF8-    IO CInt--{- |-Check if /@factory@/ matches all of the given /@classes@/--/Since: 1.4/--}-deviceProviderFactoryHasClasses ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.DeviceProviderFactory.DeviceProviderFactory' -}-    -> Maybe (T.Text)-    {- ^ /@classes@/: a \"\/\" separate list of classes to match, only match-    if all classes are matched -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@factory@/ matches or if /@classes@/ is 'Nothing'. -}-deviceProviderFactoryHasClasses factory classes = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    maybeClasses <- case classes of-        Nothing -> return nullPtr-        Just jClasses -> do-            jClasses' <- textToCString jClasses-            return jClasses'-    result <- gst_device_provider_factory_has_classes factory' maybeClasses-    let result' = (/= 0) result-    touchManagedPtr factory-    freeMem maybeClasses-    return result'--#if ENABLE_OVERLOADING-data DeviceProviderFactoryHasClassesMethodInfo-instance (signature ~ (Maybe (T.Text) -> m Bool), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryHasClassesMethodInfo a signature where-    overloadedMethod _ = deviceProviderFactoryHasClasses--#endif---- method DeviceProviderFactory::has_classesv--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDeviceProviderFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "classes", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a %NULL terminated array\n  of classes to match, only match if all classes are matched", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_factory_has_classesv" gst_device_provider_factory_has_classesv :: -    Ptr DeviceProviderFactory ->            -- factory : TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"})-    Ptr CString ->                          -- classes : TCArray True (-1) (-1) (TBasicType TUTF8)-    IO CInt--{- |-Check if /@factory@/ matches all of the given classes--/Since: 1.4/--}-deviceProviderFactoryHasClassesv ::-    (B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.DeviceProviderFactory.DeviceProviderFactory' -}-    -> Maybe ([T.Text])-    {- ^ /@classes@/: a 'Nothing' terminated array-  of classes to match, only match if all classes are matched -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@factory@/ matches. -}-deviceProviderFactoryHasClassesv factory classes = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    maybeClasses <- case classes of-        Nothing -> return nullPtr-        Just jClasses -> do-            jClasses' <- packZeroTerminatedUTF8CArray jClasses-            return jClasses'-    result <- gst_device_provider_factory_has_classesv factory' maybeClasses-    let result' = (/= 0) result-    touchManagedPtr factory-    mapZeroTerminatedCArray freeMem maybeClasses-    freeMem maybeClasses-    return result'--#if ENABLE_OVERLOADING-data DeviceProviderFactoryHasClassesvMethodInfo-instance (signature ~ (Maybe ([T.Text]) -> m Bool), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryHasClassesvMethodInfo a signature where-    overloadedMethod _ = deviceProviderFactoryHasClassesv--#endif---- method DeviceProviderFactory::find--- method type : MemberFunction--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of factory to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_factory_find" gst_device_provider_factory_find :: -    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr DeviceProviderFactory)--{- |-Search for an device provider factory of the given name. Refs the returned-device provider factory; caller is responsible for unreffing.--/Since: 1.4/--}-deviceProviderFactoryFind ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: name of factory to find -}-    -> m (Maybe DeviceProviderFactory)-    {- ^ __Returns:__ 'GI.Gst.Objects.DeviceProviderFactory.DeviceProviderFactory' if-found, 'Nothing' otherwise -}-deviceProviderFactoryFind name = liftIO $ do-    name' <- textToCString name-    result <- gst_device_provider_factory_find name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject DeviceProviderFactory) result'-        return result''-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method DeviceProviderFactory::get_by_name--- method type : MemberFunction--- Args : [Arg {argCName = "factoryname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a named factory to instantiate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DeviceProvider"}))--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_factory_get_by_name" gst_device_provider_factory_get_by_name :: -    CString ->                              -- factoryname : TBasicType TUTF8-    IO (Ptr Gst.DeviceProvider.DeviceProvider)--{- |-Returns the device provider of the type defined by the given device-provider factory.--/Since: 1.4/--}-deviceProviderFactoryGetByName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@factoryname@/: a named factory to instantiate -}-    -> m (Maybe Gst.DeviceProvider.DeviceProvider)-    {- ^ __Returns:__ a 'GI.Gst.Objects.DeviceProvider.DeviceProvider' or 'Nothing'-if unable to create device provider -}-deviceProviderFactoryGetByName factoryname = liftIO $ do-    factoryname' <- textToCString factoryname-    result <- gst_device_provider_factory_get_by_name factoryname'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.DeviceProvider.DeviceProvider) result'-        return result''-    freeMem factoryname'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method DeviceProviderFactory::list_get_device_providers--- method type : MemberFunction--- Args : [Arg {argCName = "minrank", argType = TInterface (Name {namespace = "Gst", name = "Rank"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Minimum rank", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "DeviceProviderFactory"})))--- throws : False--- Skip return : False--foreign import ccall "gst_device_provider_factory_list_get_device_providers" gst_device_provider_factory_list_get_device_providers :: -    CUInt ->                                -- minrank : TInterface (Name {namespace = "Gst", name = "Rank"})-    IO (Ptr (GList (Ptr DeviceProviderFactory)))--{- |-Get a list of factories with a rank greater or equal to /@minrank@/.-The list of factories is returned by decreasing rank.--/Since: 1.4/--}-deviceProviderFactoryListGetDeviceProviders ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Rank-    {- ^ /@minrank@/: Minimum rank -}-    -> m [DeviceProviderFactory]-    {- ^ __Returns:__ -a 'GI.GLib.Structs.List.List' of 'GI.Gst.Objects.DeviceProviderFactory.DeviceProviderFactory' device providers. Use-'GI.Gst.Objects.PluginFeature.pluginFeatureListFree' after usage. -}-deviceProviderFactoryListGetDeviceProviders minrank = liftIO $ do-    let minrank' = (fromIntegral . fromEnum) minrank-    result <- gst_device_provider_factory_list_get_device_providers minrank'-    result' <- unpackGList result-    result'' <- mapM (wrapObject DeviceProviderFactory) result'-    g_list_free result-    return result''--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/DeviceProviderFactory.hs-boot
@@ -1,47 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.DeviceProviderFactory where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype DeviceProviderFactory = DeviceProviderFactory (ManagedPtr DeviceProviderFactory)-instance GObject DeviceProviderFactory where-class (GObject o, O.IsDescendantOf DeviceProviderFactory o) => IsDeviceProviderFactory o-instance (GObject o, O.IsDescendantOf DeviceProviderFactory o) => IsDeviceProviderFactory o-instance O.HasParentTypes DeviceProviderFactory-#if ENABLE_OVERLOADING-data DeviceProviderFactoryGetMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderFactoryGetDeviceProviderTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderFactoryGetMetadataMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderFactoryGetMetadataKeysMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderFactoryHasClassesMethodInfo-#endif-#if ENABLE_OVERLOADING-data DeviceProviderFactoryHasClassesvMethodInfo-#endif
− GI/Gst/Objects/DoubleRange.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.DoubleRange () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "DoubleRange" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/DynamicTypeFactory.hs
@@ -1,207 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Objects.DynamicTypeFactory.DynamicTypeFactory' 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---=== /C code/->->->static gboolean->plugin_init (GstPlugin * plugin)->{->  return gst_dynamic_type_register (plugin, GST_TYPE_CUSTOM_CAPS_FIELD);->}---}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.DynamicTypeFactory-    ( ---- * Exported types-    DynamicTypeFactory(..)                  ,-    IsDynamicTypeFactory                    ,-    toDynamicTypeFactory                    ,-    noDynamicTypeFactory                    ,--- -- * Methods--- ** load #method:load#--    dynamicTypeFactoryLoad                  ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature---- | Memory-managed wrapper type.-newtype DynamicTypeFactory = DynamicTypeFactory (ManagedPtr DynamicTypeFactory)-foreign import ccall "gst_dynamic_type_factory_get_type"-    c_gst_dynamic_type_factory_get_type :: IO GType--instance GObject DynamicTypeFactory where-    gobjectType = c_gst_dynamic_type_factory_get_type-    ---- | Type class for types which can be safely cast to `DynamicTypeFactory`, for instance with `toDynamicTypeFactory`.-class (GObject o, O.IsDescendantOf DynamicTypeFactory o) => IsDynamicTypeFactory o-instance (GObject o, O.IsDescendantOf DynamicTypeFactory o) => IsDynamicTypeFactory o--instance O.HasParentTypes DynamicTypeFactory-type instance O.ParentTypes DynamicTypeFactory = '[Gst.PluginFeature.PluginFeature, Gst.Object.Object, GObject.Object.Object]---- | Cast to `DynamicTypeFactory`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toDynamicTypeFactory :: (MonadIO m, IsDynamicTypeFactory o) => o -> m DynamicTypeFactory-toDynamicTypeFactory = liftIO . unsafeCastTo DynamicTypeFactory---- | A convenience alias for `Nothing` :: `Maybe` `DynamicTypeFactory`.-noDynamicTypeFactory :: Maybe DynamicTypeFactory-noDynamicTypeFactory = Nothing--#if ENABLE_OVERLOADING-type family ResolveDynamicTypeFactoryMethod (t :: Symbol) (o :: *) :: * where-    ResolveDynamicTypeFactoryMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveDynamicTypeFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveDynamicTypeFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveDynamicTypeFactoryMethod "checkVersion" o = Gst.PluginFeature.PluginFeatureCheckVersionMethodInfo-    ResolveDynamicTypeFactoryMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveDynamicTypeFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveDynamicTypeFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveDynamicTypeFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveDynamicTypeFactoryMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveDynamicTypeFactoryMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveDynamicTypeFactoryMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveDynamicTypeFactoryMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveDynamicTypeFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveDynamicTypeFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveDynamicTypeFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveDynamicTypeFactoryMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveDynamicTypeFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveDynamicTypeFactoryMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveDynamicTypeFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveDynamicTypeFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveDynamicTypeFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveDynamicTypeFactoryMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveDynamicTypeFactoryMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveDynamicTypeFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveDynamicTypeFactoryMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveDynamicTypeFactoryMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveDynamicTypeFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveDynamicTypeFactoryMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveDynamicTypeFactoryMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveDynamicTypeFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveDynamicTypeFactoryMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveDynamicTypeFactoryMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveDynamicTypeFactoryMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveDynamicTypeFactoryMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveDynamicTypeFactoryMethod "getPlugin" o = Gst.PluginFeature.PluginFeatureGetPluginMethodInfo-    ResolveDynamicTypeFactoryMethod "getPluginName" o = Gst.PluginFeature.PluginFeatureGetPluginNameMethodInfo-    ResolveDynamicTypeFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveDynamicTypeFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveDynamicTypeFactoryMethod "getRank" o = Gst.PluginFeature.PluginFeatureGetRankMethodInfo-    ResolveDynamicTypeFactoryMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveDynamicTypeFactoryMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveDynamicTypeFactoryMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveDynamicTypeFactoryMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveDynamicTypeFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveDynamicTypeFactoryMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveDynamicTypeFactoryMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveDynamicTypeFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveDynamicTypeFactoryMethod "setRank" o = Gst.PluginFeature.PluginFeatureSetRankMethodInfo-    ResolveDynamicTypeFactoryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDynamicTypeFactoryMethod t DynamicTypeFactory, O.MethodInfo info DynamicTypeFactory p) => OL.IsLabel t (DynamicTypeFactory -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList DynamicTypeFactory-type instance O.AttributeList DynamicTypeFactory = DynamicTypeFactoryAttributeList-type DynamicTypeFactoryAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList DynamicTypeFactory = DynamicTypeFactorySignalList-type DynamicTypeFactorySignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method DynamicTypeFactory::load--- method type : MemberFunction--- Args : [Arg {argCName = "factoryname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_dynamic_type_factory_load" gst_dynamic_type_factory_load :: -    CString ->                              -- factoryname : TBasicType TUTF8-    IO CGType--{- |-/No description available in the introspection data./--}-dynamicTypeFactoryLoad ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    -> m GType-dynamicTypeFactoryLoad factoryname = liftIO $ do-    factoryname' <- textToCString factoryname-    result <- gst_dynamic_type_factory_load factoryname'-    let result' = GType result-    freeMem factoryname'-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/DynamicTypeFactory.hs-boot
@@ -1,29 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.DynamicTypeFactory where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype DynamicTypeFactory = DynamicTypeFactory (ManagedPtr DynamicTypeFactory)-instance GObject DynamicTypeFactory where-class (GObject o, O.IsDescendantOf DynamicTypeFactory o) => IsDynamicTypeFactory o-instance (GObject o, O.IsDescendantOf DynamicTypeFactory o) => IsDynamicTypeFactory o-instance O.HasParentTypes DynamicTypeFactory
− GI/Gst/Objects/Element.hs
@@ -1,4359 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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 'GI.Gst.Objects.Element.Element' subclasses.--The name of a 'GI.Gst.Objects.Element.Element' 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 'GI.Gst.Objects.Pad.Pad').  These pads link to pads on-other elements.  'GI.Gst.Structs.Buffer.Buffer' flow between these linked pads.-A 'GI.Gst.Objects.Element.Element' has a 'GI.GLib.Structs.List.List' of 'GI.Gst.Objects.Pad.Pad' structures for all their input (or sink)-and output (or source) pads.-Core and plug-in writers can add and remove pads with 'GI.Gst.Objects.Element.elementAddPad'-and 'GI.Gst.Objects.Element.elementRemovePad'.--An existing pad of an element can be retrieved by name with-'GI.Gst.Objects.Element.elementGetStaticPad'. A new dynamic pad can be created using-'GI.Gst.Objects.Element.elementRequestPad' with a 'GI.Gst.Objects.PadTemplate.PadTemplate'.-An iterator of all pads can be retrieved with 'GI.Gst.Objects.Element.elementIteratePads'.--Elements can be linked through their pads.-If the link is straightforward, use the 'GI.Gst.Objects.Element.elementLink'-convenience function to link two elements, or @/gst_element_link_many()/@-for more elements in a row.-Use 'GI.Gst.Objects.Element.elementLinkFiltered' to link two elements constrained by-a specified set of 'GI.Gst.Structs.Caps.Caps'.-For finer control, use 'GI.Gst.Objects.Element.elementLinkPads' and-'GI.Gst.Objects.Element.elementLinkPadsFiltered' to specify the pads to link on-each element by name.--Each element has a state (see 'GI.Gst.Enums.State').  You can get and set the state-of an element with 'GI.Gst.Objects.Element.elementGetState' and 'GI.Gst.Objects.Element.elementSetState'.-Setting a state triggers a 'GI.Gst.Enums.StateChange'. To get a string representation-of a 'GI.Gst.Enums.State', use 'GI.Gst.Objects.Element.elementStateGetName'.--You can get and set a 'GI.Gst.Objects.Clock.Clock' on an element using 'GI.Gst.Objects.Element.elementGetClock'-and 'GI.Gst.Objects.Element.elementSetClock'.-Some elements can provide a clock for the pipeline if-the @/GST_ELEMENT_FLAG_PROVIDE_CLOCK/@ flag is set. With the-'GI.Gst.Objects.Element.elementProvideClock' 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 'GI.Gst.Objects.Element.elementSetClock'.--Note that clock selection and distribution is normally handled by the-toplevel 'GI.Gst.Objects.Pipeline.Pipeline' so the clock functions are only to be used in very-specific situations.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Element-    ( ---- * Exported types-    Element(..)                             ,-    IsElement                               ,-    toElement                               ,-    noElement                               ,--- -- * Methods--- ** abortState #method:abortState#--#if ENABLE_OVERLOADING-    ElementAbortStateMethodInfo             ,-#endif-    elementAbortState                       ,----- ** addPad #method:addPad#--#if ENABLE_OVERLOADING-    ElementAddPadMethodInfo                 ,-#endif-    elementAddPad                           ,----- ** addPropertyDeepNotifyWatch #method:addPropertyDeepNotifyWatch#--#if ENABLE_OVERLOADING-    ElementAddPropertyDeepNotifyWatchMethodInfo,-#endif-    elementAddPropertyDeepNotifyWatch       ,----- ** addPropertyNotifyWatch #method:addPropertyNotifyWatch#--#if ENABLE_OVERLOADING-    ElementAddPropertyNotifyWatchMethodInfo ,-#endif-    elementAddPropertyNotifyWatch           ,----- ** callAsync #method:callAsync#--#if ENABLE_OVERLOADING-    ElementCallAsyncMethodInfo              ,-#endif-    elementCallAsync                        ,----- ** changeState #method:changeState#--#if ENABLE_OVERLOADING-    ElementChangeStateMethodInfo            ,-#endif-    elementChangeState                      ,----- ** continueState #method:continueState#--#if ENABLE_OVERLOADING-    ElementContinueStateMethodInfo          ,-#endif-    elementContinueState                    ,----- ** createAllPads #method:createAllPads#--#if ENABLE_OVERLOADING-    ElementCreateAllPadsMethodInfo          ,-#endif-    elementCreateAllPads                    ,----- ** foreachPad #method:foreachPad#--#if ENABLE_OVERLOADING-    ElementForeachPadMethodInfo             ,-#endif-    elementForeachPad                       ,----- ** foreachSinkPad #method:foreachSinkPad#--#if ENABLE_OVERLOADING-    ElementForeachSinkPadMethodInfo         ,-#endif-    elementForeachSinkPad                   ,----- ** foreachSrcPad #method:foreachSrcPad#--#if ENABLE_OVERLOADING-    ElementForeachSrcPadMethodInfo          ,-#endif-    elementForeachSrcPad                    ,----- ** getBaseTime #method:getBaseTime#--#if ENABLE_OVERLOADING-    ElementGetBaseTimeMethodInfo            ,-#endif-    elementGetBaseTime                      ,----- ** getBus #method:getBus#--#if ENABLE_OVERLOADING-    ElementGetBusMethodInfo                 ,-#endif-    elementGetBus                           ,----- ** getClock #method:getClock#--#if ENABLE_OVERLOADING-    ElementGetClockMethodInfo               ,-#endif-    elementGetClock                         ,----- ** getCompatiblePad #method:getCompatiblePad#--#if ENABLE_OVERLOADING-    ElementGetCompatiblePadMethodInfo       ,-#endif-    elementGetCompatiblePad                 ,----- ** getCompatiblePadTemplate #method:getCompatiblePadTemplate#--#if ENABLE_OVERLOADING-    ElementGetCompatiblePadTemplateMethodInfo,-#endif-    elementGetCompatiblePadTemplate         ,----- ** getContext #method:getContext#--#if ENABLE_OVERLOADING-    ElementGetContextMethodInfo             ,-#endif-    elementGetContext                       ,----- ** getContextUnlocked #method:getContextUnlocked#--#if ENABLE_OVERLOADING-    ElementGetContextUnlockedMethodInfo     ,-#endif-    elementGetContextUnlocked               ,----- ** getContexts #method:getContexts#--#if ENABLE_OVERLOADING-    ElementGetContextsMethodInfo            ,-#endif-    elementGetContexts                      ,----- ** getFactory #method:getFactory#--#if ENABLE_OVERLOADING-    ElementGetFactoryMethodInfo             ,-#endif-    elementGetFactory                       ,----- ** getMetadata #method:getMetadata#--#if ENABLE_OVERLOADING-    ElementGetMetadataMethodInfo            ,-#endif-    elementGetMetadata                      ,----- ** getPadTemplate #method:getPadTemplate#--#if ENABLE_OVERLOADING-    ElementGetPadTemplateMethodInfo         ,-#endif-    elementGetPadTemplate                   ,----- ** getPadTemplateList #method:getPadTemplateList#--#if ENABLE_OVERLOADING-    ElementGetPadTemplateListMethodInfo     ,-#endif-    elementGetPadTemplateList               ,----- ** getRequestPad #method:getRequestPad#--#if ENABLE_OVERLOADING-    ElementGetRequestPadMethodInfo          ,-#endif-    elementGetRequestPad                    ,----- ** getStartTime #method:getStartTime#--#if ENABLE_OVERLOADING-    ElementGetStartTimeMethodInfo           ,-#endif-    elementGetStartTime                     ,----- ** getState #method:getState#--#if ENABLE_OVERLOADING-    ElementGetStateMethodInfo               ,-#endif-    elementGetState                         ,----- ** getStaticPad #method:getStaticPad#--#if ENABLE_OVERLOADING-    ElementGetStaticPadMethodInfo           ,-#endif-    elementGetStaticPad                     ,----- ** isLockedState #method:isLockedState#--#if ENABLE_OVERLOADING-    ElementIsLockedStateMethodInfo          ,-#endif-    elementIsLockedState                    ,----- ** iteratePads #method:iteratePads#--#if ENABLE_OVERLOADING-    ElementIteratePadsMethodInfo            ,-#endif-    elementIteratePads                      ,----- ** iterateSinkPads #method:iterateSinkPads#--#if ENABLE_OVERLOADING-    ElementIterateSinkPadsMethodInfo        ,-#endif-    elementIterateSinkPads                  ,----- ** iterateSrcPads #method:iterateSrcPads#--#if ENABLE_OVERLOADING-    ElementIterateSrcPadsMethodInfo         ,-#endif-    elementIterateSrcPads                   ,----- ** link #method:link#--#if ENABLE_OVERLOADING-    ElementLinkMethodInfo                   ,-#endif-    elementLink                             ,----- ** linkFiltered #method:linkFiltered#--#if ENABLE_OVERLOADING-    ElementLinkFilteredMethodInfo           ,-#endif-    elementLinkFiltered                     ,----- ** linkPads #method:linkPads#--#if ENABLE_OVERLOADING-    ElementLinkPadsMethodInfo               ,-#endif-    elementLinkPads                         ,----- ** linkPadsFiltered #method:linkPadsFiltered#--#if ENABLE_OVERLOADING-    ElementLinkPadsFilteredMethodInfo       ,-#endif-    elementLinkPadsFiltered                 ,----- ** linkPadsFull #method:linkPadsFull#--#if ENABLE_OVERLOADING-    ElementLinkPadsFullMethodInfo           ,-#endif-    elementLinkPadsFull                     ,----- ** lostState #method:lostState#--#if ENABLE_OVERLOADING-    ElementLostStateMethodInfo              ,-#endif-    elementLostState                        ,----- ** makeFromUri #method:makeFromUri#--    elementMakeFromUri                      ,----- ** messageFull #method:messageFull#--#if ENABLE_OVERLOADING-    ElementMessageFullMethodInfo            ,-#endif-    elementMessageFull                      ,----- ** messageFullWithDetails #method:messageFullWithDetails#--#if ENABLE_OVERLOADING-    ElementMessageFullWithDetailsMethodInfo ,-#endif-    elementMessageFullWithDetails           ,----- ** noMorePads #method:noMorePads#--#if ENABLE_OVERLOADING-    ElementNoMorePadsMethodInfo             ,-#endif-    elementNoMorePads                       ,----- ** postMessage #method:postMessage#--#if ENABLE_OVERLOADING-    ElementPostMessageMethodInfo            ,-#endif-    elementPostMessage                      ,----- ** provideClock #method:provideClock#--#if ENABLE_OVERLOADING-    ElementProvideClockMethodInfo           ,-#endif-    elementProvideClock                     ,----- ** query #method:query#--#if ENABLE_OVERLOADING-    ElementQueryMethodInfo                  ,-#endif-    elementQuery                            ,----- ** queryConvert #method:queryConvert#--#if ENABLE_OVERLOADING-    ElementQueryConvertMethodInfo           ,-#endif-    elementQueryConvert                     ,----- ** queryDuration #method:queryDuration#--#if ENABLE_OVERLOADING-    ElementQueryDurationMethodInfo          ,-#endif-    elementQueryDuration                    ,----- ** queryPosition #method:queryPosition#--#if ENABLE_OVERLOADING-    ElementQueryPositionMethodInfo          ,-#endif-    elementQueryPosition                    ,----- ** register #method:register#--    elementRegister                         ,----- ** releaseRequestPad #method:releaseRequestPad#--#if ENABLE_OVERLOADING-    ElementReleaseRequestPadMethodInfo      ,-#endif-    elementReleaseRequestPad                ,----- ** removePad #method:removePad#--#if ENABLE_OVERLOADING-    ElementRemovePadMethodInfo              ,-#endif-    elementRemovePad                        ,----- ** removePropertyNotifyWatch #method:removePropertyNotifyWatch#--#if ENABLE_OVERLOADING-    ElementRemovePropertyNotifyWatchMethodInfo,-#endif-    elementRemovePropertyNotifyWatch        ,----- ** requestPad #method:requestPad#--#if ENABLE_OVERLOADING-    ElementRequestPadMethodInfo             ,-#endif-    elementRequestPad                       ,----- ** seek #method:seek#--#if ENABLE_OVERLOADING-    ElementSeekMethodInfo                   ,-#endif-    elementSeek                             ,----- ** seekSimple #method:seekSimple#--#if ENABLE_OVERLOADING-    ElementSeekSimpleMethodInfo             ,-#endif-    elementSeekSimple                       ,----- ** sendEvent #method:sendEvent#--#if ENABLE_OVERLOADING-    ElementSendEventMethodInfo              ,-#endif-    elementSendEvent                        ,----- ** setBaseTime #method:setBaseTime#--#if ENABLE_OVERLOADING-    ElementSetBaseTimeMethodInfo            ,-#endif-    elementSetBaseTime                      ,----- ** setBus #method:setBus#--#if ENABLE_OVERLOADING-    ElementSetBusMethodInfo                 ,-#endif-    elementSetBus                           ,----- ** setClock #method:setClock#--#if ENABLE_OVERLOADING-    ElementSetClockMethodInfo               ,-#endif-    elementSetClock                         ,----- ** setContext #method:setContext#--#if ENABLE_OVERLOADING-    ElementSetContextMethodInfo             ,-#endif-    elementSetContext                       ,----- ** setLockedState #method:setLockedState#--#if ENABLE_OVERLOADING-    ElementSetLockedStateMethodInfo         ,-#endif-    elementSetLockedState                   ,----- ** setStartTime #method:setStartTime#--#if ENABLE_OVERLOADING-    ElementSetStartTimeMethodInfo           ,-#endif-    elementSetStartTime                     ,----- ** setState #method:setState#--#if ENABLE_OVERLOADING-    ElementSetStateMethodInfo               ,-#endif-    elementSetState                         ,----- ** stateChangeReturnGetName #method:stateChangeReturnGetName#--    elementStateChangeReturnGetName         ,----- ** stateGetName #method:stateGetName#--    elementStateGetName                     ,----- ** syncStateWithParent #method:syncStateWithParent#--#if ENABLE_OVERLOADING-    ElementSyncStateWithParentMethodInfo    ,-#endif-    elementSyncStateWithParent              ,----- ** unlink #method:unlink#--#if ENABLE_OVERLOADING-    ElementUnlinkMethodInfo                 ,-#endif-    elementUnlink                           ,----- ** unlinkPads #method:unlinkPads#--#if ENABLE_OVERLOADING-    ElementUnlinkPadsMethodInfo             ,-#endif-    elementUnlinkPads                       ,----- -- * Signals--- ** noMorePads #signal:noMorePads#--    C_ElementNoMorePadsCallback             ,-    ElementNoMorePadsCallback               ,-#if ENABLE_OVERLOADING-    ElementNoMorePadsSignalInfo             ,-#endif-    afterElementNoMorePads                  ,-    genClosure_ElementNoMorePads            ,-    mk_ElementNoMorePadsCallback            ,-    noElementNoMorePadsCallback             ,-    onElementNoMorePads                     ,-    wrap_ElementNoMorePadsCallback          ,----- ** padAdded #signal:padAdded#--    C_ElementPadAddedCallback               ,-    ElementPadAddedCallback                 ,-#if ENABLE_OVERLOADING-    ElementPadAddedSignalInfo               ,-#endif-    afterElementPadAdded                    ,-    genClosure_ElementPadAdded              ,-    mk_ElementPadAddedCallback              ,-    noElementPadAddedCallback               ,-    onElementPadAdded                       ,-    wrap_ElementPadAddedCallback            ,----- ** padRemoved #signal:padRemoved#--    C_ElementPadRemovedCallback             ,-    ElementPadRemovedCallback               ,-#if ENABLE_OVERLOADING-    ElementPadRemovedSignalInfo             ,-#endif-    afterElementPadRemoved                  ,-    genClosure_ElementPadRemoved            ,-    mk_ElementPadRemovedCallback            ,-    noElementPadRemovedCallback             ,-    onElementPadRemoved                     ,-    wrap_ElementPadRemovedCallback          ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Bus as Gst.Bus-import {-# SOURCE #-} qualified GI.Gst.Objects.Clock as Gst.Clock-import {-# SOURCE #-} qualified GI.Gst.Objects.ElementFactory as Gst.ElementFactory-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Pad as Gst.Pad-import {-# SOURCE #-} qualified GI.Gst.Objects.PadTemplate as Gst.PadTemplate-import {-# SOURCE #-} qualified GI.Gst.Objects.Plugin as Gst.Plugin-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.Context as Gst.Context-import {-# SOURCE #-} qualified GI.Gst.Structs.Event as Gst.Event-import {-# SOURCE #-} qualified GI.Gst.Structs.Iterator as Gst.Iterator-import {-# SOURCE #-} qualified GI.Gst.Structs.Message as Gst.Message-import {-# SOURCE #-} qualified GI.Gst.Structs.Query as Gst.Query-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype Element = Element (ManagedPtr Element)-foreign import ccall "gst_element_get_type"-    c_gst_element_get_type :: IO GType--instance GObject Element where-    gobjectType = c_gst_element_get_type-    ---- | Type class for types which can be safely cast to `Element`, for instance with `toElement`.-class (GObject o, O.IsDescendantOf Element o) => IsElement o-instance (GObject o, O.IsDescendantOf Element o) => IsElement o--instance O.HasParentTypes Element-type instance O.ParentTypes Element = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Element`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toElement :: (MonadIO m, IsElement o) => o -> m Element-toElement = liftIO . unsafeCastTo Element---- | A convenience alias for `Nothing` :: `Maybe` `Element`.-noElement :: Maybe Element-noElement = Nothing--#if ENABLE_OVERLOADING-type family ResolveElementMethod (t :: Symbol) (o :: *) :: * where-    ResolveElementMethod "abortState" o = ElementAbortStateMethodInfo-    ResolveElementMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveElementMethod "addPad" o = ElementAddPadMethodInfo-    ResolveElementMethod "addPropertyDeepNotifyWatch" o = ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolveElementMethod "addPropertyNotifyWatch" o = ElementAddPropertyNotifyWatchMethodInfo-    ResolveElementMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveElementMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveElementMethod "callAsync" o = ElementCallAsyncMethodInfo-    ResolveElementMethod "changeState" o = ElementChangeStateMethodInfo-    ResolveElementMethod "continueState" o = ElementContinueStateMethodInfo-    ResolveElementMethod "createAllPads" o = ElementCreateAllPadsMethodInfo-    ResolveElementMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveElementMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveElementMethod "foreachPad" o = ElementForeachPadMethodInfo-    ResolveElementMethod "foreachSinkPad" o = ElementForeachSinkPadMethodInfo-    ResolveElementMethod "foreachSrcPad" o = ElementForeachSrcPadMethodInfo-    ResolveElementMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveElementMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveElementMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveElementMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveElementMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveElementMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveElementMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveElementMethod "isLockedState" o = ElementIsLockedStateMethodInfo-    ResolveElementMethod "iteratePads" o = ElementIteratePadsMethodInfo-    ResolveElementMethod "iterateSinkPads" o = ElementIterateSinkPadsMethodInfo-    ResolveElementMethod "iterateSrcPads" o = ElementIterateSrcPadsMethodInfo-    ResolveElementMethod "link" o = ElementLinkMethodInfo-    ResolveElementMethod "linkFiltered" o = ElementLinkFilteredMethodInfo-    ResolveElementMethod "linkPads" o = ElementLinkPadsMethodInfo-    ResolveElementMethod "linkPadsFiltered" o = ElementLinkPadsFilteredMethodInfo-    ResolveElementMethod "linkPadsFull" o = ElementLinkPadsFullMethodInfo-    ResolveElementMethod "lostState" o = ElementLostStateMethodInfo-    ResolveElementMethod "messageFull" o = ElementMessageFullMethodInfo-    ResolveElementMethod "messageFullWithDetails" o = ElementMessageFullWithDetailsMethodInfo-    ResolveElementMethod "noMorePads" o = ElementNoMorePadsMethodInfo-    ResolveElementMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveElementMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveElementMethod "postMessage" o = ElementPostMessageMethodInfo-    ResolveElementMethod "provideClock" o = ElementProvideClockMethodInfo-    ResolveElementMethod "query" o = ElementQueryMethodInfo-    ResolveElementMethod "queryConvert" o = ElementQueryConvertMethodInfo-    ResolveElementMethod "queryDuration" o = ElementQueryDurationMethodInfo-    ResolveElementMethod "queryPosition" o = ElementQueryPositionMethodInfo-    ResolveElementMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveElementMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveElementMethod "releaseRequestPad" o = ElementReleaseRequestPadMethodInfo-    ResolveElementMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveElementMethod "removePad" o = ElementRemovePadMethodInfo-    ResolveElementMethod "removePropertyNotifyWatch" o = ElementRemovePropertyNotifyWatchMethodInfo-    ResolveElementMethod "requestPad" o = ElementRequestPadMethodInfo-    ResolveElementMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveElementMethod "seek" o = ElementSeekMethodInfo-    ResolveElementMethod "seekSimple" o = ElementSeekSimpleMethodInfo-    ResolveElementMethod "sendEvent" o = ElementSendEventMethodInfo-    ResolveElementMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveElementMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveElementMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveElementMethod "syncStateWithParent" o = ElementSyncStateWithParentMethodInfo-    ResolveElementMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveElementMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveElementMethod "unlink" o = ElementUnlinkMethodInfo-    ResolveElementMethod "unlinkPads" o = ElementUnlinkPadsMethodInfo-    ResolveElementMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveElementMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveElementMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveElementMethod "getBaseTime" o = ElementGetBaseTimeMethodInfo-    ResolveElementMethod "getBus" o = ElementGetBusMethodInfo-    ResolveElementMethod "getClock" o = ElementGetClockMethodInfo-    ResolveElementMethod "getCompatiblePad" o = ElementGetCompatiblePadMethodInfo-    ResolveElementMethod "getCompatiblePadTemplate" o = ElementGetCompatiblePadTemplateMethodInfo-    ResolveElementMethod "getContext" o = ElementGetContextMethodInfo-    ResolveElementMethod "getContextUnlocked" o = ElementGetContextUnlockedMethodInfo-    ResolveElementMethod "getContexts" o = ElementGetContextsMethodInfo-    ResolveElementMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveElementMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveElementMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveElementMethod "getFactory" o = ElementGetFactoryMethodInfo-    ResolveElementMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveElementMethod "getMetadata" o = ElementGetMetadataMethodInfo-    ResolveElementMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveElementMethod "getPadTemplate" o = ElementGetPadTemplateMethodInfo-    ResolveElementMethod "getPadTemplateList" o = ElementGetPadTemplateListMethodInfo-    ResolveElementMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveElementMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveElementMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveElementMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveElementMethod "getRequestPad" o = ElementGetRequestPadMethodInfo-    ResolveElementMethod "getStartTime" o = ElementGetStartTimeMethodInfo-    ResolveElementMethod "getState" o = ElementGetStateMethodInfo-    ResolveElementMethod "getStaticPad" o = ElementGetStaticPadMethodInfo-    ResolveElementMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveElementMethod "setBaseTime" o = ElementSetBaseTimeMethodInfo-    ResolveElementMethod "setBus" o = ElementSetBusMethodInfo-    ResolveElementMethod "setClock" o = ElementSetClockMethodInfo-    ResolveElementMethod "setContext" o = ElementSetContextMethodInfo-    ResolveElementMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveElementMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveElementMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveElementMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveElementMethod "setLockedState" o = ElementSetLockedStateMethodInfo-    ResolveElementMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveElementMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveElementMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveElementMethod "setStartTime" o = ElementSetStartTimeMethodInfo-    ResolveElementMethod "setState" o = ElementSetStateMethodInfo-    ResolveElementMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveElementMethod t Element, O.MethodInfo info Element p) => OL.IsLabel t (Element -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal Element::no-more-pads-{- |-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.--}-type ElementNoMorePadsCallback =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ElementNoMorePadsCallback`@.-noElementNoMorePadsCallback :: Maybe ElementNoMorePadsCallback-noElementNoMorePadsCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_ElementNoMorePadsCallback =-    Ptr () ->                               -- object-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_ElementNoMorePadsCallback`.-foreign import ccall "wrapper"-    mk_ElementNoMorePadsCallback :: C_ElementNoMorePadsCallback -> IO (FunPtr C_ElementNoMorePadsCallback)---- | Wrap the callback into a `GClosure`.-genClosure_ElementNoMorePads :: MonadIO m => ElementNoMorePadsCallback -> m (GClosure C_ElementNoMorePadsCallback)-genClosure_ElementNoMorePads cb = liftIO $ do-    let cb' = wrap_ElementNoMorePadsCallback cb-    mk_ElementNoMorePadsCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `ElementNoMorePadsCallback` into a `C_ElementNoMorePadsCallback`.-wrap_ElementNoMorePadsCallback ::-    ElementNoMorePadsCallback ->-    C_ElementNoMorePadsCallback-wrap_ElementNoMorePadsCallback _cb _ _ = do-    _cb ---{- |-Connect a signal handler for the “@no-more-pads@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' element #noMorePads callback-@--}-onElementNoMorePads :: (IsElement a, MonadIO m) => a -> ElementNoMorePadsCallback -> m SignalHandlerId-onElementNoMorePads obj cb = liftIO $ do-    let cb' = wrap_ElementNoMorePadsCallback cb-    cb'' <- mk_ElementNoMorePadsCallback cb'-    connectSignalFunPtr obj "no-more-pads" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@no-more-pads@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' element #noMorePads callback-@--}-afterElementNoMorePads :: (IsElement a, MonadIO m) => a -> ElementNoMorePadsCallback -> m SignalHandlerId-afterElementNoMorePads obj cb = liftIO $ do-    let cb' = wrap_ElementNoMorePadsCallback cb-    cb'' <- mk_ElementNoMorePadsCallback cb'-    connectSignalFunPtr obj "no-more-pads" cb'' SignalConnectAfter----- signal Element::pad-added-{- |-a new 'GI.Gst.Objects.Pad.Pad' 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-'GI.Gst.Objects.Element.elementSetState' or 'GI.Gst.Objects.Element.elementSyncStateWithParent'.--}-type ElementPadAddedCallback =-    Gst.Pad.Pad-    {- ^ /@newPad@/: the pad that has been added -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ElementPadAddedCallback`@.-noElementPadAddedCallback :: Maybe ElementPadAddedCallback-noElementPadAddedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_ElementPadAddedCallback =-    Ptr () ->                               -- object-    Ptr Gst.Pad.Pad ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_ElementPadAddedCallback`.-foreign import ccall "wrapper"-    mk_ElementPadAddedCallback :: C_ElementPadAddedCallback -> IO (FunPtr C_ElementPadAddedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_ElementPadAdded :: MonadIO m => ElementPadAddedCallback -> m (GClosure C_ElementPadAddedCallback)-genClosure_ElementPadAdded cb = liftIO $ do-    let cb' = wrap_ElementPadAddedCallback cb-    mk_ElementPadAddedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `ElementPadAddedCallback` into a `C_ElementPadAddedCallback`.-wrap_ElementPadAddedCallback ::-    ElementPadAddedCallback ->-    C_ElementPadAddedCallback-wrap_ElementPadAddedCallback _cb _ newPad _ = do-    newPad' <- (newObject Gst.Pad.Pad) newPad-    _cb  newPad'---{- |-Connect a signal handler for the “@pad-added@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' element #padAdded callback-@--}-onElementPadAdded :: (IsElement a, MonadIO m) => a -> ElementPadAddedCallback -> m SignalHandlerId-onElementPadAdded obj cb = liftIO $ do-    let cb' = wrap_ElementPadAddedCallback cb-    cb'' <- mk_ElementPadAddedCallback cb'-    connectSignalFunPtr obj "pad-added" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@pad-added@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' element #padAdded callback-@--}-afterElementPadAdded :: (IsElement a, MonadIO m) => a -> ElementPadAddedCallback -> m SignalHandlerId-afterElementPadAdded obj cb = liftIO $ do-    let cb' = wrap_ElementPadAddedCallback cb-    cb'' <- mk_ElementPadAddedCallback cb'-    connectSignalFunPtr obj "pad-added" cb'' SignalConnectAfter----- signal Element::pad-removed-{- |-a 'GI.Gst.Objects.Pad.Pad' has been removed from the element--}-type ElementPadRemovedCallback =-    Gst.Pad.Pad-    {- ^ /@oldPad@/: the pad that has been removed -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ElementPadRemovedCallback`@.-noElementPadRemovedCallback :: Maybe ElementPadRemovedCallback-noElementPadRemovedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_ElementPadRemovedCallback =-    Ptr () ->                               -- object-    Ptr Gst.Pad.Pad ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_ElementPadRemovedCallback`.-foreign import ccall "wrapper"-    mk_ElementPadRemovedCallback :: C_ElementPadRemovedCallback -> IO (FunPtr C_ElementPadRemovedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_ElementPadRemoved :: MonadIO m => ElementPadRemovedCallback -> m (GClosure C_ElementPadRemovedCallback)-genClosure_ElementPadRemoved cb = liftIO $ do-    let cb' = wrap_ElementPadRemovedCallback cb-    mk_ElementPadRemovedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `ElementPadRemovedCallback` into a `C_ElementPadRemovedCallback`.-wrap_ElementPadRemovedCallback ::-    ElementPadRemovedCallback ->-    C_ElementPadRemovedCallback-wrap_ElementPadRemovedCallback _cb _ oldPad _ = do-    oldPad' <- (newObject Gst.Pad.Pad) oldPad-    _cb  oldPad'---{- |-Connect a signal handler for the “@pad-removed@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' element #padRemoved callback-@--}-onElementPadRemoved :: (IsElement a, MonadIO m) => a -> ElementPadRemovedCallback -> m SignalHandlerId-onElementPadRemoved obj cb = liftIO $ do-    let cb' = wrap_ElementPadRemovedCallback cb-    cb'' <- mk_ElementPadRemovedCallback cb'-    connectSignalFunPtr obj "pad-removed" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@pad-removed@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' element #padRemoved callback-@--}-afterElementPadRemoved :: (IsElement a, MonadIO m) => a -> ElementPadRemovedCallback -> m SignalHandlerId-afterElementPadRemoved obj cb = liftIO $ do-    let cb' = wrap_ElementPadRemovedCallback cb-    cb'' <- mk_ElementPadRemovedCallback cb'-    connectSignalFunPtr obj "pad-removed" cb'' SignalConnectAfter---#if ENABLE_OVERLOADING-instance O.HasAttributeList Element-type instance O.AttributeList Element = ElementAttributeList-type ElementAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-data ElementNoMorePadsSignalInfo-instance SignalInfo ElementNoMorePadsSignalInfo where-    type HaskellCallbackType ElementNoMorePadsSignalInfo = ElementNoMorePadsCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_ElementNoMorePadsCallback cb-        cb'' <- mk_ElementNoMorePadsCallback cb'-        connectSignalFunPtr obj "no-more-pads" cb'' connectMode--data ElementPadAddedSignalInfo-instance SignalInfo ElementPadAddedSignalInfo where-    type HaskellCallbackType ElementPadAddedSignalInfo = ElementPadAddedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_ElementPadAddedCallback cb-        cb'' <- mk_ElementPadAddedCallback cb'-        connectSignalFunPtr obj "pad-added" cb'' connectMode--data ElementPadRemovedSignalInfo-instance SignalInfo ElementPadRemovedSignalInfo where-    type HaskellCallbackType ElementPadRemovedSignalInfo = ElementPadRemovedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_ElementPadRemovedCallback cb-        cb'' <- mk_ElementPadRemovedCallback cb'-        connectSignalFunPtr obj "pad-removed" cb'' connectMode--type instance O.SignalList Element = ElementSignalList-type ElementSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", ElementPadAddedSignalInfo), '("padRemoved", ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif---- method Element::abort_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to abort the state of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_abort_state" gst_element_abort_state :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO ()--{- |-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.--}-elementAbortState ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to abort the state of. -}-    -> m ()-elementAbortState element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    gst_element_abort_state element'-    touchManagedPtr element-    return ()--#if ENABLE_OVERLOADING-data ElementAbortStateMethodInfo-instance (signature ~ (m ()), MonadIO m, IsElement a) => O.MethodInfo ElementAbortStateMethodInfo a signature where-    overloadedMethod _ = elementAbortState--#endif---- method Element::add_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to add the pad to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to add to the element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_add_pad" gst_element_add_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Adds a pad (link point) to /@element@/. /@pad@/\'s parent will be set to /@element@/;-see 'GI.Gst.Objects.Object.objectSetParent' 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 'GI.Gst.Objects.Element.Element'::@/pad-added/@ signal on the element.--}-elementAddPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, Gst.Pad.IsPad b) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to add the pad to. -}-    -> b-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to add to the element. -}-    -> m Bool-    {- ^ __Returns:__ '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. -}-elementAddPad element pad = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_element_add_pad element' pad'-    let result' = (/= 0) result-    touchManagedPtr element-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data ElementAddPadMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsElement a, Gst.Pad.IsPad b) => O.MethodInfo ElementAddPadMethodInfo a signature where-    overloadedMethod _ = elementAddPad--#endif---- method Element::add_property_deep_notify_watch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to watch (recursively) for property changes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name of property to watch for changes, or\n    NULL to watch all properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "include_value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to include the new property value in the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TULong)--- throws : False--- Skip return : False--foreign import ccall "gst_element_add_property_deep_notify_watch" gst_element_add_property_deep_notify_watch :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- property_name : TBasicType TUTF8-    CInt ->                                 -- include_value : TBasicType TBoolean-    IO CULong--{- |-/No description available in the introspection data./--/Since: 1.10/--}-elementAddPropertyDeepNotifyWatch ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to watch (recursively) for property changes -}-    -> Maybe (T.Text)-    {- ^ /@propertyName@/: name of property to watch for changes, or-    NULL to watch all properties -}-    -> Bool-    {- ^ /@includeValue@/: whether to include the new property value in the message -}-    -> m CULong-    {- ^ __Returns:__ a watch id, which can be used in connection with-    'GI.Gst.Objects.Element.elementRemovePropertyNotifyWatch' to remove the watch again. -}-elementAddPropertyDeepNotifyWatch element propertyName includeValue = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    maybePropertyName <- case propertyName of-        Nothing -> return nullPtr-        Just jPropertyName -> do-            jPropertyName' <- textToCString jPropertyName-            return jPropertyName'-    let includeValue' = (fromIntegral . fromEnum) includeValue-    result <- gst_element_add_property_deep_notify_watch element' maybePropertyName includeValue'-    touchManagedPtr element-    freeMem maybePropertyName-    return result--#if ENABLE_OVERLOADING-data ElementAddPropertyDeepNotifyWatchMethodInfo-instance (signature ~ (Maybe (T.Text) -> Bool -> m CULong), MonadIO m, IsElement a) => O.MethodInfo ElementAddPropertyDeepNotifyWatchMethodInfo a signature where-    overloadedMethod _ = elementAddPropertyDeepNotifyWatch--#endif---- method Element::add_property_notify_watch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to watch for property changes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name of property to watch for changes, or\n    NULL to watch all properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "include_value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to include the new property value in the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TULong)--- throws : False--- Skip return : False--foreign import ccall "gst_element_add_property_notify_watch" gst_element_add_property_notify_watch :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- property_name : TBasicType TUTF8-    CInt ->                                 -- include_value : TBasicType TBoolean-    IO CULong--{- |-/No description available in the introspection data./--/Since: 1.10/--}-elementAddPropertyNotifyWatch ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to watch for property changes -}-    -> Maybe (T.Text)-    {- ^ /@propertyName@/: name of property to watch for changes, or-    NULL to watch all properties -}-    -> Bool-    {- ^ /@includeValue@/: whether to include the new property value in the message -}-    -> m CULong-    {- ^ __Returns:__ a watch id, which can be used in connection with-    'GI.Gst.Objects.Element.elementRemovePropertyNotifyWatch' to remove the watch again. -}-elementAddPropertyNotifyWatch element propertyName includeValue = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    maybePropertyName <- case propertyName of-        Nothing -> return nullPtr-        Just jPropertyName -> do-            jPropertyName' <- textToCString jPropertyName-            return jPropertyName'-    let includeValue' = (fromIntegral . fromEnum) includeValue-    result <- gst_element_add_property_notify_watch element' maybePropertyName includeValue'-    touchManagedPtr element-    freeMem maybePropertyName-    return result--#if ENABLE_OVERLOADING-data ElementAddPropertyNotifyWatchMethodInfo-instance (signature ~ (Maybe (T.Text) -> Bool -> m CULong), MonadIO m, IsElement a) => O.MethodInfo ElementAddPropertyNotifyWatchMethodInfo a signature where-    overloadedMethod _ = elementAddPropertyNotifyWatch--#endif---- method Element::call_async--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "ElementCallAsyncFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Function to call asynchronously from another thread", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Data to pass to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GDestroyNotify for @user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_call_async" gst_element_call_async :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    FunPtr Gst.Callbacks.C_ElementCallAsyncFunc -> -- func : TInterface (Name {namespace = "Gst", name = "ElementCallAsyncFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy_notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Calls /@func@/ from another thread and passes /@userData@/ to it. This is to be-used for cases when a state change has to be performed from a streaming-thread, directly via 'GI.Gst.Objects.Element.elementSetState' 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.--/Since: 1.10/--}-elementCallAsync ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' -}-    -> Gst.Callbacks.ElementCallAsyncFunc-    {- ^ /@func@/: Function to call asynchronously from another thread -}-    -> m ()-elementCallAsync element func = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    func' <- Gst.Callbacks.mk_ElementCallAsyncFunc (Gst.Callbacks.wrap_ElementCallAsyncFunc Nothing (Gst.Callbacks.drop_closures_ElementCallAsyncFunc func))-    let userData = castFunPtrToPtr func'-    let destroyNotify = safeFreeFunPtrPtr-    gst_element_call_async element' func' userData destroyNotify-    touchManagedPtr element-    return ()--#if ENABLE_OVERLOADING-data ElementCallAsyncMethodInfo-instance (signature ~ (Gst.Callbacks.ElementCallAsyncFunc -> m ()), MonadIO m, IsElement a) => O.MethodInfo ElementCallAsyncMethodInfo a signature where-    overloadedMethod _ = elementCallAsync--#endif---- method Element::change_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transition", argType = TInterface (Name {namespace = "Gst", name = "StateChange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested transition", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "StateChangeReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_change_state" gst_element_change_state :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CUInt ->                                -- transition : TInterface (Name {namespace = "Gst", name = "StateChange"})-    IO CUInt--{- |-Perform /@transition@/ on /@element@/.--This function must be called with STATE_LOCK held and is mainly used-internally.--}-elementChangeState ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' -}-    -> Gst.Enums.StateChange-    {- ^ /@transition@/: the requested transition -}-    -> m Gst.Enums.StateChangeReturn-    {- ^ __Returns:__ the 'GI.Gst.Enums.StateChangeReturn' of the state transition. -}-elementChangeState element transition = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let transition' = (fromIntegral . fromEnum) transition-    result <- gst_element_change_state element' transition'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementChangeStateMethodInfo-instance (signature ~ (Gst.Enums.StateChange -> m Gst.Enums.StateChangeReturn), MonadIO m, IsElement a) => O.MethodInfo ElementChangeStateMethodInfo a signature where-    overloadedMethod _ = elementChangeState--#endif---- method Element::continue_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to continue the state change of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ret", argType = TInterface (Name {namespace = "Gst", name = "StateChangeReturn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The previous state return value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "StateChangeReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_continue_state" gst_element_continue_state :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CUInt ->                                -- ret : TInterface (Name {namespace = "Gst", name = "StateChangeReturn"})-    IO CUInt--{- |-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 'GI.Gst.Enums.StateChangeReturnSuccess' 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.--}-elementContinueState ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to continue the state change of. -}-    -> Gst.Enums.StateChangeReturn-    {- ^ /@ret@/: The previous state return value -}-    -> m Gst.Enums.StateChangeReturn-    {- ^ __Returns:__ The result of the commit state change.--MT safe. -}-elementContinueState element ret = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let ret' = (fromIntegral . fromEnum) ret-    result <- gst_element_continue_state element' ret'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementContinueStateMethodInfo-instance (signature ~ (Gst.Enums.StateChangeReturn -> m Gst.Enums.StateChangeReturn), MonadIO m, IsElement a) => O.MethodInfo ElementContinueStateMethodInfo a signature where-    overloadedMethod _ = elementContinueState--#endif---- method Element::create_all_pads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to create pads for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_create_all_pads" gst_element_create_all_pads :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO ()--{- |-Creates a pad for each pad template that is always available.-This function is only useful during object initialization of-subclasses of 'GI.Gst.Objects.Element.Element'.--}-elementCreateAllPads ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to create pads for -}-    -> m ()-elementCreateAllPads element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    gst_element_create_all_pads element'-    touchManagedPtr element-    return ()--#if ENABLE_OVERLOADING-data ElementCreateAllPadsMethodInfo-instance (signature ~ (m ()), MonadIO m, IsElement a) => O.MethodInfo ElementCreateAllPadsMethodInfo a signature where-    overloadedMethod _ = elementCreateAllPads--#endif---- method Element::foreach_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to iterate pads of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "ElementForeachPadFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call for each pad", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_foreach_pad" gst_element_foreach_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    FunPtr Gst.Callbacks.C_ElementForeachPadFunc -> -- func : TInterface (Name {namespace = "Gst", name = "ElementForeachPadFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Call /@func@/ with /@userData@/ 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.--/Since: 1.14/--}-elementForeachPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to iterate pads of -}-    -> Gst.Callbacks.ElementForeachPadFunc-    {- ^ /@func@/: function to call for each pad -}-    -> m Bool-    {- ^ __Returns:__ 'False' if /@element@/ had no pads or if one of the calls to /@func@/-  returned 'False'. -}-elementForeachPad element func = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    func' <- Gst.Callbacks.mk_ElementForeachPadFunc (Gst.Callbacks.wrap_ElementForeachPadFunc Nothing (Gst.Callbacks.drop_closures_ElementForeachPadFunc func))-    let userData = nullPtr-    result <- gst_element_foreach_pad element' func' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementForeachPadMethodInfo-instance (signature ~ (Gst.Callbacks.ElementForeachPadFunc -> m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementForeachPadMethodInfo a signature where-    overloadedMethod _ = elementForeachPad--#endif---- method Element::foreach_sink_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to iterate sink pads of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "ElementForeachPadFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call for each sink pad", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_foreach_sink_pad" gst_element_foreach_sink_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    FunPtr Gst.Callbacks.C_ElementForeachPadFunc -> -- func : TInterface (Name {namespace = "Gst", name = "ElementForeachPadFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Call /@func@/ with /@userData@/ 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.--/Since: 1.14/--}-elementForeachSinkPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to iterate sink pads of -}-    -> Gst.Callbacks.ElementForeachPadFunc-    {- ^ /@func@/: function to call for each sink pad -}-    -> m Bool-    {- ^ __Returns:__ 'False' if /@element@/ had no sink pads or if one of the calls to /@func@/-  returned 'False'. -}-elementForeachSinkPad element func = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    func' <- Gst.Callbacks.mk_ElementForeachPadFunc (Gst.Callbacks.wrap_ElementForeachPadFunc Nothing (Gst.Callbacks.drop_closures_ElementForeachPadFunc func))-    let userData = nullPtr-    result <- gst_element_foreach_sink_pad element' func' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementForeachSinkPadMethodInfo-instance (signature ~ (Gst.Callbacks.ElementForeachPadFunc -> m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementForeachSinkPadMethodInfo a signature where-    overloadedMethod _ = elementForeachSinkPad--#endif---- method Element::foreach_src_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to iterate source pads of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "ElementForeachPadFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call for each source pad", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_foreach_src_pad" gst_element_foreach_src_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    FunPtr Gst.Callbacks.C_ElementForeachPadFunc -> -- func : TInterface (Name {namespace = "Gst", name = "ElementForeachPadFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Call /@func@/ with /@userData@/ 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.--/Since: 1.14/--}-elementForeachSrcPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to iterate source pads of -}-    -> Gst.Callbacks.ElementForeachPadFunc-    {- ^ /@func@/: function to call for each source pad -}-    -> m Bool-    {- ^ __Returns:__ 'False' if /@element@/ had no source pads or if one of the calls-  to /@func@/ returned 'False'. -}-elementForeachSrcPad element func = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    func' <- Gst.Callbacks.mk_ElementForeachPadFunc (Gst.Callbacks.wrap_ElementForeachPadFunc Nothing (Gst.Callbacks.drop_closures_ElementForeachPadFunc func))-    let userData = nullPtr-    result <- gst_element_foreach_src_pad element' func' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementForeachSrcPadMethodInfo-instance (signature ~ (Gst.Callbacks.ElementForeachPadFunc -> m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementForeachSrcPadMethodInfo a signature where-    overloadedMethod _ = elementForeachSrcPad--#endif---- method Element::get_base_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_base_time" gst_element_get_base_time :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO Word64--{- |-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.--}-elementGetBaseTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element'. -}-    -> m Word64-    {- ^ __Returns:__ the base time of the element.--MT safe. -}-elementGetBaseTime element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_get_base_time element'-    touchManagedPtr element-    return result--#if ENABLE_OVERLOADING-data ElementGetBaseTimeMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsElement a) => O.MethodInfo ElementGetBaseTimeMethodInfo a signature where-    overloadedMethod _ = elementGetBaseTime--#endif---- method Element::get_bus--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to get the bus of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Bus"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_bus" gst_element_get_bus :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr Gst.Bus.Bus)--{- |-Returns the bus of the element. Note that only a 'GI.Gst.Objects.Pipeline.Pipeline' will provide a-bus for the application.--}-elementGetBus ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to get the bus of. -}-    -> m (Maybe Gst.Bus.Bus)-    {- ^ __Returns:__ the element\'s 'GI.Gst.Objects.Bus.Bus'. unref after-usage.--MT safe. -}-elementGetBus element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_get_bus element'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Bus.Bus) result'-        return result''-    touchManagedPtr element-    return maybeResult--#if ENABLE_OVERLOADING-data ElementGetBusMethodInfo-instance (signature ~ (m (Maybe Gst.Bus.Bus)), MonadIO m, IsElement a) => O.MethodInfo ElementGetBusMethodInfo a signature where-    overloadedMethod _ = elementGetBus--#endif---- method Element::get_clock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to get the clock of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Clock"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_clock" gst_element_get_clock :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr Gst.Clock.Clock)--{- |-Gets the currently configured clock of the element. This is the clock as was-last set with 'GI.Gst.Objects.Element.elementSetClock'.--Elements in a pipeline will only have their clock set when the-pipeline is in the PLAYING state.--}-elementGetClock ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to get the clock of. -}-    -> m (Maybe Gst.Clock.Clock)-    {- ^ __Returns:__ the 'GI.Gst.Objects.Clock.Clock' of the element. unref after usage.--MT safe. -}-elementGetClock element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_get_clock element'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Clock.Clock) result'-        return result''-    touchManagedPtr element-    return maybeResult--#if ENABLE_OVERLOADING-data ElementGetClockMethodInfo-instance (signature ~ (m (Maybe Gst.Clock.Clock)), MonadIO m, IsElement a) => O.MethodInfo ElementGetClockMethodInfo a signature where-    overloadedMethod _ = elementGetClock--#endif---- method Element::get_compatible_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement in which the pad should be found.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to find a compatible one for.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstCaps to use as a filter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_compatible_pad" gst_element_get_compatible_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Gst.Pad.Pad)--{- |-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@/.--}-elementGetCompatiblePad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, Gst.Pad.IsPad b) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' in which the pad should be found. -}-    -> b-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to find a compatible one for. -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to use as a filter. -}-    -> m (Maybe Gst.Pad.Pad)-    {- ^ __Returns:__ the 'GI.Gst.Objects.Pad.Pad' to which a link-  can be made, or 'Nothing' if one cannot be found. 'GI.Gst.Objects.Object.objectUnref'-  after usage. -}-elementGetCompatiblePad element pad caps = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    pad' <- unsafeManagedPtrCastPtr pad-    maybeCaps <- case caps of-        Nothing -> return nullPtr-        Just jCaps -> do-            jCaps' <- unsafeManagedPtrGetPtr jCaps-            return jCaps'-    result <- gst_element_get_compatible_pad element' pad' maybeCaps-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Pad.Pad) result'-        return result''-    touchManagedPtr element-    touchManagedPtr pad-    whenJust caps touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-data ElementGetCompatiblePadMethodInfo-instance (signature ~ (b -> Maybe (Gst.Caps.Caps) -> m (Maybe Gst.Pad.Pad)), MonadIO m, IsElement a, Gst.Pad.IsPad b) => O.MethodInfo ElementGetCompatiblePadMethodInfo a signature where-    overloadedMethod _ = elementGetCompatiblePad--#endif---- method Element::get_compatible_pad_template--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to get a compatible pad template for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compattempl", argType = TInterface (Name {namespace = "Gst", name = "PadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadTemplate to find a compatible\n    template for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadTemplate"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_compatible_pad_template" gst_element_get_compatible_pad_template :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.PadTemplate.PadTemplate ->      -- compattempl : TInterface (Name {namespace = "Gst", name = "PadTemplate"})-    IO (Ptr Gst.PadTemplate.PadTemplate)--{- |-Retrieves a pad template from /@element@/ that is compatible with /@compattempl@/.-Pads from compatible templates can be linked together.--}-elementGetCompatiblePadTemplate ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, Gst.PadTemplate.IsPadTemplate b) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to get a compatible pad template for -}-    -> b-    {- ^ /@compattempl@/: the 'GI.Gst.Objects.PadTemplate.PadTemplate' to find a compatible-    template for -}-    -> m (Maybe Gst.PadTemplate.PadTemplate)-    {- ^ __Returns:__ a compatible 'GI.Gst.Objects.PadTemplate.PadTemplate',-  or 'Nothing' if none was found. No unreferencing is necessary. -}-elementGetCompatiblePadTemplate element compattempl = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    compattempl' <- unsafeManagedPtrCastPtr compattempl-    result <- gst_element_get_compatible_pad_template element' compattempl'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Gst.PadTemplate.PadTemplate) result'-        return result''-    touchManagedPtr element-    touchManagedPtr compattempl-    return maybeResult--#if ENABLE_OVERLOADING-data ElementGetCompatiblePadTemplateMethodInfo-instance (signature ~ (b -> m (Maybe Gst.PadTemplate.PadTemplate)), MonadIO m, IsElement a, Gst.PadTemplate.IsPadTemplate b) => O.MethodInfo ElementGetCompatiblePadTemplateMethodInfo a signature where-    overloadedMethod _ = elementGetCompatiblePadTemplate--#endif---- method Element::get_context--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to get the context of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a name of a context to retrieve", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Context"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_context" gst_element_get_context :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- context_type : TBasicType TUTF8-    IO (Ptr Gst.Context.Context)--{- |-Gets the context with /@contextType@/ set on the element or NULL.--MT safe.--/Since: 1.8/--}-elementGetContext ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to get the context of. -}-    -> T.Text-    {- ^ /@contextType@/: a name of a context to retrieve -}-    -> m Gst.Context.Context-    {- ^ __Returns:__ A 'GI.Gst.Structs.Context.Context' or NULL -}-elementGetContext element contextType = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    contextType' <- textToCString contextType-    result <- gst_element_get_context element' contextType'-    checkUnexpectedReturnNULL "elementGetContext" result-    result' <- (wrapBoxed Gst.Context.Context) result-    touchManagedPtr element-    freeMem contextType'-    return result'--#if ENABLE_OVERLOADING-data ElementGetContextMethodInfo-instance (signature ~ (T.Text -> m Gst.Context.Context), MonadIO m, IsElement a) => O.MethodInfo ElementGetContextMethodInfo a signature where-    overloadedMethod _ = elementGetContext--#endif---- method Element::get_context_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to get the context of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a name of a context to retrieve", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Context"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_context_unlocked" gst_element_get_context_unlocked :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- context_type : TBasicType TUTF8-    IO (Ptr Gst.Context.Context)--{- |-Gets the context with /@contextType@/ set on the element or NULL.--/Since: 1.8/--}-elementGetContextUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to get the context of. -}-    -> T.Text-    {- ^ /@contextType@/: a name of a context to retrieve -}-    -> m (Maybe Gst.Context.Context)-    {- ^ __Returns:__ A 'GI.Gst.Structs.Context.Context' or NULL -}-elementGetContextUnlocked element contextType = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    contextType' <- textToCString contextType-    result <- gst_element_get_context_unlocked element' contextType'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Context.Context) result'-        return result''-    touchManagedPtr element-    freeMem contextType'-    return maybeResult--#if ENABLE_OVERLOADING-data ElementGetContextUnlockedMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.Context.Context)), MonadIO m, IsElement a) => O.MethodInfo ElementGetContextUnlockedMethodInfo a signature where-    overloadedMethod _ = elementGetContextUnlocked--#endif---- method Element::get_contexts--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to set the context of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "Context"})))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_contexts" gst_element_get_contexts :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr (GList (Ptr Gst.Context.Context)))--{- |-Gets the contexts set on the element.--MT safe.--/Since: 1.8/--}-elementGetContexts ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to set the context of. -}-    -> m [Gst.Context.Context]-    {- ^ __Returns:__ List of 'GI.Gst.Structs.Context.Context' -}-elementGetContexts element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_get_contexts element'-    result' <- unpackGList result-    result'' <- mapM (wrapBoxed Gst.Context.Context) result'-    g_list_free result-    touchManagedPtr element-    return result''--#if ENABLE_OVERLOADING-data ElementGetContextsMethodInfo-instance (signature ~ (m [Gst.Context.Context]), MonadIO m, IsElement a) => O.MethodInfo ElementGetContextsMethodInfo a signature where-    overloadedMethod _ = elementGetContexts--#endif---- method Element::get_factory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to request the element factory of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ElementFactory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_factory" gst_element_get_factory :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr Gst.ElementFactory.ElementFactory)--{- |-Retrieves the factory that was used to create this element.--}-elementGetFactory ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to request the element factory of. -}-    -> m (Maybe Gst.ElementFactory.ElementFactory)-    {- ^ __Returns:__ the 'GI.Gst.Objects.ElementFactory.ElementFactory' used for creating this-    element or 'Nothing' if element has not been registered (static element). no refcounting is needed. -}-elementGetFactory element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_get_factory element'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Gst.ElementFactory.ElementFactory) result'-        return result''-    touchManagedPtr element-    return maybeResult--#if ENABLE_OVERLOADING-data ElementGetFactoryMethodInfo-instance (signature ~ (m (Maybe Gst.ElementFactory.ElementFactory)), MonadIO m, IsElement a) => O.MethodInfo ElementGetFactoryMethodInfo a signature where-    overloadedMethod _ = elementGetFactory--#endif---- method Element::get_metadata--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "class to get metadata for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_metadata" gst_element_get_metadata :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- key : TBasicType TUTF8-    IO CString--{- |-Get metadata with /@key@/ in /@klass@/.--/Since: 1.14/--}-elementGetMetadata ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: class to get metadata for -}-    -> T.Text-    {- ^ /@key@/: the key to get -}-    -> m T.Text-    {- ^ __Returns:__ the metadata for /@key@/. -}-elementGetMetadata element key = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    key' <- textToCString key-    result <- gst_element_get_metadata element' key'-    checkUnexpectedReturnNULL "elementGetMetadata" result-    result' <- cstringToText result-    touchManagedPtr element-    freeMem key'-    return result'--#if ENABLE_OVERLOADING-data ElementGetMetadataMethodInfo-instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsElement a) => O.MethodInfo ElementGetMetadataMethodInfo a signature where-    overloadedMethod _ = elementGetMetadata--#endif---- method Element::get_pad_template--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to get the pad template of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the #GstPadTemplate to get.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadTemplate"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_pad_template" gst_element_get_pad_template :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.PadTemplate.PadTemplate)--{- |-Retrieves a padtemplate from /@element@/ with the given name.--/Since: 1.14/--}-elementGetPadTemplate ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to get the pad template of. -}-    -> T.Text-    {- ^ /@name@/: the name of the 'GI.Gst.Objects.PadTemplate.PadTemplate' to get. -}-    -> m (Maybe Gst.PadTemplate.PadTemplate)-    {- ^ __Returns:__ the 'GI.Gst.Objects.PadTemplate.PadTemplate' with the-    given name, or 'Nothing' if none was found. No unreferencing is-    necessary. -}-elementGetPadTemplate element name = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    name' <- textToCString name-    result <- gst_element_get_pad_template element' name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Gst.PadTemplate.PadTemplate) result'-        return result''-    touchManagedPtr element-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-data ElementGetPadTemplateMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.PadTemplate.PadTemplate)), MonadIO m, IsElement a) => O.MethodInfo ElementGetPadTemplateMethodInfo a signature where-    overloadedMethod _ = elementGetPadTemplate--#endif---- method Element::get_pad_template_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to get pad templates of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "PadTemplate"})))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_pad_template_list" gst_element_get_pad_template_list :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr (GList (Ptr Gst.PadTemplate.PadTemplate)))--{- |-Retrieves a list of the pad templates associated with /@element@/. The-list must not be modified by the calling code.--/Since: 1.14/--}-elementGetPadTemplateList ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to get pad templates of. -}-    -> m [Gst.PadTemplate.PadTemplate]-    {- ^ __Returns:__ the 'GI.GLib.Structs.List.List' of-    pad templates. -}-elementGetPadTemplateList element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_get_pad_template_list element'-    result' <- unpackGList result-    result'' <- mapM (newObject Gst.PadTemplate.PadTemplate) result'-    touchManagedPtr element-    return result''--#if ENABLE_OVERLOADING-data ElementGetPadTemplateListMethodInfo-instance (signature ~ (m [Gst.PadTemplate.PadTemplate]), MonadIO m, IsElement a) => O.MethodInfo ElementGetPadTemplateListMethodInfo a signature where-    overloadedMethod _ = elementGetPadTemplateList--#endif---- method Element::get_request_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to find a request pad of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the request #GstPad to retrieve.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_request_pad" gst_element_get_request_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.Pad.Pad)--{- |-Retrieves a pad from the element by name (e.g. \"src_%d\"). This version only-retrieves request pads. The pad should be released with-'GI.Gst.Objects.Element.elementReleaseRequestPad'.--This method is slower than manually getting the pad template and calling-'GI.Gst.Objects.Element.elementRequestPad' if the pads should have a specific name (e.g.-/@name@/ is \"src_1\" instead of \"src_%u\").--}-elementGetRequestPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to find a request pad of. -}-    -> T.Text-    {- ^ /@name@/: the name of the request 'GI.Gst.Objects.Pad.Pad' to retrieve. -}-    -> m (Maybe Gst.Pad.Pad)-    {- ^ __Returns:__ requested 'GI.Gst.Objects.Pad.Pad' if found,-    otherwise 'Nothing'.  Release after usage. -}-elementGetRequestPad element name = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    name' <- textToCString name-    result <- gst_element_get_request_pad element' name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Pad.Pad) result'-        return result''-    touchManagedPtr element-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-data ElementGetRequestPadMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.Pad.Pad)), MonadIO m, IsElement a) => O.MethodInfo ElementGetRequestPadMethodInfo a signature where-    overloadedMethod _ = elementGetRequestPad--#endif---- method Element::get_start_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_start_time" gst_element_get_start_time :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO Word64--{- |-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-'GI.Gst.Objects.Pipeline.Pipeline'.--MT safe.--}-elementGetStartTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element'. -}-    -> m Word64-    {- ^ __Returns:__ the start time of the element. -}-elementGetStartTime element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_get_start_time element'-    touchManagedPtr element-    return result--#if ENABLE_OVERLOADING-data ElementGetStartTimeMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsElement a) => O.MethodInfo ElementGetStartTimeMethodInfo a signature where-    overloadedMethod _ = elementGetStartTime--#endif---- method Element::get_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to get the state of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to #GstState to hold the state.\n    Can be %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "pending", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to #GstState to hold the pending\n    state. Can be %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstClockTime to specify the timeout for an async\n          state change or %GST_CLOCK_TIME_NONE for infinite timeout.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "StateChangeReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_state" gst_element_get_state :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr CUInt ->                            -- state : TInterface (Name {namespace = "Gst", name = "State"})-    Ptr CUInt ->                            -- pending : TInterface (Name {namespace = "Gst", name = "State"})-    Word64 ->                               -- timeout : TBasicType TUInt64-    IO CUInt--{- |-Gets the state of the element.--For elements that performed an ASYNC state change, as reported by-'GI.Gst.Objects.Element.elementSetState', 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-'GI.Gst.Enums.StateChangeReturnSuccess' or 'GI.Gst.Enums.StateChangeReturnFailure' respectively.--For elements that did not return 'GI.Gst.Enums.StateChangeReturnAsync', this function-returns the current and pending state immediately.--This function returns 'GI.Gst.Enums.StateChangeReturnNoPreroll' 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-'GI.Gst.Enums.StatePlaying'. While the state change return is equivalent to-'GI.Gst.Enums.StateChangeReturnSuccess', 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.--}-elementGetState ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to get the state of. -}-    -> Word64-    {- ^ /@timeout@/: a @/GstClockTime/@ to specify the timeout for an async-          state change or 'GI.Gst.Constants.CLOCK_TIME_NONE' for infinite timeout. -}-    -> m ((Gst.Enums.StateChangeReturn, Gst.Enums.State, Gst.Enums.State))-    {- ^ __Returns:__ 'GI.Gst.Enums.StateChangeReturnSuccess' if the element has no more pending state-         and the last state change succeeded, 'GI.Gst.Enums.StateChangeReturnAsync' if the-         element is still performing a state change or-         'GI.Gst.Enums.StateChangeReturnFailure' if the last state change failed.--MT safe. -}-elementGetState element timeout = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    state <- allocMem :: IO (Ptr CUInt)-    pending <- allocMem :: IO (Ptr CUInt)-    result <- gst_element_get_state element' state pending timeout-    let result' = (toEnum . fromIntegral) result-    state' <- peek state-    let state'' = (toEnum . fromIntegral) state'-    pending' <- peek pending-    let pending'' = (toEnum . fromIntegral) pending'-    touchManagedPtr element-    freeMem state-    freeMem pending-    return (result', state'', pending'')--#if ENABLE_OVERLOADING-data ElementGetStateMethodInfo-instance (signature ~ (Word64 -> m ((Gst.Enums.StateChangeReturn, Gst.Enums.State, Gst.Enums.State))), MonadIO m, IsElement a) => O.MethodInfo ElementGetStateMethodInfo a signature where-    overloadedMethod _ = elementGetState--#endif---- method Element::get_static_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to find a static pad of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the static #GstPad to retrieve.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_get_static_pad" gst_element_get_static_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.Pad.Pad)--{- |-Retrieves a pad from /@element@/ by name. This version only retrieves-already-existing (i.e. \'static\') pads.--}-elementGetStaticPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to find a static pad of. -}-    -> T.Text-    {- ^ /@name@/: the name of the static 'GI.Gst.Objects.Pad.Pad' to retrieve. -}-    -> m (Maybe Gst.Pad.Pad)-    {- ^ __Returns:__ the requested 'GI.Gst.Objects.Pad.Pad' if-    found, otherwise 'Nothing'.  unref after usage.--MT safe. -}-elementGetStaticPad element name = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    name' <- textToCString name-    result <- gst_element_get_static_pad element' name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Pad.Pad) result'-        return result''-    touchManagedPtr element-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-data ElementGetStaticPadMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.Pad.Pad)), MonadIO m, IsElement a) => O.MethodInfo ElementGetStaticPadMethodInfo a signature where-    overloadedMethod _ = elementGetStaticPad--#endif---- method Element::is_locked_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_is_locked_state" gst_element_is_locked_state :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO CInt--{- |-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.--}-elementIsLockedState ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element'. -}-    -> m Bool-    {- ^ __Returns:__ 'True', if the element\'s state is locked. -}-elementIsLockedState element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_is_locked_state element'-    let result' = (/= 0) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementIsLockedStateMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementIsLockedStateMethodInfo a signature where-    overloadedMethod _ = elementIsLockedState--#endif---- method Element::iterate_pads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to iterate pads of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_iterate_pads" gst_element_iterate_pads :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-Retrieves an iterator of /@element@/\'s pads. The iterator should-be freed after usage. Also more specialized iterators exists such as-'GI.Gst.Objects.Element.elementIterateSrcPads' or 'GI.Gst.Objects.Element.elementIterateSinkPads'.--The order of pads returned by the iterator will be the order in which-the pads were added to the element.--}-elementIteratePads ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to iterate pads of. -}-    -> m Gst.Iterator.Iterator-    {- ^ __Returns:__ the 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Pad.Pad'.--MT safe. -}-elementIteratePads element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_iterate_pads element'-    checkUnexpectedReturnNULL "elementIteratePads" result-    result' <- (wrapBoxed Gst.Iterator.Iterator) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementIteratePadsMethodInfo-instance (signature ~ (m Gst.Iterator.Iterator), MonadIO m, IsElement a) => O.MethodInfo ElementIteratePadsMethodInfo a signature where-    overloadedMethod _ = elementIteratePads--#endif---- method Element::iterate_sink_pads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_iterate_sink_pads" gst_element_iterate_sink_pads :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-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.--}-elementIterateSinkPads ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element'. -}-    -> m Gst.Iterator.Iterator-    {- ^ __Returns:__ the 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Pad.Pad'.--MT safe. -}-elementIterateSinkPads element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_iterate_sink_pads element'-    checkUnexpectedReturnNULL "elementIterateSinkPads" result-    result' <- (wrapBoxed Gst.Iterator.Iterator) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementIterateSinkPadsMethodInfo-instance (signature ~ (m Gst.Iterator.Iterator), MonadIO m, IsElement a) => O.MethodInfo ElementIterateSinkPadsMethodInfo a signature where-    overloadedMethod _ = elementIterateSinkPads--#endif---- method Element::iterate_src_pads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_iterate_src_pads" gst_element_iterate_src_pads :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-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.--}-elementIterateSrcPads ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element'. -}-    -> m Gst.Iterator.Iterator-    {- ^ __Returns:__ the 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Pad.Pad'.--MT safe. -}-elementIterateSrcPads element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_iterate_src_pads element'-    checkUnexpectedReturnNULL "elementIterateSrcPads" result-    result' <- (wrapBoxed Gst.Iterator.Iterator) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementIterateSrcPadsMethodInfo-instance (signature ~ (m Gst.Iterator.Iterator), MonadIO m, IsElement a) => O.MethodInfo ElementIterateSrcPadsMethodInfo a signature where-    overloadedMethod _ = elementIterateSrcPads--#endif---- method Element::link--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement containing the source pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElement containing the destination pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_link" gst_element_link :: -    Ptr Element ->                          -- src : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Element ->                          -- dest : TInterface (Name {namespace = "Gst", name = "Element"})-    IO CInt--{- |-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-'GI.Gst.Objects.Bin.binAdd' before trying to link them.--}-elementLink ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, IsElement b) =>-    a-    {- ^ /@src@/: a 'GI.Gst.Objects.Element.Element' containing the source pad. -}-    -> b-    {- ^ /@dest@/: the 'GI.Gst.Objects.Element.Element' containing the destination pad. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the elements could be linked, 'False' otherwise. -}-elementLink src dest = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    dest' <- unsafeManagedPtrCastPtr dest-    result <- gst_element_link src' dest'-    let result' = (/= 0) result-    touchManagedPtr src-    touchManagedPtr dest-    return result'--#if ENABLE_OVERLOADING-data ElementLinkMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsElement a, IsElement b) => O.MethodInfo ElementLinkMethodInfo a signature where-    overloadedMethod _ = elementLink--#endif---- method Element::link_filtered--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement containing the source pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElement containing the destination pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstCaps to filter the link,\n    or %NULL for no filter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_link_filtered" gst_element_link_filtered :: -    Ptr Element ->                          -- src : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Element ->                          -- dest : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Caps.Caps ->                    -- filter : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-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-'GI.Gst.Objects.Bin.binAdd' before trying to link them.--}-elementLinkFiltered ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, IsElement b) =>-    a-    {- ^ /@src@/: a 'GI.Gst.Objects.Element.Element' containing the source pad. -}-    -> b-    {- ^ /@dest@/: the 'GI.Gst.Objects.Element.Element' containing the destination pad. -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@filter@/: the 'GI.Gst.Structs.Caps.Caps' to filter the link,-    or 'Nothing' for no filter. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pads could be linked, 'False' otherwise. -}-elementLinkFiltered src dest filter = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    dest' <- unsafeManagedPtrCastPtr dest-    maybeFilter <- case filter of-        Nothing -> return nullPtr-        Just jFilter -> do-            jFilter' <- unsafeManagedPtrGetPtr jFilter-            return jFilter'-    result <- gst_element_link_filtered src' dest' maybeFilter-    let result' = (/= 0) result-    touchManagedPtr src-    touchManagedPtr dest-    whenJust filter touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-data ElementLinkFilteredMethodInfo-instance (signature ~ (b -> Maybe (Gst.Caps.Caps) -> m Bool), MonadIO m, IsElement a, IsElement b) => O.MethodInfo ElementLinkFilteredMethodInfo a signature where-    overloadedMethod _ = elementLinkFiltered--#endif---- method Element::link_pads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement containing the source pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "srcpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the #GstPad in source element\n    or %NULL for any pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElement containing the destination pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the #GstPad in destination element,\nor %NULL for any pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_link_pads" gst_element_link_pads :: -    Ptr Element ->                          -- src : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- srcpadname : TBasicType TUTF8-    Ptr Element ->                          -- dest : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- destpadname : TBasicType TUTF8-    IO CInt--{- |-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.--}-elementLinkPads ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, IsElement b) =>-    a-    {- ^ /@src@/: a 'GI.Gst.Objects.Element.Element' containing the source pad. -}-    -> Maybe (T.Text)-    {- ^ /@srcpadname@/: the name of the 'GI.Gst.Objects.Pad.Pad' in source element-    or 'Nothing' for any pad. -}-    -> b-    {- ^ /@dest@/: the 'GI.Gst.Objects.Element.Element' containing the destination pad. -}-    -> Maybe (T.Text)-    {- ^ /@destpadname@/: the name of the 'GI.Gst.Objects.Pad.Pad' in destination element,-or 'Nothing' for any pad. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pads could be linked, 'False' otherwise. -}-elementLinkPads src srcpadname dest destpadname = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    maybeSrcpadname <- case srcpadname of-        Nothing -> return nullPtr-        Just jSrcpadname -> do-            jSrcpadname' <- textToCString jSrcpadname-            return jSrcpadname'-    dest' <- unsafeManagedPtrCastPtr dest-    maybeDestpadname <- case destpadname of-        Nothing -> return nullPtr-        Just jDestpadname -> do-            jDestpadname' <- textToCString jDestpadname-            return jDestpadname'-    result <- gst_element_link_pads src' maybeSrcpadname dest' maybeDestpadname-    let result' = (/= 0) result-    touchManagedPtr src-    touchManagedPtr dest-    freeMem maybeSrcpadname-    freeMem maybeDestpadname-    return result'--#if ENABLE_OVERLOADING-data ElementLinkPadsMethodInfo-instance (signature ~ (Maybe (T.Text) -> b -> Maybe (T.Text) -> m Bool), MonadIO m, IsElement a, IsElement b) => O.MethodInfo ElementLinkPadsMethodInfo a signature where-    overloadedMethod _ = elementLinkPads--#endif---- method Element::link_pads_filtered--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement containing the source pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "srcpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the #GstPad in source element\n    or %NULL for any pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElement containing the destination pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the #GstPad in destination element\n    or %NULL for any pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstCaps to filter the link,\n    or %NULL for no filter.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_link_pads_filtered" gst_element_link_pads_filtered :: -    Ptr Element ->                          -- src : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- srcpadname : TBasicType TUTF8-    Ptr Element ->                          -- dest : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- destpadname : TBasicType TUTF8-    Ptr Gst.Caps.Caps ->                    -- filter : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-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 'Nothing', makes sure that the caps of the link is a subset of /@caps@/.--}-elementLinkPadsFiltered ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, IsElement b) =>-    a-    {- ^ /@src@/: a 'GI.Gst.Objects.Element.Element' containing the source pad. -}-    -> Maybe (T.Text)-    {- ^ /@srcpadname@/: the name of the 'GI.Gst.Objects.Pad.Pad' in source element-    or 'Nothing' for any pad. -}-    -> b-    {- ^ /@dest@/: the 'GI.Gst.Objects.Element.Element' containing the destination pad. -}-    -> Maybe (T.Text)-    {- ^ /@destpadname@/: the name of the 'GI.Gst.Objects.Pad.Pad' in destination element-    or 'Nothing' for any pad. -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@filter@/: the 'GI.Gst.Structs.Caps.Caps' to filter the link,-    or 'Nothing' for no filter. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pads could be linked, 'False' otherwise. -}-elementLinkPadsFiltered src srcpadname dest destpadname filter = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    maybeSrcpadname <- case srcpadname of-        Nothing -> return nullPtr-        Just jSrcpadname -> do-            jSrcpadname' <- textToCString jSrcpadname-            return jSrcpadname'-    dest' <- unsafeManagedPtrCastPtr dest-    maybeDestpadname <- case destpadname of-        Nothing -> return nullPtr-        Just jDestpadname -> do-            jDestpadname' <- textToCString jDestpadname-            return jDestpadname'-    maybeFilter <- case filter of-        Nothing -> return nullPtr-        Just jFilter -> do-            jFilter' <- unsafeManagedPtrGetPtr jFilter-            return jFilter'-    result <- gst_element_link_pads_filtered src' maybeSrcpadname dest' maybeDestpadname maybeFilter-    let result' = (/= 0) result-    touchManagedPtr src-    touchManagedPtr dest-    whenJust filter touchManagedPtr-    freeMem maybeSrcpadname-    freeMem maybeDestpadname-    return result'--#if ENABLE_OVERLOADING-data ElementLinkPadsFilteredMethodInfo-instance (signature ~ (Maybe (T.Text) -> b -> Maybe (T.Text) -> Maybe (Gst.Caps.Caps) -> m Bool), MonadIO m, IsElement a, IsElement b) => O.MethodInfo ElementLinkPadsFilteredMethodInfo a signature where-    overloadedMethod _ = elementLinkPadsFiltered--#endif---- method Element::link_pads_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement containing the source pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "srcpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the #GstPad in source element\n    or %NULL for any pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstElement containing the destination pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the #GstPad in destination element,\nor %NULL for any pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "PadLinkCheck"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadLinkCheck to be performed when linking pads.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_link_pads_full" gst_element_link_pads_full :: -    Ptr Element ->                          -- src : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- srcpadname : TBasicType TUTF8-    Ptr Element ->                          -- dest : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- destpadname : TBasicType TUTF8-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "PadLinkCheck"})-    IO CInt--{- |-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 'GI.Gst.Objects.Element.elementLinkPadsFull' with /@flags@/ == 'GI.Gst.Flags.PadLinkCheckDefault'-is the same as calling 'GI.Gst.Objects.Element.elementLinkPads' and the recommended way of-linking pads with safety checks applied.--This is a convenience function for 'GI.Gst.Objects.Pad.padLinkFull'.--}-elementLinkPadsFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, IsElement b) =>-    a-    {- ^ /@src@/: a 'GI.Gst.Objects.Element.Element' containing the source pad. -}-    -> Maybe (T.Text)-    {- ^ /@srcpadname@/: the name of the 'GI.Gst.Objects.Pad.Pad' in source element-    or 'Nothing' for any pad. -}-    -> b-    {- ^ /@dest@/: the 'GI.Gst.Objects.Element.Element' containing the destination pad. -}-    -> Maybe (T.Text)-    {- ^ /@destpadname@/: the name of the 'GI.Gst.Objects.Pad.Pad' in destination element,-or 'Nothing' for any pad. -}-    -> [Gst.Flags.PadLinkCheck]-    {- ^ /@flags@/: the 'GI.Gst.Flags.PadLinkCheck' to be performed when linking pads. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pads could be linked, 'False' otherwise. -}-elementLinkPadsFull src srcpadname dest destpadname flags = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    maybeSrcpadname <- case srcpadname of-        Nothing -> return nullPtr-        Just jSrcpadname -> do-            jSrcpadname' <- textToCString jSrcpadname-            return jSrcpadname'-    dest' <- unsafeManagedPtrCastPtr dest-    maybeDestpadname <- case destpadname of-        Nothing -> return nullPtr-        Just jDestpadname -> do-            jDestpadname' <- textToCString jDestpadname-            return jDestpadname'-    let flags' = gflagsToWord flags-    result <- gst_element_link_pads_full src' maybeSrcpadname dest' maybeDestpadname flags'-    let result' = (/= 0) result-    touchManagedPtr src-    touchManagedPtr dest-    freeMem maybeSrcpadname-    freeMem maybeDestpadname-    return result'--#if ENABLE_OVERLOADING-data ElementLinkPadsFullMethodInfo-instance (signature ~ (Maybe (T.Text) -> b -> Maybe (T.Text) -> [Gst.Flags.PadLinkCheck] -> m Bool), MonadIO m, IsElement a, IsElement b) => O.MethodInfo ElementLinkPadsFullMethodInfo a signature where-    overloadedMethod _ = elementLinkPadsFull--#endif---- method Element::lost_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement the state is lost of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_lost_state" gst_element_lost_state :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO ()--{- |-Brings the element to the lost state. The current state of the-element is copied to the pending state so that any call to-'GI.Gst.Objects.Element.elementGetState' will return 'GI.Gst.Enums.StateChangeReturnAsync'.--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 'GI.Gst.Enums.StatePaused' or 'GI.Gst.Enums.StatePlaying' 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.--}-elementLostState ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' the state is lost of -}-    -> m ()-elementLostState element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    gst_element_lost_state element'-    touchManagedPtr element-    return ()--#if ENABLE_OVERLOADING-data ElementLostStateMethodInfo-instance (signature ~ (m ()), MonadIO m, IsElement a) => O.MethodInfo ElementLostStateMethodInfo a signature where-    overloadedMethod _ = elementLostState--#endif---- method Element::message_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to send message from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "MessageType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessageType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the GStreamer GError domain this message belongs to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "code", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the GError code belonging to the domain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an allocated text string to be used\n           as a replacement for the default message connected to code,\n           or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an allocated debug message to be\n           used as a replacement for the default debugging information,\n           or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source code file where the error was generated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source code function where the error was generated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source code line where the error was generated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_message_full" gst_element_message_full :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "MessageType"})-    Word32 ->                               -- domain : TBasicType TUInt32-    Int32 ->                                -- code : TBasicType TInt-    CString ->                              -- text : TBasicType TUTF8-    CString ->                              -- debug : TBasicType TUTF8-    CString ->                              -- file : TBasicType TUTF8-    CString ->                              -- function : TBasicType TUTF8-    Int32 ->                                -- line : TBasicType TInt-    IO ()--{- |-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.--}-elementMessageFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to send message from -}-    -> [Gst.Flags.MessageType]-    {- ^ /@type@/: the 'GI.Gst.Flags.MessageType' -}-    -> Word32-    {- ^ /@domain@/: the GStreamer GError domain this message belongs to -}-    -> Int32-    {- ^ /@code@/: the GError code belonging to the domain -}-    -> Maybe (T.Text)-    {- ^ /@text@/: an allocated text string to be used-           as a replacement for the default message connected to code,-           or 'Nothing' -}-    -> Maybe (T.Text)-    {- ^ /@debug@/: an allocated debug message to be-           used as a replacement for the default debugging information,-           or 'Nothing' -}-    -> T.Text-    {- ^ /@file@/: the source code file where the error was generated -}-    -> T.Text-    {- ^ /@function@/: the source code function where the error was generated -}-    -> Int32-    {- ^ /@line@/: the source code line where the error was generated -}-    -> m ()-elementMessageFull element type_ domain code text debug file function line = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let type_' = gflagsToWord type_-    maybeText <- case text of-        Nothing -> return nullPtr-        Just jText -> do-            jText' <- textToCString jText-            return jText'-    maybeDebug <- case debug of-        Nothing -> return nullPtr-        Just jDebug -> do-            jDebug' <- textToCString jDebug-            return jDebug'-    file' <- textToCString file-    function' <- textToCString function-    gst_element_message_full element' type_' domain code maybeText maybeDebug file' function' line-    touchManagedPtr element-    freeMem file'-    freeMem function'-    return ()--#if ENABLE_OVERLOADING-data ElementMessageFullMethodInfo-instance (signature ~ ([Gst.Flags.MessageType] -> Word32 -> Int32 -> Maybe (T.Text) -> Maybe (T.Text) -> T.Text -> T.Text -> Int32 -> m ()), MonadIO m, IsElement a) => O.MethodInfo ElementMessageFullMethodInfo a signature where-    overloadedMethod _ = elementMessageFull--#endif---- method Element::message_full_with_details--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to send message from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "MessageType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessageType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the GStreamer GError domain this message belongs to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "code", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the GError code belonging to the domain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an allocated text string to be used\n           as a replacement for the default message connected to code,\n           or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an allocated debug message to be\n           used as a replacement for the default debugging information,\n           or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "file", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source code file where the error was generated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source code function where the error was generated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source code line where the error was generated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "optional details structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_message_full_with_details" gst_element_message_full_with_details :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "MessageType"})-    Word32 ->                               -- domain : TBasicType TUInt32-    Int32 ->                                -- code : TBasicType TInt-    CString ->                              -- text : TBasicType TUTF8-    CString ->                              -- debug : TBasicType TUTF8-    CString ->                              -- file : TBasicType TUTF8-    CString ->                              -- function : TBasicType TUTF8-    Int32 ->                                -- line : TBasicType TInt-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-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/@.--/Since: 1.10/--}-elementMessageFullWithDetails ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to send message from -}-    -> [Gst.Flags.MessageType]-    {- ^ /@type@/: the 'GI.Gst.Flags.MessageType' -}-    -> Word32-    {- ^ /@domain@/: the GStreamer GError domain this message belongs to -}-    -> Int32-    {- ^ /@code@/: the GError code belonging to the domain -}-    -> Maybe (T.Text)-    {- ^ /@text@/: an allocated text string to be used-           as a replacement for the default message connected to code,-           or 'Nothing' -}-    -> Maybe (T.Text)-    {- ^ /@debug@/: an allocated debug message to be-           used as a replacement for the default debugging information,-           or 'Nothing' -}-    -> T.Text-    {- ^ /@file@/: the source code file where the error was generated -}-    -> T.Text-    {- ^ /@function@/: the source code function where the error was generated -}-    -> Int32-    {- ^ /@line@/: the source code line where the error was generated -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: optional details structure -}-    -> m ()-elementMessageFullWithDetails element type_ domain code text debug file function line structure = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let type_' = gflagsToWord type_-    maybeText <- case text of-        Nothing -> return nullPtr-        Just jText -> do-            jText' <- textToCString jText-            return jText'-    maybeDebug <- case debug of-        Nothing -> return nullPtr-        Just jDebug -> do-            jDebug' <- textToCString jDebug-            return jDebug'-    file' <- textToCString file-    function' <- textToCString function-    structure' <- B.ManagedPtr.disownBoxed structure-    gst_element_message_full_with_details element' type_' domain code maybeText maybeDebug file' function' line structure'-    touchManagedPtr element-    touchManagedPtr structure-    freeMem file'-    freeMem function'-    return ()--#if ENABLE_OVERLOADING-data ElementMessageFullWithDetailsMethodInfo-instance (signature ~ ([Gst.Flags.MessageType] -> Word32 -> Int32 -> Maybe (T.Text) -> Maybe (T.Text) -> T.Text -> T.Text -> Int32 -> Gst.Structure.Structure -> m ()), MonadIO m, IsElement a) => O.MethodInfo ElementMessageFullWithDetailsMethodInfo a signature where-    overloadedMethod _ = elementMessageFullWithDetails--#endif---- method Element::no_more_pads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_no_more_pads" gst_element_no_more_pads :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO ()--{- |-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 'GI.Gst.Objects.Element.Element'::@/no-more-pads/@ signal.--MT safe.--}-elementNoMorePads ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' -}-    -> m ()-elementNoMorePads element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    gst_element_no_more_pads element'-    touchManagedPtr element-    return ()--#if ENABLE_OVERLOADING-data ElementNoMorePadsMethodInfo-instance (signature ~ (m ()), MonadIO m, IsElement a) => O.MethodInfo ElementNoMorePadsMethodInfo a signature where-    overloadedMethod _ = elementNoMorePads--#endif---- method Element::post_message--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement posting the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage to post", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_post_message" gst_element_post_message :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Message.Message ->              -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    IO CInt--{- |-Post a message on the element\'s 'GI.Gst.Objects.Bus.Bus'. 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.--}-elementPostMessage ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' posting the message -}-    -> Gst.Message.Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' to post -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the message was successfully posted. The function returns-'False' if the element did not have a bus.--MT safe. -}-elementPostMessage element message = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    message' <- B.ManagedPtr.disownBoxed message-    result <- gst_element_post_message element' message'-    let result' = (/= 0) result-    touchManagedPtr element-    touchManagedPtr message-    return result'--#if ENABLE_OVERLOADING-data ElementPostMessageMethodInfo-instance (signature ~ (Gst.Message.Message -> m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementPostMessageMethodInfo a signature where-    overloadedMethod _ = elementPostMessage--#endif---- method Element::provide_clock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Clock"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_provide_clock" gst_element_provide_clock :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr Gst.Clock.Clock)--{- |-Get the clock provided by the given element.-> An element is only required to provide a clock in the PAUSED-> state. Some elements can provide a clock in other states.--}-elementProvideClock ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to query -}-    -> m (Maybe Gst.Clock.Clock)-    {- ^ __Returns:__ the GstClock provided by the-element or 'Nothing' if no clock could be provided.  Unref after usage.--MT safe. -}-elementProvideClock element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_provide_clock element'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Clock.Clock) result'-        return result''-    touchManagedPtr element-    return maybeResult--#if ENABLE_OVERLOADING-data ElementProvideClockMethodInfo-instance (signature ~ (m (Maybe Gst.Clock.Clock)), MonadIO m, IsElement a) => O.MethodInfo ElementProvideClockMethodInfo a signature where-    overloadedMethod _ = elementProvideClock--#endif---- method Element::query--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to perform the query on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstQuery.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_query" gst_element_query :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Query.Query ->                  -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO CInt--{- |-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.--}-elementQuery ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to perform the query on. -}-    -> Gst.Query.Query-    {- ^ /@query@/: the 'GI.Gst.Structs.Query.Query'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the query could be performed.--MT safe. -}-elementQuery element query = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_element_query element' query'-    let result' = (/= 0) result-    touchManagedPtr element-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data ElementQueryMethodInfo-instance (signature ~ (Gst.Query.Query -> m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementQueryMethodInfo a signature where-    overloadedMethod _ = elementQuery--#endif---- method Element::query_convert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to invoke the convert query on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstFormat to convert from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to convert.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat to convert to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_val", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the result.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_query_convert" gst_element_query_convert :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CUInt ->                                -- src_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- src_val : TBasicType TInt64-    CUInt ->                                -- dest_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- dest_val : TBasicType TInt64-    IO CInt--{- |-Queries an element to convert /@srcVal@/ in /@srcFormat@/ to /@destFormat@/.--}-elementQueryConvert ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to invoke the convert query on. -}-    -> Gst.Enums.Format-    {- ^ /@srcFormat@/: a 'GI.Gst.Enums.Format' to convert from. -}-    -> Int64-    {- ^ /@srcVal@/: a value to convert. -}-    -> Gst.Enums.Format-    {- ^ /@destFormat@/: the 'GI.Gst.Enums.Format' to convert to. -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if the query could be performed. -}-elementQueryConvert element srcFormat srcVal destFormat = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let srcFormat' = (fromIntegral . fromEnum) srcFormat-    let destFormat' = (fromIntegral . fromEnum) destFormat-    destVal <- allocMem :: IO (Ptr Int64)-    result <- gst_element_query_convert element' srcFormat' srcVal destFormat' destVal-    let result' = (/= 0) result-    destVal' <- peek destVal-    touchManagedPtr element-    freeMem destVal-    return (result', destVal')--#if ENABLE_OVERLOADING-data ElementQueryConvertMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsElement a) => O.MethodInfo ElementQueryConvertMethodInfo a signature where-    overloadedMethod _ = elementQueryConvert--#endif---- method Element::query_duration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to invoke the duration query on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat requested", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location in which to store the total duration, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_query_duration" gst_element_query_duration :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- duration : TBasicType TInt64-    IO CInt--{- |-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.--}-elementQueryDuration ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to invoke the duration query on. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' requested -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if the query could be performed. -}-elementQueryDuration element format = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let format' = (fromIntegral . fromEnum) format-    duration <- allocMem :: IO (Ptr Int64)-    result <- gst_element_query_duration element' format' duration-    let result' = (/= 0) result-    duration' <- peek duration-    touchManagedPtr element-    freeMem duration-    return (result', duration')--#if ENABLE_OVERLOADING-data ElementQueryDurationMethodInfo-instance (signature ~ (Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsElement a) => O.MethodInfo ElementQueryDurationMethodInfo a signature where-    overloadedMethod _ = elementQueryDuration--#endif---- method Element::query_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to invoke the position query on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat requested", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cur", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location in which to store the current\n    position, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_query_position" gst_element_query_position :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- cur : TBasicType TInt64-    IO CInt--{- |-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 'GI.Gst.Objects.Element.elementQuery'.--}-elementQueryPosition ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to invoke the position query on. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' requested -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if the query could be performed. -}-elementQueryPosition element format = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let format' = (fromIntegral . fromEnum) format-    cur <- allocMem :: IO (Ptr Int64)-    result <- gst_element_query_position element' format' cur-    let result' = (/= 0) result-    cur' <- peek cur-    touchManagedPtr element-    freeMem cur-    return (result', cur')--#if ENABLE_OVERLOADING-data ElementQueryPositionMethodInfo-instance (signature ~ (Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsElement a) => O.MethodInfo ElementQueryPositionMethodInfo a signature where-    overloadedMethod _ = elementQueryPosition--#endif---- method Element::release_request_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to release the request pad of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to release.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_release_request_pad" gst_element_release_request_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO ()--{- |-Makes the element free the previously requested pad as obtained-with 'GI.Gst.Objects.Element.elementRequestPad'.--This does not unref the pad. If the pad was created by using-'GI.Gst.Objects.Element.elementRequestPad', 'GI.Gst.Objects.Element.elementReleaseRequestPad' needs to be-followed by 'GI.Gst.Objects.Object.objectUnref' to free the /@pad@/.--MT safe.--}-elementReleaseRequestPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, Gst.Pad.IsPad b) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to release the request pad of. -}-    -> b-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to release. -}-    -> m ()-elementReleaseRequestPad element pad = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    pad' <- unsafeManagedPtrCastPtr pad-    gst_element_release_request_pad element' pad'-    touchManagedPtr element-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data ElementReleaseRequestPadMethodInfo-instance (signature ~ (b -> m ()), MonadIO m, IsElement a, Gst.Pad.IsPad b) => O.MethodInfo ElementReleaseRequestPadMethodInfo a signature where-    overloadedMethod _ = elementReleaseRequestPad--#endif---- method Element::remove_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to remove pad from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to remove from the element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_remove_pad" gst_element_remove_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Removes /@pad@/ from /@element@/. /@pad@/ will be destroyed if it has not been-referenced elsewhere using 'GI.Gst.Objects.Object.objectUnparent'.--This function is used by plugin developers and should not be used-by applications. Pads that were dynamically requested from elements-with 'GI.Gst.Objects.Element.elementRequestPad' should be released with the-'GI.Gst.Objects.Element.elementReleaseRequestPad' 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 'GI.Gst.Objects.Pad.padSetActive' for more information about-deactivating pads.--The pad and the element should be unlocked when calling this function.--This function will emit the 'GI.Gst.Objects.Element.Element'::@/pad-removed/@ signal on the element.--}-elementRemovePad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, Gst.Pad.IsPad b) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to remove pad from. -}-    -> b-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to remove from the element. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad could be removed. Can return 'False' if the-pad does not belong to the provided element.--MT safe. -}-elementRemovePad element pad = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_element_remove_pad element' pad'-    let result' = (/= 0) result-    touchManagedPtr element-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data ElementRemovePadMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsElement a, Gst.Pad.IsPad b) => O.MethodInfo ElementRemovePadMethodInfo a signature where-    overloadedMethod _ = elementRemovePad--#endif---- method Element::remove_property_notify_watch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement being watched for property changes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "watch_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "watch id to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_remove_property_notify_watch" gst_element_remove_property_notify_watch :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CULong ->                               -- watch_id : TBasicType TULong-    IO ()--{- |-/No description available in the introspection data./--/Since: 1.10/--}-elementRemovePropertyNotifyWatch ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' being watched for property changes -}-    -> CULong-    {- ^ /@watchId@/: watch id to remove -}-    -> m ()-elementRemovePropertyNotifyWatch element watchId = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    gst_element_remove_property_notify_watch element' watchId-    touchManagedPtr element-    return ()--#if ENABLE_OVERLOADING-data ElementRemovePropertyNotifyWatchMethodInfo-instance (signature ~ (CULong -> m ()), MonadIO m, IsElement a) => O.MethodInfo ElementRemovePropertyNotifyWatchMethodInfo a signature where-    overloadedMethod _ = elementRemovePropertyNotifyWatch--#endif---- method Element::request_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to find a request pad of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "templ", argType = TInterface (Name {namespace = "Gst", name = "PadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadTemplate of which we want a pad of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the request #GstPad\nto retrieve. Can be %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the caps of the pad we want to\nrequest. Can be %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_request_pad" gst_element_request_pad :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.PadTemplate.PadTemplate ->      -- templ : TInterface (Name {namespace = "Gst", name = "PadTemplate"})-    CString ->                              -- name : TBasicType TUTF8-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Gst.Pad.Pad)--{- |-Retrieves a request pad from the element according to the provided template.-Pad templates can be looked up using-'GI.Gst.Objects.ElementFactory.elementFactoryGetStaticPadTemplates'.--The pad should be released with 'GI.Gst.Objects.Element.elementReleaseRequestPad'.--}-elementRequestPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, Gst.PadTemplate.IsPadTemplate b) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to find a request pad of. -}-    -> b-    {- ^ /@templ@/: a 'GI.Gst.Objects.PadTemplate.PadTemplate' of which we want a pad of. -}-    -> Maybe (T.Text)-    {- ^ /@name@/: the name of the request 'GI.Gst.Objects.Pad.Pad'-to retrieve. Can be 'Nothing'. -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@caps@/: the caps of the pad we want to-request. Can be 'Nothing'. -}-    -> m (Maybe Gst.Pad.Pad)-    {- ^ __Returns:__ requested 'GI.Gst.Objects.Pad.Pad' if found,-    otherwise 'Nothing'.  Release after usage. -}-elementRequestPad element templ name caps = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    templ' <- unsafeManagedPtrCastPtr templ-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    maybeCaps <- case caps of-        Nothing -> return nullPtr-        Just jCaps -> do-            jCaps' <- unsafeManagedPtrGetPtr jCaps-            return jCaps'-    result <- gst_element_request_pad element' templ' maybeName maybeCaps-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Pad.Pad) result'-        return result''-    touchManagedPtr element-    touchManagedPtr templ-    whenJust caps touchManagedPtr-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-data ElementRequestPadMethodInfo-instance (signature ~ (b -> Maybe (T.Text) -> Maybe (Gst.Caps.Caps) -> m (Maybe Gst.Pad.Pad)), MonadIO m, IsElement a, Gst.PadTemplate.IsPadTemplate b) => O.MethodInfo ElementRequestPadMethodInfo a signature where-    overloadedMethod _ = elementRequestPad--#endif---- method Element::seek--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to send the event to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new playback rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The format of the seek values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "SeekFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The optional seek flags.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_type", argType = TInterface (Name {namespace = "Gst", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The type and flags for the new start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value of the new start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop_type", argType = TInterface (Name {namespace = "Gst", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The type and flags for the new stop position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value of the new stop position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_seek" gst_element_seek :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CDouble ->                              -- rate : TBasicType TDouble-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "SeekFlags"})-    CUInt ->                                -- start_type : TInterface (Name {namespace = "Gst", name = "SeekType"})-    Int64 ->                                -- start : TBasicType TInt64-    CUInt ->                                -- stop_type : TInterface (Name {namespace = "Gst", name = "SeekType"})-    Int64 ->                                -- stop : TBasicType TInt64-    IO CInt--{- |-Sends a seek event to an element. See 'GI.Gst.Structs.Event.eventNewSeek' for the details of-the parameters. The seek event is sent to the element using-'GI.Gst.Objects.Element.elementSendEvent'.--MT safe.--}-elementSeek ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to send the event to. -}-    -> Double-    {- ^ /@rate@/: The new playback rate -}-    -> Gst.Enums.Format-    {- ^ /@format@/: The format of the seek values -}-    -> [Gst.Flags.SeekFlags]-    {- ^ /@flags@/: The optional seek flags. -}-    -> Gst.Enums.SeekType-    {- ^ /@startType@/: The type and flags for the new start position -}-    -> Int64-    {- ^ /@start@/: The value of the new start position -}-    -> Gst.Enums.SeekType-    {- ^ /@stopType@/: The type and flags for the new stop position -}-    -> Int64-    {- ^ /@stop@/: The value of the new stop position -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the event was handled. Flushing seeks will trigger a-preroll, which will emit 'GI.Gst.Flags.MessageTypeAsyncDone'. -}-elementSeek element rate format flags startType start stopType stop = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let rate' = realToFrac rate-    let format' = (fromIntegral . fromEnum) format-    let flags' = gflagsToWord flags-    let startType' = (fromIntegral . fromEnum) startType-    let stopType' = (fromIntegral . fromEnum) stopType-    result <- gst_element_seek element' rate' format' flags' startType' start stopType' stop-    let result' = (/= 0) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementSeekMethodInfo-instance (signature ~ (Double -> Gst.Enums.Format -> [Gst.Flags.SeekFlags] -> Gst.Enums.SeekType -> Int64 -> Gst.Enums.SeekType -> Int64 -> m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementSeekMethodInfo a signature where-    overloadedMethod _ = elementSeek--#endif---- method Element::seek_simple--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to seek on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstFormat to execute the seek in, such as #GST_FORMAT_TIME", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seek_flags", argType = TInterface (Name {namespace = "Gst", name = "SeekFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "seek options; playback applications will usually want to use\n           GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seek_pos", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position to seek to (relative to the start); if you are doing\n           a seek in #GST_FORMAT_TIME this value is in nanoseconds -\n           multiply with #GST_SECOND to convert seconds to nanoseconds or\n           with #GST_MSECOND to convert milliseconds to nanoseconds.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_seek_simple" gst_element_seek_simple :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    CUInt ->                                -- seek_flags : TInterface (Name {namespace = "Gst", name = "SeekFlags"})-    Int64 ->                                -- seek_pos : TBasicType TInt64-    IO CInt--{- |-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 'GI.Gst.Objects.Element.elementSeek'.--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.--}-elementSeekSimple ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to seek on -}-    -> Gst.Enums.Format-    {- ^ /@format@/: a 'GI.Gst.Enums.Format' to execute the seek in, such as @/GST_FORMAT_TIME/@ -}-    -> [Gst.Flags.SeekFlags]-    {- ^ /@seekFlags@/: seek options; playback applications will usually want to use-           GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT here -}-    -> Int64-    {- ^ /@seekPos@/: 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 'GI.Gst.Constants.SECOND' to convert seconds to nanoseconds or-           with 'GI.Gst.Constants.MSECOND' to convert milliseconds to nanoseconds. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the seek operation succeeded. Flushing seeks will trigger a-preroll, which will emit 'GI.Gst.Flags.MessageTypeAsyncDone'. -}-elementSeekSimple element format seekFlags seekPos = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let format' = (fromIntegral . fromEnum) format-    let seekFlags' = gflagsToWord seekFlags-    result <- gst_element_seek_simple element' format' seekFlags' seekPos-    let result' = (/= 0) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementSeekSimpleMethodInfo-instance (signature ~ (Gst.Enums.Format -> [Gst.Flags.SeekFlags] -> Int64 -> m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementSeekSimpleMethodInfo a signature where-    overloadedMethod _ = elementSeekSimple--#endif---- method Element::send_event--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to send the event to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstEvent to send to the element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_send_event" gst_element_send_event :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Event.Event ->                  -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO CInt--{- |-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.--}-elementSendEvent ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to send the event to. -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' to send to the element. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the event was handled. Events that trigger a preroll (such-as flushing seeks and steps) will emit 'GI.Gst.Flags.MessageTypeAsyncDone'. -}-elementSendEvent element event = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    event' <- B.ManagedPtr.disownBoxed event-    result <- gst_element_send_event element' event'-    let result' = (/= 0) result-    touchManagedPtr element-    touchManagedPtr event-    return result'--#if ENABLE_OVERLOADING-data ElementSendEventMethodInfo-instance (signature ~ (Gst.Event.Event -> m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementSendEventMethodInfo a signature where-    overloadedMethod _ = elementSendEvent--#endif---- method Element::set_base_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the base time to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_set_base_time" gst_element_set_base_time :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Word64 ->                               -- time : TBasicType TUInt64-    IO ()--{- |-Set the base time of an element. See 'GI.Gst.Objects.Element.elementGetBaseTime'.--MT safe.--}-elementSetBaseTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element'. -}-    -> Word64-    {- ^ /@time@/: the base time to set. -}-    -> m ()-elementSetBaseTime element time = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    gst_element_set_base_time element' time-    touchManagedPtr element-    return ()--#if ENABLE_OVERLOADING-data ElementSetBaseTimeMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsElement a) => O.MethodInfo ElementSetBaseTimeMethodInfo a signature where-    overloadedMethod _ = elementSetBaseTime--#endif---- method Element::set_bus--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to set the bus of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bus", argType = TInterface (Name {namespace = "Gst", name = "Bus"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstBus to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_set_bus" gst_element_set_bus :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Bus.Bus ->                      -- bus : TInterface (Name {namespace = "Gst", name = "Bus"})-    IO ()--{- |-Sets the bus of the element. Increases the refcount on the bus.-For internal use only, unless you\'re testing elements.--MT safe.--}-elementSetBus ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, Gst.Bus.IsBus b) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to set the bus of. -}-    -> Maybe (b)-    {- ^ /@bus@/: the 'GI.Gst.Objects.Bus.Bus' to set. -}-    -> m ()-elementSetBus element bus = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    maybeBus <- case bus of-        Nothing -> return nullPtr-        Just jBus -> do-            jBus' <- unsafeManagedPtrCastPtr jBus-            return jBus'-    gst_element_set_bus element' maybeBus-    touchManagedPtr element-    whenJust bus touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data ElementSetBusMethodInfo-instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsElement a, Gst.Bus.IsBus b) => O.MethodInfo ElementSetBusMethodInfo a signature where-    overloadedMethod _ = elementSetBus--#endif---- method Element::set_clock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to set the clock for.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstClock to set for the element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_set_clock" gst_element_set_clock :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Clock.Clock ->                  -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO CInt--{- |-Sets the clock for the element. This function increases the-refcount on the clock. Any previously set clock on the object-is unreffed.--}-elementSetClock ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, Gst.Clock.IsClock b) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to set the clock for. -}-    -> Maybe (b)-    {- ^ /@clock@/: the 'GI.Gst.Objects.Clock.Clock' to set for the element. -}-    -> m Bool-    {- ^ __Returns:__ '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. -}-elementSetClock element clock = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    maybeClock <- case clock of-        Nothing -> return nullPtr-        Just jClock -> do-            jClock' <- unsafeManagedPtrCastPtr jClock-            return jClock'-    result <- gst_element_set_clock element' maybeClock-    let result' = (/= 0) result-    touchManagedPtr element-    whenJust clock touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-data ElementSetClockMethodInfo-instance (signature ~ (Maybe (b) -> m Bool), MonadIO m, IsElement a, Gst.Clock.IsClock b) => O.MethodInfo ElementSetClockMethodInfo a signature where-    overloadedMethod _ = elementSetClock--#endif---- method Element::set_context--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to set the context of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstContext to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_set_context" gst_element_set_context :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Gst.Context.Context ->              -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    IO ()--{- |-Sets the context of the element. Increases the refcount of the context.--MT safe.--}-elementSetContext ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to set the context of. -}-    -> Gst.Context.Context-    {- ^ /@context@/: the 'GI.Gst.Structs.Context.Context' to set. -}-    -> m ()-elementSetContext element context = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    context' <- unsafeManagedPtrGetPtr context-    gst_element_set_context element' context'-    touchManagedPtr element-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data ElementSetContextMethodInfo-instance (signature ~ (Gst.Context.Context -> m ()), MonadIO m, IsElement a) => O.MethodInfo ElementSetContextMethodInfo a signature where-    overloadedMethod _ = elementSetContext--#endif---- method Element::set_locked_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "locked_state", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to lock the element's state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_set_locked_state" gst_element_set_locked_state :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CInt ->                                 -- locked_state : TBasicType TBoolean-    IO CInt--{- |-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.--}-elementSetLockedState ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' -}-    -> Bool-    {- ^ /@lockedState@/: 'True' to lock the element\'s state -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the state was changed, 'False' if bad parameters were given-or the elements state-locking needed no change. -}-elementSetLockedState element lockedState = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let lockedState' = (fromIntegral . fromEnum) lockedState-    result <- gst_element_set_locked_state element' lockedState'-    let result' = (/= 0) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementSetLockedStateMethodInfo-instance (signature ~ (Bool -> m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementSetLockedStateMethodInfo a signature where-    overloadedMethod _ = elementSetLockedState--#endif---- method Element::set_start_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the base time to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_set_start_time" gst_element_set_start_time :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    Word64 ->                               -- time : TBasicType TUInt64-    IO ()--{- |-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 'GI.Gst.Objects.Pipeline.Pipeline' will manage the start_time and-base_time on its children. Setting the start_time to 'GI.Gst.Constants.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.--}-elementSetStartTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element'. -}-    -> Word64-    {- ^ /@time@/: the base time to set. -}-    -> m ()-elementSetStartTime element time = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    gst_element_set_start_time element' time-    touchManagedPtr element-    return ()--#if ENABLE_OVERLOADING-data ElementSetStartTimeMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsElement a) => O.MethodInfo ElementSetStartTimeMethodInfo a signature where-    overloadedMethod _ = elementSetStartTime--#endif---- method Element::set_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement to change state of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the element's new #GstState.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "StateChangeReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_set_state" gst_element_set_state :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    CUInt ->                                -- state : TInterface (Name {namespace = "Gst", name = "State"})-    IO CUInt--{- |-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 'GI.Gst.Objects.Element.elementGetState' to wait for the completion-of the state change or it can wait for a 'GI.Gst.Flags.MessageTypeAsyncDone' or-'GI.Gst.Flags.MessageTypeStateChanged' on the bus.--State changes to 'GI.Gst.Enums.StateReady' or 'GI.Gst.Enums.StateNull' never return-@/GST_STATE_CHANGE_ASYNC/@.--}-elementSetState ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element' to change state of. -}-    -> Gst.Enums.State-    {- ^ /@state@/: the element\'s new 'GI.Gst.Enums.State'. -}-    -> m Gst.Enums.StateChangeReturn-    {- ^ __Returns:__ Result of the state change using 'GI.Gst.Enums.StateChangeReturn'.--MT safe. -}-elementSetState element state = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    let state' = (fromIntegral . fromEnum) state-    result <- gst_element_set_state element' state'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementSetStateMethodInfo-instance (signature ~ (Gst.Enums.State -> m Gst.Enums.StateChangeReturn), MonadIO m, IsElement a) => O.MethodInfo ElementSetStateMethodInfo a signature where-    overloadedMethod _ = elementSetState--#endif---- method Element::sync_state_with_parent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_sync_state_with_parent" gst_element_sync_state_with_parent :: -    Ptr Element ->                          -- element : TInterface (Name {namespace = "Gst", name = "Element"})-    IO CInt--{- |-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.--}-elementSyncStateWithParent ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a) =>-    a-    {- ^ /@element@/: a 'GI.Gst.Objects.Element.Element'. -}-    -> m Bool-    {- ^ __Returns:__ 'True', if the element\'s state could be synced to the parent\'s state.--MT safe. -}-elementSyncStateWithParent element = liftIO $ do-    element' <- unsafeManagedPtrCastPtr element-    result <- gst_element_sync_state_with_parent element'-    let result' = (/= 0) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-data ElementSyncStateWithParentMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsElement a) => O.MethodInfo ElementSyncStateWithParentMethodInfo a signature where-    overloadedMethod _ = elementSyncStateWithParent--#endif---- method Element::unlink--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GstElement to unlink.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink #GstElement to unlink.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_unlink" gst_element_unlink :: -    Ptr Element ->                          -- src : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr Element ->                          -- dest : TInterface (Name {namespace = "Gst", name = "Element"})-    IO ()--{- |-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 'GI.Gst.Objects.Element.elementLink', it could have created an-requestpad, which has to be released using 'GI.Gst.Objects.Element.elementReleaseRequestPad'.--}-elementUnlink ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, IsElement b) =>-    a-    {- ^ /@src@/: the source 'GI.Gst.Objects.Element.Element' to unlink. -}-    -> b-    {- ^ /@dest@/: the sink 'GI.Gst.Objects.Element.Element' to unlink. -}-    -> m ()-elementUnlink src dest = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    dest' <- unsafeManagedPtrCastPtr dest-    gst_element_unlink src' dest'-    touchManagedPtr src-    touchManagedPtr dest-    return ()--#if ENABLE_OVERLOADING-data ElementUnlinkMethodInfo-instance (signature ~ (b -> m ()), MonadIO m, IsElement a, IsElement b) => O.MethodInfo ElementUnlinkMethodInfo a signature where-    overloadedMethod _ = elementUnlink--#endif---- method Element::unlink_pads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a (transfer none): #GstElement containing the source pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "srcpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the #GstPad in source element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElement containing the destination pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destpadname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the #GstPad in destination element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_element_unlink_pads" gst_element_unlink_pads :: -    Ptr Element ->                          -- src : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- srcpadname : TBasicType TUTF8-    Ptr Element ->                          -- dest : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- destpadname : TBasicType TUTF8-    IO ()--{- |-Unlinks the two named pads of the source and destination elements.--This is a convenience function for 'GI.Gst.Objects.Pad.padUnlink'.--}-elementUnlinkPads ::-    (B.CallStack.HasCallStack, MonadIO m, IsElement a, IsElement b) =>-    a-    {- ^ /@src@/: a (transfer none): 'GI.Gst.Objects.Element.Element' containing the source pad. -}-    -> T.Text-    {- ^ /@srcpadname@/: the name of the 'GI.Gst.Objects.Pad.Pad' in source element. -}-    -> b-    {- ^ /@dest@/: a 'GI.Gst.Objects.Element.Element' containing the destination pad. -}-    -> T.Text-    {- ^ /@destpadname@/: the name of the 'GI.Gst.Objects.Pad.Pad' in destination element. -}-    -> m ()-elementUnlinkPads src srcpadname dest destpadname = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    srcpadname' <- textToCString srcpadname-    dest' <- unsafeManagedPtrCastPtr dest-    destpadname' <- textToCString destpadname-    gst_element_unlink_pads src' srcpadname' dest' destpadname'-    touchManagedPtr src-    touchManagedPtr dest-    freeMem srcpadname'-    freeMem destpadname'-    return ()--#if ENABLE_OVERLOADING-data ElementUnlinkPadsMethodInfo-instance (signature ~ (T.Text -> b -> T.Text -> m ()), MonadIO m, IsElement a, IsElement b) => O.MethodInfo ElementUnlinkPadsMethodInfo a signature where-    overloadedMethod _ = elementUnlinkPads--#endif---- method Element::make_from_uri--- method type : MemberFunction--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "URIType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether to create a source or a sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "URI to create an element for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "elementname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Name of created element, can be %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : True--- Skip return : False--foreign import ccall "gst_element_make_from_uri" gst_element_make_from_uri :: -    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "URIType"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- elementname : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Element)--{- |-Creates an element for handling the given URI.--}-elementMakeFromUri ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.URIType-    {- ^ /@type@/: Whether to create a source or a sink -}-    -> T.Text-    {- ^ /@uri@/: URI to create an element for -}-    -> Maybe (T.Text)-    {- ^ /@elementname@/: Name of created element, can be 'Nothing'. -}-    -> m (Maybe Element)-    {- ^ __Returns:__ a new element or 'Nothing' if none-could be created /(Can throw 'Data.GI.Base.GError.GError')/ -}-elementMakeFromUri type_ uri elementname = liftIO $ do-    let type_' = (fromIntegral . fromEnum) type_-    uri' <- textToCString uri-    maybeElementname <- case elementname of-        Nothing -> return nullPtr-        Just jElementname -> do-            jElementname' <- textToCString jElementname-            return jElementname'-    onException (do-        result <- propagateGError $ gst_element_make_from_uri type_' uri' maybeElementname-        maybeResult <- convertIfNonNull result $ \result' -> do-            result'' <- (newObject Element) result'-            return result''-        freeMem uri'-        freeMem maybeElementname-        return maybeResult-     ) (do-        freeMem uri'-        freeMem maybeElementname-     )--#if ENABLE_OVERLOADING-#endif---- method Element::register--- method type : MemberFunction--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "#GstPlugin to register the element with, or %NULL for\n    a static element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of elements of this type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rank", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rank of element (higher rank means more importance when autoplugging)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GType of element to register", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_register" gst_element_register :: -    Ptr Gst.Plugin.Plugin ->                -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    CString ->                              -- name : TBasicType TUTF8-    Word32 ->                               -- rank : TBasicType TUInt-    CGType ->                               -- type : TBasicType TGType-    IO CInt--{- |-Create a new elementfactory capable of instantiating objects of the-/@type@/ and add the factory to /@plugin@/.--}-elementRegister ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Plugin.IsPlugin a) =>-    Maybe (a)-    {- ^ /@plugin@/: 'GI.Gst.Objects.Plugin.Plugin' to register the element with, or 'Nothing' for-    a static element. -}-    -> T.Text-    {- ^ /@name@/: name of elements of this type -}-    -> Word32-    {- ^ /@rank@/: rank of element (higher rank means more importance when autoplugging) -}-    -> GType-    {- ^ /@type@/: GType of element to register -}-    -> m Bool-    {- ^ __Returns:__ 'True', if the registering succeeded, 'False' on error -}-elementRegister plugin name rank type_ = liftIO $ do-    maybePlugin <- case plugin of-        Nothing -> return nullPtr-        Just jPlugin -> do-            jPlugin' <- unsafeManagedPtrCastPtr jPlugin-            return jPlugin'-    name' <- textToCString name-    let type_' = gtypeToCGType type_-    result <- gst_element_register maybePlugin name' rank type_'-    let result' = (/= 0) result-    whenJust plugin touchManagedPtr-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Element::state_change_return_get_name--- method type : MemberFunction--- Args : [Arg {argCName = "state_ret", argType = TInterface (Name {namespace = "Gst", name = "StateChangeReturn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStateChangeReturn to get the name of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_element_state_change_return_get_name" gst_element_state_change_return_get_name :: -    CUInt ->                                -- state_ret : TInterface (Name {namespace = "Gst", name = "StateChangeReturn"})-    IO CString--{- |-Gets a string representing the given state change result.--}-elementStateChangeReturnGetName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.StateChangeReturn-    {- ^ /@stateRet@/: a 'GI.Gst.Enums.StateChangeReturn' to get the name of. -}-    -> m T.Text-    {- ^ __Returns:__ a string with the name of the state-   result. -}-elementStateChangeReturnGetName stateRet = liftIO $ do-    let stateRet' = (fromIntegral . fromEnum) stateRet-    result <- gst_element_state_change_return_get_name stateRet'-    checkUnexpectedReturnNULL "elementStateChangeReturnGetName" result-    result' <- cstringToText result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Element::state_get_name--- method type : MemberFunction--- Args : [Arg {argCName = "state", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstState to get the name of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_element_state_get_name" gst_element_state_get_name :: -    CUInt ->                                -- state : TInterface (Name {namespace = "Gst", name = "State"})-    IO CString--{- |-Gets a string representing the given state.--}-elementStateGetName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.State-    {- ^ /@state@/: a 'GI.Gst.Enums.State' to get the name of. -}-    -> m T.Text-    {- ^ __Returns:__ a string with the name of the state. -}-elementStateGetName state = liftIO $ do-    let state' = (fromIntegral . fromEnum) state-    result <- gst_element_state_get_name state'-    checkUnexpectedReturnNULL "elementStateGetName" result-    result' <- cstringToText result-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/Element.hs-boot
@@ -1,227 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Element where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Element = Element (ManagedPtr Element)-instance GObject Element where-class (GObject o, O.IsDescendantOf Element o) => IsElement o-instance (GObject o, O.IsDescendantOf Element o) => IsElement o-instance O.HasParentTypes Element-#if ENABLE_OVERLOADING-data ElementNoMorePadsSignalInfo-#endif-#if ENABLE_OVERLOADING-data ElementPadAddedSignalInfo-#endif-#if ENABLE_OVERLOADING-data ElementPadRemovedSignalInfo-#endif-#if ENABLE_OVERLOADING-data ElementAbortStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementAddPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementAddPropertyDeepNotifyWatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementAddPropertyNotifyWatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementCallAsyncMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementChangeStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementContinueStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementCreateAllPadsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementForeachPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementForeachSinkPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementForeachSrcPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetBaseTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetBusMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetClockMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetCompatiblePadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetCompatiblePadTemplateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetContextMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetContextUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetContextsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetFactoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetMetadataMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetPadTemplateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetPadTemplateListMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetRequestPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetStartTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementGetStaticPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementIsLockedStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementIteratePadsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementIterateSinkPadsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementIterateSrcPadsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementLinkMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementLinkFilteredMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementLinkPadsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementLinkPadsFilteredMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementLinkPadsFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementLostStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementMessageFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementMessageFullWithDetailsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementNoMorePadsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementPostMessageMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementProvideClockMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementQueryMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementQueryConvertMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementQueryDurationMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementQueryPositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementReleaseRequestPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementRemovePadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementRemovePropertyNotifyWatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementRequestPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSeekSimpleMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSendEventMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSetBaseTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSetBusMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSetClockMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSetContextMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSetLockedStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSetStartTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSetStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementSyncStateWithParentMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementUnlinkMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementUnlinkPadsMethodInfo-#endif
− GI/Gst/Objects/ElementFactory.hs
@@ -1,1063 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Objects.ElementFactory.ElementFactory' is used to create instances of elements. A-GstElementFactory can be added to a 'GI.Gst.Objects.Plugin.Plugin' as it is also a-'GI.Gst.Objects.PluginFeature.PluginFeature'.--Use the 'GI.Gst.Objects.ElementFactory.elementFactoryFind' and 'GI.Gst.Objects.ElementFactory.elementFactoryCreate'-functions to create element instances or use 'GI.Gst.Objects.ElementFactory.elementFactoryMake' as a-convenient shortcut.--The following code example shows you how to create a GstFileSrc element.--== Using an element factory--=== /C code/->->  #include &lt;gst/gst.h&gt;->->  GstElement *src;->  GstElementFactory *srcfactory;->->  gst_init (&amp;argc, &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);->  ...---}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.ElementFactory-    ( ---- * Exported types-    ElementFactory(..)                      ,-    IsElementFactory                        ,-    toElementFactory                        ,-    noElementFactory                        ,--- -- * Methods--- ** canSinkAllCaps #method:canSinkAllCaps#--#if ENABLE_OVERLOADING-    ElementFactoryCanSinkAllCapsMethodInfo  ,-#endif-    elementFactoryCanSinkAllCaps            ,----- ** canSinkAnyCaps #method:canSinkAnyCaps#--#if ENABLE_OVERLOADING-    ElementFactoryCanSinkAnyCapsMethodInfo  ,-#endif-    elementFactoryCanSinkAnyCaps            ,----- ** canSrcAllCaps #method:canSrcAllCaps#--#if ENABLE_OVERLOADING-    ElementFactoryCanSrcAllCapsMethodInfo   ,-#endif-    elementFactoryCanSrcAllCaps             ,----- ** canSrcAnyCaps #method:canSrcAnyCaps#--#if ENABLE_OVERLOADING-    ElementFactoryCanSrcAnyCapsMethodInfo   ,-#endif-    elementFactoryCanSrcAnyCaps             ,----- ** create #method:create#--#if ENABLE_OVERLOADING-    ElementFactoryCreateMethodInfo          ,-#endif-    elementFactoryCreate                    ,----- ** find #method:find#--    elementFactoryFind                      ,----- ** getElementType #method:getElementType#--#if ENABLE_OVERLOADING-    ElementFactoryGetElementTypeMethodInfo  ,-#endif-    elementFactoryGetElementType            ,----- ** getMetadata #method:getMetadata#--#if ENABLE_OVERLOADING-    ElementFactoryGetMetadataMethodInfo     ,-#endif-    elementFactoryGetMetadata               ,----- ** getMetadataKeys #method:getMetadataKeys#--#if ENABLE_OVERLOADING-    ElementFactoryGetMetadataKeysMethodInfo ,-#endif-    elementFactoryGetMetadataKeys           ,----- ** getNumPadTemplates #method:getNumPadTemplates#--#if ENABLE_OVERLOADING-    ElementFactoryGetNumPadTemplatesMethodInfo,-#endif-    elementFactoryGetNumPadTemplates        ,----- ** getStaticPadTemplates #method:getStaticPadTemplates#--#if ENABLE_OVERLOADING-    ElementFactoryGetStaticPadTemplatesMethodInfo,-#endif-    elementFactoryGetStaticPadTemplates     ,----- ** getUriProtocols #method:getUriProtocols#--#if ENABLE_OVERLOADING-    ElementFactoryGetUriProtocolsMethodInfo ,-#endif-    elementFactoryGetUriProtocols           ,----- ** getUriType #method:getUriType#--#if ENABLE_OVERLOADING-    ElementFactoryGetUriTypeMethodInfo      ,-#endif-    elementFactoryGetUriType                ,----- ** hasInterface #method:hasInterface#--#if ENABLE_OVERLOADING-    ElementFactoryHasInterfaceMethodInfo    ,-#endif-    elementFactoryHasInterface              ,----- ** listFilter #method:listFilter#--    elementFactoryListFilter                ,----- ** listGetElements #method:listGetElements#--    elementFactoryListGetElements           ,----- ** listIsType #method:listIsType#--#if ENABLE_OVERLOADING-    ElementFactoryListIsTypeMethodInfo      ,-#endif-    elementFactoryListIsType                ,----- ** make #method:make#--    elementFactoryMake                      ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.StaticPadTemplate as Gst.StaticPadTemplate---- | Memory-managed wrapper type.-newtype ElementFactory = ElementFactory (ManagedPtr ElementFactory)-foreign import ccall "gst_element_factory_get_type"-    c_gst_element_factory_get_type :: IO GType--instance GObject ElementFactory where-    gobjectType = c_gst_element_factory_get_type-    ---- | Type class for types which can be safely cast to `ElementFactory`, for instance with `toElementFactory`.-class (GObject o, O.IsDescendantOf ElementFactory o) => IsElementFactory o-instance (GObject o, O.IsDescendantOf ElementFactory o) => IsElementFactory o--instance O.HasParentTypes ElementFactory-type instance O.ParentTypes ElementFactory = '[Gst.PluginFeature.PluginFeature, Gst.Object.Object, GObject.Object.Object]---- | Cast to `ElementFactory`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toElementFactory :: (MonadIO m, IsElementFactory o) => o -> m ElementFactory-toElementFactory = liftIO . unsafeCastTo ElementFactory---- | A convenience alias for `Nothing` :: `Maybe` `ElementFactory`.-noElementFactory :: Maybe ElementFactory-noElementFactory = Nothing--#if ENABLE_OVERLOADING-type family ResolveElementFactoryMethod (t :: Symbol) (o :: *) :: * where-    ResolveElementFactoryMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveElementFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveElementFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveElementFactoryMethod "canSinkAllCaps" o = ElementFactoryCanSinkAllCapsMethodInfo-    ResolveElementFactoryMethod "canSinkAnyCaps" o = ElementFactoryCanSinkAnyCapsMethodInfo-    ResolveElementFactoryMethod "canSrcAllCaps" o = ElementFactoryCanSrcAllCapsMethodInfo-    ResolveElementFactoryMethod "canSrcAnyCaps" o = ElementFactoryCanSrcAnyCapsMethodInfo-    ResolveElementFactoryMethod "checkVersion" o = Gst.PluginFeature.PluginFeatureCheckVersionMethodInfo-    ResolveElementFactoryMethod "create" o = ElementFactoryCreateMethodInfo-    ResolveElementFactoryMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveElementFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveElementFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveElementFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveElementFactoryMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveElementFactoryMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveElementFactoryMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveElementFactoryMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveElementFactoryMethod "hasInterface" o = ElementFactoryHasInterfaceMethodInfo-    ResolveElementFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveElementFactoryMethod "listIsType" o = ElementFactoryListIsTypeMethodInfo-    ResolveElementFactoryMethod "load" o = Gst.PluginFeature.PluginFeatureLoadMethodInfo-    ResolveElementFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveElementFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveElementFactoryMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveElementFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveElementFactoryMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveElementFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveElementFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveElementFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveElementFactoryMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveElementFactoryMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveElementFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveElementFactoryMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveElementFactoryMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveElementFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveElementFactoryMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveElementFactoryMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveElementFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveElementFactoryMethod "getElementType" o = ElementFactoryGetElementTypeMethodInfo-    ResolveElementFactoryMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveElementFactoryMethod "getMetadata" o = ElementFactoryGetMetadataMethodInfo-    ResolveElementFactoryMethod "getMetadataKeys" o = ElementFactoryGetMetadataKeysMethodInfo-    ResolveElementFactoryMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveElementFactoryMethod "getNumPadTemplates" o = ElementFactoryGetNumPadTemplatesMethodInfo-    ResolveElementFactoryMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveElementFactoryMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveElementFactoryMethod "getPlugin" o = Gst.PluginFeature.PluginFeatureGetPluginMethodInfo-    ResolveElementFactoryMethod "getPluginName" o = Gst.PluginFeature.PluginFeatureGetPluginNameMethodInfo-    ResolveElementFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveElementFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveElementFactoryMethod "getRank" o = Gst.PluginFeature.PluginFeatureGetRankMethodInfo-    ResolveElementFactoryMethod "getStaticPadTemplates" o = ElementFactoryGetStaticPadTemplatesMethodInfo-    ResolveElementFactoryMethod "getUriProtocols" o = ElementFactoryGetUriProtocolsMethodInfo-    ResolveElementFactoryMethod "getUriType" o = ElementFactoryGetUriTypeMethodInfo-    ResolveElementFactoryMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveElementFactoryMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveElementFactoryMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveElementFactoryMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveElementFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveElementFactoryMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveElementFactoryMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveElementFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveElementFactoryMethod "setRank" o = Gst.PluginFeature.PluginFeatureSetRankMethodInfo-    ResolveElementFactoryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveElementFactoryMethod t ElementFactory, O.MethodInfo info ElementFactory p) => OL.IsLabel t (ElementFactory -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList ElementFactory-type instance O.AttributeList ElementFactory = ElementFactoryAttributeList-type ElementFactoryAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList ElementFactory = ElementFactorySignalList-type ElementFactorySignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method ElementFactory::can_sink_all_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factory to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the caps to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_can_sink_all_caps" gst_element_factory_can_sink_all_caps :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Checks if the factory can sink all possible capabilities.--}-elementFactoryCanSinkAllCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: factory to query -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: the caps to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the caps are fully compatible. -}-elementFactoryCanSinkAllCaps factory caps = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_element_factory_can_sink_all_caps factory' caps'-    let result' = (/= 0) result-    touchManagedPtr factory-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data ElementFactoryCanSinkAllCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCanSinkAllCapsMethodInfo a signature where-    overloadedMethod _ = elementFactoryCanSinkAllCaps--#endif---- method ElementFactory::can_sink_any_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factory to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the caps to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_can_sink_any_caps" gst_element_factory_can_sink_any_caps :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Checks if the factory can sink any possible capability.--}-elementFactoryCanSinkAnyCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: factory to query -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: the caps to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the caps have a common subset. -}-elementFactoryCanSinkAnyCaps factory caps = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_element_factory_can_sink_any_caps factory' caps'-    let result' = (/= 0) result-    touchManagedPtr factory-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data ElementFactoryCanSinkAnyCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCanSinkAnyCapsMethodInfo a signature where-    overloadedMethod _ = elementFactoryCanSinkAnyCaps--#endif---- method ElementFactory::can_src_all_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factory to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the caps to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_can_src_all_caps" gst_element_factory_can_src_all_caps :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Checks if the factory can src all possible capabilities.--}-elementFactoryCanSrcAllCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: factory to query -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: the caps to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the caps are fully compatible. -}-elementFactoryCanSrcAllCaps factory caps = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_element_factory_can_src_all_caps factory' caps'-    let result' = (/= 0) result-    touchManagedPtr factory-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data ElementFactoryCanSrcAllCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCanSrcAllCapsMethodInfo a signature where-    overloadedMethod _ = elementFactoryCanSrcAllCaps--#endif---- method ElementFactory::can_src_any_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factory to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the caps to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_can_src_any_caps" gst_element_factory_can_src_any_caps :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Checks if the factory can src any possible capability.--}-elementFactoryCanSrcAnyCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: factory to query -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: the caps to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the caps have a common subset. -}-elementFactoryCanSrcAnyCaps factory caps = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_element_factory_can_src_any_caps factory' caps'-    let result' = (/= 0) result-    touchManagedPtr factory-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data ElementFactoryCanSrcAnyCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCanSrcAnyCapsMethodInfo a signature where-    overloadedMethod _ = elementFactoryCanSrcAnyCaps--#endif---- method ElementFactory::create--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factory to instantiate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name of new element, or %NULL to automatically create\n   a unique name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_create" gst_element_factory_create :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.Element.Element)--{- |-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.--}-elementFactoryCreate ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: factory to instantiate -}-    -> Maybe (T.Text)-    {- ^ /@name@/: name of new element, or 'Nothing' to automatically create-   a unique name -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ new 'GI.Gst.Objects.Element.Element' or 'Nothing'-    if the element couldn\'t be created -}-elementFactoryCreate factory name = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    result <- gst_element_factory_create factory' maybeName-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Gst.Element.Element) result'-        return result''-    touchManagedPtr factory-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-data ElementFactoryCreateMethodInfo-instance (signature ~ (Maybe (T.Text) -> m (Maybe Gst.Element.Element)), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryCreateMethodInfo a signature where-    overloadedMethod _ = elementFactoryCreate--#endif---- method ElementFactory::get_element_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factory to get managed #GType from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_get_element_type" gst_element_factory_get_element_type :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    IO CGType--{- |-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 'GI.Gst.Objects.PluginFeature.pluginFeatureLoad'.--}-elementFactoryGetElementType ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: factory to get managed 'GType' from -}-    -> m GType-    {- ^ __Returns:__ the 'GType' for elements managed by this factory or 0 if-the factory is not loaded. -}-elementFactoryGetElementType factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_element_factory_get_element_type factory'-    let result' = GType result-    touchManagedPtr factory-    return result'--#if ENABLE_OVERLOADING-data ElementFactoryGetElementTypeMethodInfo-instance (signature ~ (m GType), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetElementTypeMethodInfo a signature where-    overloadedMethod _ = elementFactoryGetElementType--#endif---- method ElementFactory::get_metadata--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_get_metadata" gst_element_factory_get_metadata :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    CString ->                              -- key : TBasicType TUTF8-    IO CString--{- |-Get the metadata on /@factory@/ with /@key@/.--}-elementFactoryGetMetadata ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.ElementFactory.ElementFactory' -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the metadata with /@key@/ on /@factory@/ or 'Nothing'-when there was no metadata with the given /@key@/. -}-elementFactoryGetMetadata factory key = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    key' <- textToCString key-    result <- gst_element_factory_get_metadata factory' key'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr factory-    freeMem key'-    return maybeResult--#if ENABLE_OVERLOADING-data ElementFactoryGetMetadataMethodInfo-instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetMetadataMethodInfo a signature where-    overloadedMethod _ = elementFactoryGetMetadata--#endif---- method ElementFactory::get_metadata_keys--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_get_metadata_keys" gst_element_factory_get_metadata_keys :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    IO (Ptr CString)--{- |-Get the available keys for the metadata on /@factory@/.--}-elementFactoryGetMetadataKeys ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.ElementFactory.ElementFactory' -}-    -> m (Maybe [T.Text])-    {- ^ __Returns:__ -a 'Nothing'-terminated array of key strings, or 'Nothing' when there is no-metadata. Free with 'GI.GLib.Functions.strfreev' when no longer needed. -}-elementFactoryGetMetadataKeys factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_element_factory_get_metadata_keys factory'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- unpackZeroTerminatedUTF8CArray result'-        mapZeroTerminatedCArray freeMem result'-        freeMem result'-        return result''-    touchManagedPtr factory-    return maybeResult--#if ENABLE_OVERLOADING-data ElementFactoryGetMetadataKeysMethodInfo-instance (signature ~ (m (Maybe [T.Text])), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetMetadataKeysMethodInfo a signature where-    overloadedMethod _ = elementFactoryGetMetadataKeys--#endif---- method ElementFactory::get_num_pad_templates--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_get_num_pad_templates" gst_element_factory_get_num_pad_templates :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    IO Word32--{- |-Gets the number of pad_templates in this factory.--}-elementFactoryGetNumPadTemplates ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.ElementFactory.ElementFactory' -}-    -> m Word32-    {- ^ __Returns:__ the number of pad_templates -}-elementFactoryGetNumPadTemplates factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_element_factory_get_num_pad_templates factory'-    touchManagedPtr factory-    return result--#if ENABLE_OVERLOADING-data ElementFactoryGetNumPadTemplatesMethodInfo-instance (signature ~ (m Word32), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetNumPadTemplatesMethodInfo a signature where-    overloadedMethod _ = elementFactoryGetNumPadTemplates--#endif---- method ElementFactory::get_static_pad_templates--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "StaticPadTemplate"})))--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_get_static_pad_templates" gst_element_factory_get_static_pad_templates :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    IO (Ptr (GList (Ptr Gst.StaticPadTemplate.StaticPadTemplate)))--{- |-Gets the 'GI.GLib.Structs.List.List' of 'GI.Gst.Structs.StaticPadTemplate.StaticPadTemplate' for this factory.--}-elementFactoryGetStaticPadTemplates ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.ElementFactory.ElementFactory' -}-    -> m [Gst.StaticPadTemplate.StaticPadTemplate]-    {- ^ __Returns:__ the-    static pad templates -}-elementFactoryGetStaticPadTemplates factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_element_factory_get_static_pad_templates factory'-    result' <- unpackGList result-    result'' <- mapM (newPtr Gst.StaticPadTemplate.StaticPadTemplate) result'-    touchManagedPtr factory-    return result''--#if ENABLE_OVERLOADING-data ElementFactoryGetStaticPadTemplatesMethodInfo-instance (signature ~ (m [Gst.StaticPadTemplate.StaticPadTemplate]), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetStaticPadTemplatesMethodInfo a signature where-    overloadedMethod _ = elementFactoryGetStaticPadTemplates--#endif---- method ElementFactory::get_uri_protocols--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_get_uri_protocols" gst_element_factory_get_uri_protocols :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    IO (Ptr CString)--{- |-Gets a 'Nothing'-terminated array of protocols this element supports or 'Nothing' 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.--}-elementFactoryGetUriProtocols ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.ElementFactory.ElementFactory' -}-    -> m [T.Text]-    {- ^ __Returns:__ the supported protocols-    or 'Nothing' -}-elementFactoryGetUriProtocols factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_element_factory_get_uri_protocols factory'-    checkUnexpectedReturnNULL "elementFactoryGetUriProtocols" result-    result' <- unpackZeroTerminatedUTF8CArray result-    touchManagedPtr factory-    return result'--#if ENABLE_OVERLOADING-data ElementFactoryGetUriProtocolsMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetUriProtocolsMethodInfo a signature where-    overloadedMethod _ = elementFactoryGetUriProtocols--#endif---- method ElementFactory::get_uri_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "URIType"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_get_uri_type" gst_element_factory_get_uri_type :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    IO CUInt--{- |-Gets the type of URIs the element supports or @/GST_URI_UNKNOWN/@ if none.--}-elementFactoryGetUriType ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.ElementFactory.ElementFactory' -}-    -> m Gst.Enums.URIType-    {- ^ __Returns:__ type of URIs this element supports -}-elementFactoryGetUriType factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_element_factory_get_uri_type factory'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr factory-    return result'--#if ENABLE_OVERLOADING-data ElementFactoryGetUriTypeMethodInfo-instance (signature ~ (m Gst.Enums.URIType), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryGetUriTypeMethodInfo a signature where-    overloadedMethod _ = elementFactoryGetUriType--#endif---- method ElementFactory::has_interface--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interfacename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interface name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_has_interface" gst_element_factory_has_interface :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    CString ->                              -- interfacename : TBasicType TUTF8-    IO CInt--{- |-Check if /@factory@/ implements the interface with name /@interfacename@/.--}-elementFactoryHasInterface ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.ElementFactory.ElementFactory' -}-    -> T.Text-    {- ^ /@interfacename@/: an interface name -}-    -> m Bool-    {- ^ __Returns:__ 'True' when /@factory@/ implement the interface. -}-elementFactoryHasInterface factory interfacename = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    interfacename' <- textToCString interfacename-    result <- gst_element_factory_has_interface factory' interfacename'-    let result' = (/= 0) result-    touchManagedPtr factory-    freeMem interfacename'-    return result'--#if ENABLE_OVERLOADING-data ElementFactoryHasInterfaceMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryHasInterfaceMethodInfo a signature where-    overloadedMethod _ = elementFactoryHasInterface--#endif---- method ElementFactory::list_is_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "ElementFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactoryListType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_list_is_type" gst_element_factory_list_is_type :: -    Ptr ElementFactory ->                   -- factory : TInterface (Name {namespace = "Gst", name = "ElementFactory"})-    Word64 ->                               -- type : TBasicType TUInt64-    IO CInt--{- |-Check if /@factory@/ is of the given types.--}-elementFactoryListIsType ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    a-    {- ^ /@factory@/: a 'GI.Gst.Objects.ElementFactory.ElementFactory' -}-    -> Word64-    {- ^ /@type@/: a @/GstElementFactoryListType/@ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@factory@/ is of /@type@/. -}-elementFactoryListIsType factory type_ = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_element_factory_list_is_type factory' type_-    let result' = (/= 0) result-    touchManagedPtr factory-    return result'--#if ENABLE_OVERLOADING-data ElementFactoryListIsTypeMethodInfo-instance (signature ~ (Word64 -> m Bool), MonadIO m, IsElementFactory a) => O.MethodInfo ElementFactoryListIsTypeMethodInfo a signature where-    overloadedMethod _ = elementFactoryListIsType--#endif---- method ElementFactory::find--- method type : MemberFunction--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of factory to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ElementFactory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_find" gst_element_factory_find :: -    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr ElementFactory)--{- |-Search for an element factory of the given name. Refs the returned-element factory; caller is responsible for unreffing.--}-elementFactoryFind ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: name of factory to find -}-    -> m (Maybe ElementFactory)-    {- ^ __Returns:__ 'GI.Gst.Objects.ElementFactory.ElementFactory' if found,-'Nothing' otherwise -}-elementFactoryFind name = liftIO $ do-    name' <- textToCString name-    result <- gst_element_factory_find name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject ElementFactory) result'-        return result''-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method ElementFactory::list_filter--- method type : MemberFunction--- Args : [Arg {argCName = "list", argType = TGList (TInterface (Name {namespace = "Gst", name = "ElementFactory"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GList of\n    #GstElementFactory to filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gst", name = "PadDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadDirection to filter on", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subsetonly", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to filter on caps subsets or not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "ElementFactory"})))--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_list_filter" gst_element_factory_list_filter :: -    Ptr (GList (Ptr ElementFactory)) ->     -- list : TGList (TInterface (Name {namespace = "Gst", name = "ElementFactory"}))-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    CUInt ->                                -- direction : TInterface (Name {namespace = "Gst", name = "PadDirection"})-    CInt ->                                 -- subsetonly : TBasicType TBoolean-    IO (Ptr (GList (Ptr ElementFactory)))--{- |-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.--}-elementFactoryListFilter ::-    (B.CallStack.HasCallStack, MonadIO m, IsElementFactory a) =>-    [a]-    {- ^ /@list@/: a 'GI.GLib.Structs.List.List' of-    'GI.Gst.Objects.ElementFactory.ElementFactory' to filter -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Gst.Enums.PadDirection-    {- ^ /@direction@/: a 'GI.Gst.Enums.PadDirection' to filter on -}-    -> Bool-    {- ^ /@subsetonly@/: whether to filter on caps subsets or not. -}-    -> m [ElementFactory]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of-    'GI.Gst.Objects.ElementFactory.ElementFactory' elements that match the given requisites.-    Use @/gst_plugin_feature_list_free/@ after usage. -}-elementFactoryListFilter list caps direction subsetonly = liftIO $ do-    list' <- mapM unsafeManagedPtrCastPtr list-    list'' <- packGList list'-    caps' <- unsafeManagedPtrGetPtr caps-    let direction' = (fromIntegral . fromEnum) direction-    let subsetonly' = (fromIntegral . fromEnum) subsetonly-    result <- gst_element_factory_list_filter list'' caps' direction' subsetonly'-    result' <- unpackGList result-    result'' <- mapM (wrapObject ElementFactory) result'-    g_list_free result-    mapM_ touchManagedPtr list-    touchManagedPtr caps-    g_list_free list''-    return result''--#if ENABLE_OVERLOADING-#endif---- method ElementFactory::list_get_elements--- method type : MemberFunction--- Args : [Arg {argCName = "type", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstElementFactoryListType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minrank", argType = TInterface (Name {namespace = "Gst", name = "Rank"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Minimum rank", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "ElementFactory"})))--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_list_get_elements" gst_element_factory_list_get_elements :: -    Word64 ->                               -- type : TBasicType TUInt64-    CUInt ->                                -- minrank : TInterface (Name {namespace = "Gst", name = "Rank"})-    IO (Ptr (GList (Ptr ElementFactory)))--{- |-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.--}-elementFactoryListGetElements ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@type@/: a @/GstElementFactoryListType/@ -}-    -> Gst.Enums.Rank-    {- ^ /@minrank@/: Minimum rank -}-    -> m [ElementFactory]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of-    'GI.Gst.Objects.ElementFactory.ElementFactory' elements. Use 'GI.Gst.Objects.PluginFeature.pluginFeatureListFree' after-    usage. -}-elementFactoryListGetElements type_ minrank = liftIO $ do-    let minrank' = (fromIntegral . fromEnum) minrank-    result <- gst_element_factory_list_get_elements type_ minrank'-    result' <- unpackGList result-    result'' <- mapM (wrapObject ElementFactory) result'-    g_list_free result-    return result''--#if ENABLE_OVERLOADING-#endif---- method ElementFactory::make--- method type : MemberFunction--- Args : [Arg {argCName = "factoryname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a named factory to instantiate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name of new element, or %NULL to automatically create\n   a unique name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : False--- Skip return : False--foreign import ccall "gst_element_factory_make" gst_element_factory_make :: -    CString ->                              -- factoryname : TBasicType TUTF8-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.Element.Element)--{- |-Create a new element of the type defined by the given element factory.-If name is 'Nothing', 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.--}-elementFactoryMake ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@factoryname@/: a named factory to instantiate -}-    -> Maybe (T.Text)-    {- ^ /@name@/: name of new element, or 'Nothing' to automatically create-   a unique name -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ new 'GI.Gst.Objects.Element.Element' or 'Nothing'-if unable to create element -}-elementFactoryMake factoryname name = liftIO $ do-    factoryname' <- textToCString factoryname-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    result <- gst_element_factory_make factoryname' maybeName-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Gst.Element.Element) result'-        return result''-    freeMem factoryname'-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/ElementFactory.hs-boot
@@ -1,71 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.ElementFactory where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ElementFactory = ElementFactory (ManagedPtr ElementFactory)-instance GObject ElementFactory where-class (GObject o, O.IsDescendantOf ElementFactory o) => IsElementFactory o-instance (GObject o, O.IsDescendantOf ElementFactory o) => IsElementFactory o-instance O.HasParentTypes ElementFactory-#if ENABLE_OVERLOADING-data ElementFactoryCanSinkAllCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryCanSinkAnyCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryCanSrcAllCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryCanSrcAnyCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryCreateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryGetElementTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryGetMetadataMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryGetMetadataKeysMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryGetNumPadTemplatesMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryGetStaticPadTemplatesMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryGetUriProtocolsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryGetUriTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryHasInterfaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data ElementFactoryListIsTypeMethodInfo-#endif
− GI/Gst/Objects/FlagSet.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.FlagSet () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "FlagSet" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/Fraction.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Fraction () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "Fraction" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/FractionRange.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.FractionRange () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "FractionRange" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/GhostPad.hs
@@ -1,709 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--GhostPads are useful when organizing pipelines with 'GI.Gst.Objects.Bin.Bin' 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 'GI.Gst.Objects.Element.Element'. 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, 'GI.Gst.Objects.GhostPad.ghostPadNew' is the-function to use to get a ghost-pad. Otherwise one can use 'GI.Gst.Objects.GhostPad.ghostPadNewNoTarget'-to create the ghost-pad and use 'GI.Gst.Objects.GhostPad.ghostPadSetTarget' to establish the-association later on.--Note that GhostPads add overhead to the data processing of a pipeline.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.GhostPad-    ( ---- * Exported types-    GhostPad(..)                            ,-    IsGhostPad                              ,-    toGhostPad                              ,-    noGhostPad                              ,--- -- * Methods--- ** activateModeDefault #method:activateModeDefault#--    ghostPadActivateModeDefault             ,----- ** construct #method:construct#--#if ENABLE_OVERLOADING-    GhostPadConstructMethodInfo             ,-#endif-    ghostPadConstruct                       ,----- ** getTarget #method:getTarget#--#if ENABLE_OVERLOADING-    GhostPadGetTargetMethodInfo             ,-#endif-    ghostPadGetTarget                       ,----- ** internalActivateModeDefault #method:internalActivateModeDefault#--    ghostPadInternalActivateModeDefault     ,----- ** new #method:new#--    ghostPadNew                             ,----- ** newFromTemplate #method:newFromTemplate#--    ghostPadNewFromTemplate                 ,----- ** newNoTarget #method:newNoTarget#--    ghostPadNewNoTarget                     ,----- ** newNoTargetFromTemplate #method:newNoTargetFromTemplate#--    ghostPadNewNoTargetFromTemplate         ,----- ** setTarget #method:setTarget#--#if ENABLE_OVERLOADING-    GhostPadSetTargetMethodInfo             ,-#endif-    ghostPadSetTarget                       ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Pad as Gst.Pad-import {-# SOURCE #-} qualified GI.Gst.Objects.PadTemplate as Gst.PadTemplate-import {-# SOURCE #-} qualified GI.Gst.Objects.ProxyPad as Gst.ProxyPad---- | Memory-managed wrapper type.-newtype GhostPad = GhostPad (ManagedPtr GhostPad)-foreign import ccall "gst_ghost_pad_get_type"-    c_gst_ghost_pad_get_type :: IO GType--instance GObject GhostPad where-    gobjectType = c_gst_ghost_pad_get_type-    ---- | Type class for types which can be safely cast to `GhostPad`, for instance with `toGhostPad`.-class (GObject o, O.IsDescendantOf GhostPad o) => IsGhostPad o-instance (GObject o, O.IsDescendantOf GhostPad o) => IsGhostPad o--instance O.HasParentTypes GhostPad-type instance O.ParentTypes GhostPad = '[Gst.ProxyPad.ProxyPad, Gst.Pad.Pad, Gst.Object.Object, GObject.Object.Object]---- | Cast to `GhostPad`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toGhostPad :: (MonadIO m, IsGhostPad o) => o -> m GhostPad-toGhostPad = liftIO . unsafeCastTo GhostPad---- | A convenience alias for `Nothing` :: `Maybe` `GhostPad`.-noGhostPad :: Maybe GhostPad-noGhostPad = Nothing--#if ENABLE_OVERLOADING-type family ResolveGhostPadMethod (t :: Symbol) (o :: *) :: * where-    ResolveGhostPadMethod "activateMode" o = Gst.Pad.PadActivateModeMethodInfo-    ResolveGhostPadMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveGhostPadMethod "addProbe" o = Gst.Pad.PadAddProbeMethodInfo-    ResolveGhostPadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveGhostPadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveGhostPadMethod "canLink" o = Gst.Pad.PadCanLinkMethodInfo-    ResolveGhostPadMethod "chain" o = Gst.Pad.PadChainMethodInfo-    ResolveGhostPadMethod "chainList" o = Gst.Pad.PadChainListMethodInfo-    ResolveGhostPadMethod "checkReconfigure" o = Gst.Pad.PadCheckReconfigureMethodInfo-    ResolveGhostPadMethod "construct" o = GhostPadConstructMethodInfo-    ResolveGhostPadMethod "createStreamId" o = Gst.Pad.PadCreateStreamIdMethodInfo-    ResolveGhostPadMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveGhostPadMethod "eventDefault" o = Gst.Pad.PadEventDefaultMethodInfo-    ResolveGhostPadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveGhostPadMethod "forward" o = Gst.Pad.PadForwardMethodInfo-    ResolveGhostPadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveGhostPadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveGhostPadMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveGhostPadMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveGhostPadMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveGhostPadMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveGhostPadMethod "hasCurrentCaps" o = Gst.Pad.PadHasCurrentCapsMethodInfo-    ResolveGhostPadMethod "isActive" o = Gst.Pad.PadIsActiveMethodInfo-    ResolveGhostPadMethod "isBlocked" o = Gst.Pad.PadIsBlockedMethodInfo-    ResolveGhostPadMethod "isBlocking" o = Gst.Pad.PadIsBlockingMethodInfo-    ResolveGhostPadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveGhostPadMethod "isLinked" o = Gst.Pad.PadIsLinkedMethodInfo-    ResolveGhostPadMethod "iterateInternalLinks" o = Gst.Pad.PadIterateInternalLinksMethodInfo-    ResolveGhostPadMethod "link" o = Gst.Pad.PadLinkMethodInfo-    ResolveGhostPadMethod "linkFull" o = Gst.Pad.PadLinkFullMethodInfo-    ResolveGhostPadMethod "linkMaybeGhosting" o = Gst.Pad.PadLinkMaybeGhostingMethodInfo-    ResolveGhostPadMethod "linkMaybeGhostingFull" o = Gst.Pad.PadLinkMaybeGhostingFullMethodInfo-    ResolveGhostPadMethod "markReconfigure" o = Gst.Pad.PadMarkReconfigureMethodInfo-    ResolveGhostPadMethod "needsReconfigure" o = Gst.Pad.PadNeedsReconfigureMethodInfo-    ResolveGhostPadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveGhostPadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveGhostPadMethod "pauseTask" o = Gst.Pad.PadPauseTaskMethodInfo-    ResolveGhostPadMethod "peerQuery" o = Gst.Pad.PadPeerQueryMethodInfo-    ResolveGhostPadMethod "peerQueryAcceptCaps" o = Gst.Pad.PadPeerQueryAcceptCapsMethodInfo-    ResolveGhostPadMethod "peerQueryCaps" o = Gst.Pad.PadPeerQueryCapsMethodInfo-    ResolveGhostPadMethod "peerQueryConvert" o = Gst.Pad.PadPeerQueryConvertMethodInfo-    ResolveGhostPadMethod "peerQueryDuration" o = Gst.Pad.PadPeerQueryDurationMethodInfo-    ResolveGhostPadMethod "peerQueryPosition" o = Gst.Pad.PadPeerQueryPositionMethodInfo-    ResolveGhostPadMethod "proxyQueryAcceptCaps" o = Gst.Pad.PadProxyQueryAcceptCapsMethodInfo-    ResolveGhostPadMethod "proxyQueryCaps" o = Gst.Pad.PadProxyQueryCapsMethodInfo-    ResolveGhostPadMethod "pullRange" o = Gst.Pad.PadPullRangeMethodInfo-    ResolveGhostPadMethod "push" o = Gst.Pad.PadPushMethodInfo-    ResolveGhostPadMethod "pushEvent" o = Gst.Pad.PadPushEventMethodInfo-    ResolveGhostPadMethod "pushList" o = Gst.Pad.PadPushListMethodInfo-    ResolveGhostPadMethod "query" o = Gst.Pad.PadQueryMethodInfo-    ResolveGhostPadMethod "queryAcceptCaps" o = Gst.Pad.PadQueryAcceptCapsMethodInfo-    ResolveGhostPadMethod "queryCaps" o = Gst.Pad.PadQueryCapsMethodInfo-    ResolveGhostPadMethod "queryConvert" o = Gst.Pad.PadQueryConvertMethodInfo-    ResolveGhostPadMethod "queryDefault" o = Gst.Pad.PadQueryDefaultMethodInfo-    ResolveGhostPadMethod "queryDuration" o = Gst.Pad.PadQueryDurationMethodInfo-    ResolveGhostPadMethod "queryPosition" o = Gst.Pad.PadQueryPositionMethodInfo-    ResolveGhostPadMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveGhostPadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveGhostPadMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveGhostPadMethod "removeProbe" o = Gst.Pad.PadRemoveProbeMethodInfo-    ResolveGhostPadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveGhostPadMethod "sendEvent" o = Gst.Pad.PadSendEventMethodInfo-    ResolveGhostPadMethod "startTask" o = Gst.Pad.PadStartTaskMethodInfo-    ResolveGhostPadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveGhostPadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveGhostPadMethod "stickyEventsForeach" o = Gst.Pad.PadStickyEventsForeachMethodInfo-    ResolveGhostPadMethod "stopTask" o = Gst.Pad.PadStopTaskMethodInfo-    ResolveGhostPadMethod "storeStickyEvent" o = Gst.Pad.PadStoreStickyEventMethodInfo-    ResolveGhostPadMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveGhostPadMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveGhostPadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveGhostPadMethod "unlink" o = Gst.Pad.PadUnlinkMethodInfo-    ResolveGhostPadMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveGhostPadMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveGhostPadMethod "useFixedCaps" o = Gst.Pad.PadUseFixedCapsMethodInfo-    ResolveGhostPadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveGhostPadMethod "getAllowedCaps" o = Gst.Pad.PadGetAllowedCapsMethodInfo-    ResolveGhostPadMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveGhostPadMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveGhostPadMethod "getCurrentCaps" o = Gst.Pad.PadGetCurrentCapsMethodInfo-    ResolveGhostPadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveGhostPadMethod "getDirection" o = Gst.Pad.PadGetDirectionMethodInfo-    ResolveGhostPadMethod "getElementPrivate" o = Gst.Pad.PadGetElementPrivateMethodInfo-    ResolveGhostPadMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveGhostPadMethod "getInternal" o = Gst.ProxyPad.ProxyPadGetInternalMethodInfo-    ResolveGhostPadMethod "getLastFlowReturn" o = Gst.Pad.PadGetLastFlowReturnMethodInfo-    ResolveGhostPadMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveGhostPadMethod "getOffset" o = Gst.Pad.PadGetOffsetMethodInfo-    ResolveGhostPadMethod "getPadTemplate" o = Gst.Pad.PadGetPadTemplateMethodInfo-    ResolveGhostPadMethod "getPadTemplateCaps" o = Gst.Pad.PadGetPadTemplateCapsMethodInfo-    ResolveGhostPadMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveGhostPadMethod "getParentElement" o = Gst.Pad.PadGetParentElementMethodInfo-    ResolveGhostPadMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveGhostPadMethod "getPeer" o = Gst.Pad.PadGetPeerMethodInfo-    ResolveGhostPadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveGhostPadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveGhostPadMethod "getRange" o = Gst.Pad.PadGetRangeMethodInfo-    ResolveGhostPadMethod "getStickyEvent" o = Gst.Pad.PadGetStickyEventMethodInfo-    ResolveGhostPadMethod "getStream" o = Gst.Pad.PadGetStreamMethodInfo-    ResolveGhostPadMethod "getStreamId" o = Gst.Pad.PadGetStreamIdMethodInfo-    ResolveGhostPadMethod "getTarget" o = GhostPadGetTargetMethodInfo-    ResolveGhostPadMethod "getTaskState" o = Gst.Pad.PadGetTaskStateMethodInfo-    ResolveGhostPadMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveGhostPadMethod "setActivateFunctionFull" o = Gst.Pad.PadSetActivateFunctionFullMethodInfo-    ResolveGhostPadMethod "setActivatemodeFunctionFull" o = Gst.Pad.PadSetActivatemodeFunctionFullMethodInfo-    ResolveGhostPadMethod "setActive" o = Gst.Pad.PadSetActiveMethodInfo-    ResolveGhostPadMethod "setChainFunctionFull" o = Gst.Pad.PadSetChainFunctionFullMethodInfo-    ResolveGhostPadMethod "setChainListFunctionFull" o = Gst.Pad.PadSetChainListFunctionFullMethodInfo-    ResolveGhostPadMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveGhostPadMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveGhostPadMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveGhostPadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveGhostPadMethod "setElementPrivate" o = Gst.Pad.PadSetElementPrivateMethodInfo-    ResolveGhostPadMethod "setEventFullFunctionFull" o = Gst.Pad.PadSetEventFullFunctionFullMethodInfo-    ResolveGhostPadMethod "setEventFunctionFull" o = Gst.Pad.PadSetEventFunctionFullMethodInfo-    ResolveGhostPadMethod "setGetrangeFunctionFull" o = Gst.Pad.PadSetGetrangeFunctionFullMethodInfo-    ResolveGhostPadMethod "setIterateInternalLinksFunctionFull" o = Gst.Pad.PadSetIterateInternalLinksFunctionFullMethodInfo-    ResolveGhostPadMethod "setLinkFunctionFull" o = Gst.Pad.PadSetLinkFunctionFullMethodInfo-    ResolveGhostPadMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveGhostPadMethod "setOffset" o = Gst.Pad.PadSetOffsetMethodInfo-    ResolveGhostPadMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveGhostPadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveGhostPadMethod "setQueryFunctionFull" o = Gst.Pad.PadSetQueryFunctionFullMethodInfo-    ResolveGhostPadMethod "setTarget" o = GhostPadSetTargetMethodInfo-    ResolveGhostPadMethod "setUnlinkFunctionFull" o = Gst.Pad.PadSetUnlinkFunctionFullMethodInfo-    ResolveGhostPadMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveGhostPadMethod t GhostPad, O.MethodInfo info GhostPad p) => OL.IsLabel t (GhostPad -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList GhostPad-type instance O.AttributeList GhostPad = GhostPadAttributeList-type GhostPadAttributeList = ('[ '("caps", Gst.Pad.PadCapsPropertyInfo), '("direction", Gst.Pad.PadDirectionPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("offset", Gst.Pad.PadOffsetPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("template", Gst.Pad.PadTemplatePropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList GhostPad = GhostPadSignalList-type GhostPadSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("linked", Gst.Pad.PadLinkedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("unlinked", Gst.Pad.PadUnlinkedSignalInfo)] :: [(Symbol, *)])--#endif---- method GhostPad::new--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the new pad, or %NULL to assign a default name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pad to ghost.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "GhostPad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_ghost_pad_new" gst_ghost_pad_new :: -    CString ->                              -- name : TBasicType TUTF8-    Ptr Gst.Pad.Pad ->                      -- target : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr GhostPad)--{- |-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.--}-ghostPadNew ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a) =>-    Maybe (T.Text)-    {- ^ /@name@/: the name of the new pad, or 'Nothing' to assign a default name -}-    -> a-    {- ^ /@target@/: the pad to ghost. -}-    -> m (Maybe GhostPad)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Pad.Pad', or 'Nothing' in-case of an error. -}-ghostPadNew name target = liftIO $ do-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    target' <- unsafeManagedPtrCastPtr target-    result <- gst_ghost_pad_new maybeName target'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject GhostPad) result'-        return result''-    touchManagedPtr target-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method GhostPad::new_from_template--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the new pad, or %NULL to assign a default name.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pad to ghost.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "templ", argType = TInterface (Name {namespace = "Gst", name = "PadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadTemplate to use on the ghostpad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "GhostPad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_ghost_pad_new_from_template" gst_ghost_pad_new_from_template :: -    CString ->                              -- name : TBasicType TUTF8-    Ptr Gst.Pad.Pad ->                      -- target : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.PadTemplate.PadTemplate ->      -- templ : TInterface (Name {namespace = "Gst", name = "PadTemplate"})-    IO (Ptr GhostPad)--{- |-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.--}-ghostPadNewFromTemplate ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.PadTemplate.IsPadTemplate b) =>-    Maybe (T.Text)-    {- ^ /@name@/: the name of the new pad, or 'Nothing' to assign a default name. -}-    -> a-    {- ^ /@target@/: the pad to ghost. -}-    -> b-    {- ^ /@templ@/: the 'GI.Gst.Objects.PadTemplate.PadTemplate' to use on the ghostpad. -}-    -> m (Maybe GhostPad)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Pad.Pad', or 'Nothing' in-case of an error. -}-ghostPadNewFromTemplate name target templ = liftIO $ do-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    target' <- unsafeManagedPtrCastPtr target-    templ' <- unsafeManagedPtrCastPtr templ-    result <- gst_ghost_pad_new_from_template maybeName target' templ'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject GhostPad) result'-        return result''-    touchManagedPtr target-    touchManagedPtr templ-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method GhostPad::new_no_target--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the new pad, or %NULL to assign a default name.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dir", argType = TInterface (Name {namespace = "Gst", name = "PadDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the direction of the ghostpad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "GhostPad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_ghost_pad_new_no_target" gst_ghost_pad_new_no_target :: -    CString ->                              -- name : TBasicType TUTF8-    CUInt ->                                -- dir : TInterface (Name {namespace = "Gst", name = "PadDirection"})-    IO (Ptr GhostPad)--{- |-Create a new ghostpad without a target with the given direction.-A target can be set on the ghostpad later with the-'GI.Gst.Objects.GhostPad.ghostPadSetTarget' function.--The created ghostpad will not have a padtemplate.--}-ghostPadNewNoTarget ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@name@/: the name of the new pad, or 'Nothing' to assign a default name. -}-    -> Gst.Enums.PadDirection-    {- ^ /@dir@/: the direction of the ghostpad -}-    -> m (Maybe GhostPad)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Pad.Pad', or 'Nothing' in-case of an error. -}-ghostPadNewNoTarget name dir = liftIO $ do-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    let dir' = (fromIntegral . fromEnum) dir-    result <- gst_ghost_pad_new_no_target maybeName dir'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject GhostPad) result'-        return result''-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method GhostPad::new_no_target_from_template--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the new pad, or %NULL to assign a default name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "templ", argType = TInterface (Name {namespace = "Gst", name = "PadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadTemplate to create the ghostpad from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "GhostPad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_ghost_pad_new_no_target_from_template" gst_ghost_pad_new_no_target_from_template :: -    CString ->                              -- name : TBasicType TUTF8-    Ptr Gst.PadTemplate.PadTemplate ->      -- templ : TInterface (Name {namespace = "Gst", name = "PadTemplate"})-    IO (Ptr GhostPad)--{- |-Create a new ghostpad based on /@templ@/, without setting a target. The-direction will be taken from the /@templ@/.--}-ghostPadNewNoTargetFromTemplate ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.PadTemplate.IsPadTemplate a) =>-    Maybe (T.Text)-    {- ^ /@name@/: the name of the new pad, or 'Nothing' to assign a default name -}-    -> a-    {- ^ /@templ@/: the 'GI.Gst.Objects.PadTemplate.PadTemplate' to create the ghostpad from. -}-    -> m (Maybe GhostPad)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Pad.Pad', or 'Nothing' in-case of an error. -}-ghostPadNewNoTargetFromTemplate name templ = liftIO $ do-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    templ' <- unsafeManagedPtrCastPtr templ-    result <- gst_ghost_pad_new_no_target_from_template maybeName templ'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject GhostPad) result'-        return result''-    touchManagedPtr templ-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method GhostPad::construct--- method type : OrdinaryMethod--- Args : [Arg {argCName = "gpad", argType = TInterface (Name {namespace = "Gst", name = "GhostPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the newly allocated ghost pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_ghost_pad_construct" gst_ghost_pad_construct :: -    Ptr GhostPad ->                         -- gpad : TInterface (Name {namespace = "Gst", name = "GhostPad"})-    IO CInt--{- |-Finish initialization of a newly allocated ghost pad.--This function is most useful in language bindings and when subclassing-'GI.Gst.Objects.GhostPad.GhostPad'; 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).--}-ghostPadConstruct ::-    (B.CallStack.HasCallStack, MonadIO m, IsGhostPad a) =>-    a-    {- ^ /@gpad@/: the newly allocated ghost pad -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the construction succeeds, 'False' otherwise. -}-ghostPadConstruct gpad = liftIO $ do-    gpad' <- unsafeManagedPtrCastPtr gpad-    result <- gst_ghost_pad_construct gpad'-    let result' = (/= 0) result-    touchManagedPtr gpad-    return result'--#if ENABLE_OVERLOADING-data GhostPadConstructMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsGhostPad a) => O.MethodInfo GhostPadConstructMethodInfo a signature where-    overloadedMethod _ = ghostPadConstruct--#endif---- method GhostPad::get_target--- method type : OrdinaryMethod--- Args : [Arg {argCName = "gpad", argType = TInterface (Name {namespace = "Gst", name = "GhostPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstGhostPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_ghost_pad_get_target" gst_ghost_pad_get_target :: -    Ptr GhostPad ->                         -- gpad : TInterface (Name {namespace = "Gst", name = "GhostPad"})-    IO (Ptr Gst.Pad.Pad)--{- |-Get the target pad of /@gpad@/. Unref target pad after usage.--}-ghostPadGetTarget ::-    (B.CallStack.HasCallStack, MonadIO m, IsGhostPad a) =>-    a-    {- ^ /@gpad@/: the 'GI.Gst.Objects.GhostPad.GhostPad' -}-    -> m (Maybe Gst.Pad.Pad)-    {- ^ __Returns:__ the target 'GI.Gst.Objects.Pad.Pad', can be-'Nothing' if the ghostpad has no target set. Unref target pad after-usage. -}-ghostPadGetTarget gpad = liftIO $ do-    gpad' <- unsafeManagedPtrCastPtr gpad-    result <- gst_ghost_pad_get_target gpad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Pad.Pad) result'-        return result''-    touchManagedPtr gpad-    return maybeResult--#if ENABLE_OVERLOADING-data GhostPadGetTargetMethodInfo-instance (signature ~ (m (Maybe Gst.Pad.Pad)), MonadIO m, IsGhostPad a) => O.MethodInfo GhostPadGetTargetMethodInfo a signature where-    overloadedMethod _ = ghostPadGetTarget--#endif---- method GhostPad::set_target--- method type : OrdinaryMethod--- Args : [Arg {argCName = "gpad", argType = TInterface (Name {namespace = "Gst", name = "GhostPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstGhostPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newtarget", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the new pad target", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_ghost_pad_set_target" gst_ghost_pad_set_target :: -    Ptr GhostPad ->                         -- gpad : TInterface (Name {namespace = "Gst", name = "GhostPad"})-    Ptr Gst.Pad.Pad ->                      -- newtarget : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Set the new target of the ghostpad /@gpad@/. Any existing target-is unlinked and links to the new target are established. if /@newtarget@/ is-'Nothing' the target will be cleared.--}-ghostPadSetTarget ::-    (B.CallStack.HasCallStack, MonadIO m, IsGhostPad a, Gst.Pad.IsPad b) =>-    a-    {- ^ /@gpad@/: the 'GI.Gst.Objects.GhostPad.GhostPad' -}-    -> Maybe (b)-    {- ^ /@newtarget@/: the new pad target -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the new target could be set. This function-    can return 'False' when the internal pads could not be linked. -}-ghostPadSetTarget gpad newtarget = liftIO $ do-    gpad' <- unsafeManagedPtrCastPtr gpad-    maybeNewtarget <- case newtarget of-        Nothing -> return nullPtr-        Just jNewtarget -> do-            jNewtarget' <- unsafeManagedPtrCastPtr jNewtarget-            return jNewtarget'-    result <- gst_ghost_pad_set_target gpad' maybeNewtarget-    let result' = (/= 0) result-    touchManagedPtr gpad-    whenJust newtarget touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-data GhostPadSetTargetMethodInfo-instance (signature ~ (Maybe (b) -> m Bool), MonadIO m, IsGhostPad a, Gst.Pad.IsPad b) => O.MethodInfo GhostPadSetTargetMethodInfo a signature where-    overloadedMethod _ = ghostPadSetTarget--#endif---- method GhostPad::activate_mode_default--- method type : MemberFunction--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to activate or deactivate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "PadMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested activation mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the pad should be active or not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_ghost_pad_activate_mode_default" gst_ghost_pad_activate_mode_default :: -    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "PadMode"})-    CInt ->                                 -- active : TBasicType TBoolean-    IO CInt--{- |-Invoke the default activate mode function of a ghost pad.--}-ghostPadActivateModeDefault ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to activate or deactivate. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/ or 'Nothing' -}-    -> Gst.Enums.PadMode-    {- ^ /@mode@/: the requested activation mode -}-    -> Bool-    {- ^ /@active@/: whether the pad should be active or not. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the operation was successful. -}-ghostPadActivateModeDefault pad parent mode active = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    let mode' = (fromIntegral . fromEnum) mode-    let active' = (fromIntegral . fromEnum) active-    result <- gst_ghost_pad_activate_mode_default pad' maybeParent mode' active'-    let result' = (/= 0) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method GhostPad::internal_activate_mode_default--- method type : MemberFunction--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to activate or deactivate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "PadMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested activation mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the pad should be active or not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_ghost_pad_internal_activate_mode_default" gst_ghost_pad_internal_activate_mode_default :: -    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "PadMode"})-    CInt ->                                 -- active : TBasicType TBoolean-    IO CInt--{- |-Invoke the default activate mode function of a proxy pad that is-owned by a ghost pad.--}-ghostPadInternalActivateModeDefault ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to activate or deactivate. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/ or 'Nothing' -}-    -> Gst.Enums.PadMode-    {- ^ /@mode@/: the requested activation mode -}-    -> Bool-    {- ^ /@active@/: whether the pad should be active or not. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the operation was successful. -}-ghostPadInternalActivateModeDefault pad parent mode active = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    let mode' = (fromIntegral . fromEnum) mode-    let active' = (fromIntegral . fromEnum) active-    result <- gst_ghost_pad_internal_activate_mode_default pad' maybeParent mode' active'-    let result' = (/= 0) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/GhostPad.hs-boot
@@ -1,38 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.GhostPad where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype GhostPad = GhostPad (ManagedPtr GhostPad)-instance GObject GhostPad where-class (GObject o, O.IsDescendantOf GhostPad o) => IsGhostPad o-instance (GObject o, O.IsDescendantOf GhostPad o) => IsGhostPad o-instance O.HasParentTypes GhostPad-#if ENABLE_OVERLOADING-data GhostPadConstructMethodInfo-#endif-#if ENABLE_OVERLOADING-data GhostPadGetTargetMethodInfo-#endif-#if ENABLE_OVERLOADING-data GhostPadSetTargetMethodInfo-#endif
− GI/Gst/Objects/Int64Range.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Int64Range () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "Int64Range" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/IntRange.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.IntRange () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "IntRange" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/Object.hs
@@ -1,1865 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Objects.Object.Object' provides a root for the object hierarchy tree filed in by the-GStreamer library.  It is currently a thin wrapper on top of-'GI.GObject.Objects.InitiallyUnowned.InitiallyUnowned'. It is an abstract class that is not very usable on its own.--'GI.Gst.Objects.Object.Object' 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 'GI.Gst.Objects.Object.Object' which is 'GI.GObject.Objects.Object.Object'-(e.g. 'GI.GObject.Objects.Object.objectRef' becomes 'GI.Gst.Objects.Object.objectRef').--Since 'GI.Gst.Objects.Object.Object' derives from 'GI.GObject.Objects.InitiallyUnowned.InitiallyUnowned', it also inherits the-floating reference. Be aware that functions such as 'GI.Gst.Objects.Bin.binAdd' and-'GI.Gst.Objects.Element.elementAddPad' take ownership of the floating reference.--In contrast to 'GI.GObject.Objects.Object.Object' instances, 'GI.Gst.Objects.Object.Object' adds a name property. The functions-'GI.Gst.Objects.Object.objectSetName' and 'GI.Gst.Objects.Object.objectGetName' 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 'GI.Gst.Objects.Element.Element'?-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 'GI.Gst.Objects.ControlSource.ControlSource'.-    csource = gst_interpolation_control_source_new ();-    g_object_set (csource, \"mode\", GST_INTERPOLATION_MODE_LINEAR, NULL);--  * Attach the 'GI.Gst.Objects.ControlSource.ControlSource' 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--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Object-    ( ---- * Exported types-    Object(..)                              ,-    IsObject                                ,-    toObject                                ,-    noObject                                ,--- -- * Methods--- ** addControlBinding #method:addControlBinding#--#if ENABLE_OVERLOADING-    ObjectAddControlBindingMethodInfo       ,-#endif-    objectAddControlBinding                 ,----- ** checkUniqueness #method:checkUniqueness#--    objectCheckUniqueness                   ,----- ** defaultDeepNotify #method:defaultDeepNotify#--    objectDefaultDeepNotify                 ,----- ** defaultError #method:defaultError#--#if ENABLE_OVERLOADING-    ObjectDefaultErrorMethodInfo            ,-#endif-    objectDefaultError                      ,----- ** getControlBinding #method:getControlBinding#--#if ENABLE_OVERLOADING-    ObjectGetControlBindingMethodInfo       ,-#endif-    objectGetControlBinding                 ,----- ** getControlRate #method:getControlRate#--#if ENABLE_OVERLOADING-    ObjectGetControlRateMethodInfo          ,-#endif-    objectGetControlRate                    ,----- ** getGValueArray #method:getGValueArray#--#if ENABLE_OVERLOADING-    ObjectGetGValueArrayMethodInfo          ,-#endif-    objectGetGValueArray                    ,----- ** getName #method:getName#--#if ENABLE_OVERLOADING-    ObjectGetNameMethodInfo                 ,-#endif-    objectGetName                           ,----- ** getParent #method:getParent#--#if ENABLE_OVERLOADING-    ObjectGetParentMethodInfo               ,-#endif-    objectGetParent                         ,----- ** getPathString #method:getPathString#--#if ENABLE_OVERLOADING-    ObjectGetPathStringMethodInfo           ,-#endif-    objectGetPathString                     ,----- ** getValue #method:getValue#--#if ENABLE_OVERLOADING-    ObjectGetValueMethodInfo                ,-#endif-    objectGetValue                          ,----- ** hasActiveControlBindings #method:hasActiveControlBindings#--#if ENABLE_OVERLOADING-    ObjectHasActiveControlBindingsMethodInfo,-#endif-    objectHasActiveControlBindings          ,----- ** hasAncestor #method:hasAncestor#--#if ENABLE_OVERLOADING-    ObjectHasAncestorMethodInfo             ,-#endif-    objectHasAncestor                       ,----- ** hasAsAncestor #method:hasAsAncestor#--#if ENABLE_OVERLOADING-    ObjectHasAsAncestorMethodInfo           ,-#endif-    objectHasAsAncestor                     ,----- ** hasAsParent #method:hasAsParent#--#if ENABLE_OVERLOADING-    ObjectHasAsParentMethodInfo             ,-#endif-    objectHasAsParent                       ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    ObjectRefMethodInfo                     ,-#endif-    objectRef                               ,----- ** removeControlBinding #method:removeControlBinding#--#if ENABLE_OVERLOADING-    ObjectRemoveControlBindingMethodInfo    ,-#endif-    objectRemoveControlBinding              ,----- ** replace #method:replace#--    objectReplace                           ,----- ** setControlBindingDisabled #method:setControlBindingDisabled#--#if ENABLE_OVERLOADING-    ObjectSetControlBindingDisabledMethodInfo,-#endif-    objectSetControlBindingDisabled         ,----- ** setControlBindingsDisabled #method:setControlBindingsDisabled#--#if ENABLE_OVERLOADING-    ObjectSetControlBindingsDisabledMethodInfo,-#endif-    objectSetControlBindingsDisabled        ,----- ** setControlRate #method:setControlRate#--#if ENABLE_OVERLOADING-    ObjectSetControlRateMethodInfo          ,-#endif-    objectSetControlRate                    ,----- ** setName #method:setName#--#if ENABLE_OVERLOADING-    ObjectSetNameMethodInfo                 ,-#endif-    objectSetName                           ,----- ** setParent #method:setParent#--#if ENABLE_OVERLOADING-    ObjectSetParentMethodInfo               ,-#endif-    objectSetParent                         ,----- ** suggestNextSync #method:suggestNextSync#--#if ENABLE_OVERLOADING-    ObjectSuggestNextSyncMethodInfo         ,-#endif-    objectSuggestNextSync                   ,----- ** syncValues #method:syncValues#--#if ENABLE_OVERLOADING-    ObjectSyncValuesMethodInfo              ,-#endif-    objectSyncValues                        ,----- ** unparent #method:unparent#--#if ENABLE_OVERLOADING-    ObjectUnparentMethodInfo                ,-#endif-    objectUnparent                          ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    ObjectUnrefMethodInfo                   ,-#endif-    objectUnref                             ,----- -- * Properties--- ** name #attr:name#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    ObjectNamePropertyInfo                  ,-#endif-    clearObjectName                         ,-    constructObjectName                     ,-    getObjectName                           ,-#if ENABLE_OVERLOADING-    objectName                              ,-#endif-    setObjectName                           ,----- ** parent #attr:parent#-{- | The parent of the object. Please note, that when changing the \'parent\'-property, we don\'t emit 'GI.GObject.Objects.Object.Object'::@/notify/@ and 'GI.Gst.Objects.Object.Object'::@/deep-notify/@-signals due to locking issues. In some cases one can use-'GI.Gst.Objects.Bin.Bin'::@/element-added/@ or 'GI.Gst.Objects.Bin.Bin'::@/element-removed/@ signals on the parent to-achieve a similar effect.--}-#if ENABLE_OVERLOADING-    ObjectParentPropertyInfo                ,-#endif-    clearObjectParent                       ,-    constructObjectParent                   ,-    getObjectParent                         ,-#if ENABLE_OVERLOADING-    objectParent                            ,-#endif-    setObjectParent                         ,----- -- * Signals--- ** deepNotify #signal:deepNotify#--    C_ObjectDeepNotifyCallback              ,-    ObjectDeepNotifyCallback                ,-#if ENABLE_OVERLOADING-    ObjectDeepNotifySignalInfo              ,-#endif-    afterObjectDeepNotify                   ,-    genClosure_ObjectDeepNotify             ,-    mk_ObjectDeepNotifyCallback             ,-    noObjectDeepNotifyCallback              ,-    onObjectDeepNotify                      ,-    wrap_ObjectDeepNotifyCallback           ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.ControlBinding as Gst.ControlBinding---- | Memory-managed wrapper type.-newtype Object = Object (ManagedPtr Object)-foreign import ccall "gst_object_get_type"-    c_gst_object_get_type :: IO GType--instance GObject Object where-    gobjectType = c_gst_object_get_type-    ---- | Type class for types which can be safely cast to `Object`, for instance with `toObject`.-class (GObject o, O.IsDescendantOf Object o) => IsObject o-instance (GObject o, O.IsDescendantOf Object o) => IsObject o--instance O.HasParentTypes Object-type instance O.ParentTypes Object = '[GObject.Object.Object]---- | Cast to `Object`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toObject :: (MonadIO m, IsObject o) => o -> m Object-toObject = liftIO . unsafeCastTo Object---- | A convenience alias for `Nothing` :: `Maybe` `Object`.-noObject :: Maybe Object-noObject = Nothing--#if ENABLE_OVERLOADING-type family ResolveObjectMethod (t :: Symbol) (o :: *) :: * where-    ResolveObjectMethod "addControlBinding" o = ObjectAddControlBindingMethodInfo-    ResolveObjectMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveObjectMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveObjectMethod "defaultError" o = ObjectDefaultErrorMethodInfo-    ResolveObjectMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveObjectMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveObjectMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveObjectMethod "hasActiveControlBindings" o = ObjectHasActiveControlBindingsMethodInfo-    ResolveObjectMethod "hasAncestor" o = ObjectHasAncestorMethodInfo-    ResolveObjectMethod "hasAsAncestor" o = ObjectHasAsAncestorMethodInfo-    ResolveObjectMethod "hasAsParent" o = ObjectHasAsParentMethodInfo-    ResolveObjectMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveObjectMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveObjectMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveObjectMethod "ref" o = ObjectRefMethodInfo-    ResolveObjectMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveObjectMethod "removeControlBinding" o = ObjectRemoveControlBindingMethodInfo-    ResolveObjectMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveObjectMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveObjectMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveObjectMethod "suggestNextSync" o = ObjectSuggestNextSyncMethodInfo-    ResolveObjectMethod "syncValues" o = ObjectSyncValuesMethodInfo-    ResolveObjectMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveObjectMethod "unparent" o = ObjectUnparentMethodInfo-    ResolveObjectMethod "unref" o = ObjectUnrefMethodInfo-    ResolveObjectMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveObjectMethod "getControlBinding" o = ObjectGetControlBindingMethodInfo-    ResolveObjectMethod "getControlRate" o = ObjectGetControlRateMethodInfo-    ResolveObjectMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveObjectMethod "getGValueArray" o = ObjectGetGValueArrayMethodInfo-    ResolveObjectMethod "getName" o = ObjectGetNameMethodInfo-    ResolveObjectMethod "getParent" o = ObjectGetParentMethodInfo-    ResolveObjectMethod "getPathString" o = ObjectGetPathStringMethodInfo-    ResolveObjectMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveObjectMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveObjectMethod "getValue" o = ObjectGetValueMethodInfo-    ResolveObjectMethod "setControlBindingDisabled" o = ObjectSetControlBindingDisabledMethodInfo-    ResolveObjectMethod "setControlBindingsDisabled" o = ObjectSetControlBindingsDisabledMethodInfo-    ResolveObjectMethod "setControlRate" o = ObjectSetControlRateMethodInfo-    ResolveObjectMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveObjectMethod "setName" o = ObjectSetNameMethodInfo-    ResolveObjectMethod "setParent" o = ObjectSetParentMethodInfo-    ResolveObjectMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveObjectMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveObjectMethod t Object, O.MethodInfo info Object p) => OL.IsLabel t (Object -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal Object::deep-notify-{- |-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.--}-type ObjectDeepNotifyCallback =-    Object-    {- ^ /@propObject@/: the object that originated the signal -}-    -> GParamSpec-    {- ^ /@prop@/: the property that changed -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ObjectDeepNotifyCallback`@.-noObjectDeepNotifyCallback :: Maybe ObjectDeepNotifyCallback-noObjectDeepNotifyCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_ObjectDeepNotifyCallback =-    Ptr () ->                               -- object-    Ptr Object ->-    Ptr GParamSpec ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_ObjectDeepNotifyCallback`.-foreign import ccall "wrapper"-    mk_ObjectDeepNotifyCallback :: C_ObjectDeepNotifyCallback -> IO (FunPtr C_ObjectDeepNotifyCallback)---- | Wrap the callback into a `GClosure`.-genClosure_ObjectDeepNotify :: MonadIO m => ObjectDeepNotifyCallback -> m (GClosure C_ObjectDeepNotifyCallback)-genClosure_ObjectDeepNotify cb = liftIO $ do-    let cb' = wrap_ObjectDeepNotifyCallback cb-    mk_ObjectDeepNotifyCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `ObjectDeepNotifyCallback` into a `C_ObjectDeepNotifyCallback`.-wrap_ObjectDeepNotifyCallback ::-    ObjectDeepNotifyCallback ->-    C_ObjectDeepNotifyCallback-wrap_ObjectDeepNotifyCallback _cb _ propObject prop _ = do-    propObject' <- (newObject Object) propObject-    prop' <- B.GParamSpec.newGParamSpecFromPtr prop-    _cb  propObject' prop'---{- |-Connect a signal handler for the “@deep-notify@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' object #deepNotify callback-@--}-onObjectDeepNotify :: (IsObject a, MonadIO m) => a -> ObjectDeepNotifyCallback -> m SignalHandlerId-onObjectDeepNotify obj cb = liftIO $ do-    let cb' = wrap_ObjectDeepNotifyCallback cb-    cb'' <- mk_ObjectDeepNotifyCallback cb'-    connectSignalFunPtr obj "deep-notify" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@deep-notify@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' object #deepNotify callback-@--}-afterObjectDeepNotify :: (IsObject a, MonadIO m) => a -> ObjectDeepNotifyCallback -> m SignalHandlerId-afterObjectDeepNotify obj cb = liftIO $ do-    let cb' = wrap_ObjectDeepNotifyCallback cb-    cb'' <- mk_ObjectDeepNotifyCallback cb'-    connectSignalFunPtr obj "deep-notify" cb'' SignalConnectAfter----- VVV Prop "name"-   -- Type: TBasicType TUTF8-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@name@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' object #name-@--}-getObjectName :: (MonadIO m, IsObject o) => o -> m (Maybe T.Text)-getObjectName obj = liftIO $ B.Properties.getObjectPropertyString obj "name"--{- |-Set the value of the “@name@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' object [ #name 'Data.GI.Base.Attributes.:=' value ]-@--}-setObjectName :: (MonadIO m, IsObject o) => o -> T.Text -> m ()-setObjectName obj val = liftIO $ B.Properties.setObjectPropertyString obj "name" (Just val)--{- |-Construct a `GValueConstruct` with valid value for the “@name@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructObjectName :: (IsObject o) => T.Text -> IO (GValueConstruct o)-constructObjectName val = B.Properties.constructObjectPropertyString "name" (Just val)--{- |-Set the value of the “@name@” property to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #name-@--}-clearObjectName :: (MonadIO m, IsObject o) => o -> m ()-clearObjectName obj = liftIO $ B.Properties.setObjectPropertyString obj "name" (Nothing :: Maybe T.Text)--#if ENABLE_OVERLOADING-data ObjectNamePropertyInfo-instance AttrInfo ObjectNamePropertyInfo where-    type AttrAllowedOps ObjectNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ObjectNamePropertyInfo = (~) T.Text-    type AttrBaseTypeConstraint ObjectNamePropertyInfo = IsObject-    type AttrGetType ObjectNamePropertyInfo = (Maybe T.Text)-    type AttrLabel ObjectNamePropertyInfo = "name"-    type AttrOrigin ObjectNamePropertyInfo = Object-    attrGet _ = getObjectName-    attrSet _ = setObjectName-    attrConstruct _ = constructObjectName-    attrClear _ = clearObjectName-#endif---- VVV Prop "parent"-   -- Type: TInterface (Name {namespace = "Gst", name = "Object"})-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@parent@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' object #parent-@--}-getObjectParent :: (MonadIO m, IsObject o) => o -> m (Maybe Object)-getObjectParent obj = liftIO $ B.Properties.getObjectPropertyObject obj "parent" Object--{- |-Set the value of the “@parent@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' object [ #parent 'Data.GI.Base.Attributes.:=' value ]-@--}-setObjectParent :: (MonadIO m, IsObject o, IsObject a) => o -> a -> m ()-setObjectParent obj val = liftIO $ B.Properties.setObjectPropertyObject obj "parent" (Just val)--{- |-Construct a `GValueConstruct` with valid value for the “@parent@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructObjectParent :: (IsObject o, IsObject a) => a -> IO (GValueConstruct o)-constructObjectParent val = B.Properties.constructObjectPropertyObject "parent" (Just val)--{- |-Set the value of the “@parent@” property to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #parent-@--}-clearObjectParent :: (MonadIO m, IsObject o) => o -> m ()-clearObjectParent obj = liftIO $ B.Properties.setObjectPropertyObject obj "parent" (Nothing :: Maybe Object)--#if ENABLE_OVERLOADING-data ObjectParentPropertyInfo-instance AttrInfo ObjectParentPropertyInfo where-    type AttrAllowedOps ObjectParentPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ObjectParentPropertyInfo = IsObject-    type AttrBaseTypeConstraint ObjectParentPropertyInfo = IsObject-    type AttrGetType ObjectParentPropertyInfo = (Maybe Object)-    type AttrLabel ObjectParentPropertyInfo = "parent"-    type AttrOrigin ObjectParentPropertyInfo = Object-    attrGet _ = getObjectParent-    attrSet _ = setObjectParent-    attrConstruct _ = constructObjectParent-    attrClear _ = clearObjectParent-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Object-type instance O.AttributeList Object = ObjectAttributeList-type ObjectAttributeList = ('[ '("name", ObjectNamePropertyInfo), '("parent", ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-objectName :: AttrLabelProxy "name"-objectName = AttrLabelProxy--objectParent :: AttrLabelProxy "parent"-objectParent = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-data ObjectDeepNotifySignalInfo-instance SignalInfo ObjectDeepNotifySignalInfo where-    type HaskellCallbackType ObjectDeepNotifySignalInfo = ObjectDeepNotifyCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_ObjectDeepNotifyCallback cb-        cb'' <- mk_ObjectDeepNotifyCallback cb'-        connectSignalFunPtr obj "deep-notify" cb'' connectMode--type instance O.SignalList Object = ObjectSignalList-type ObjectSignalList = ('[ '("deepNotify", ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method Object::add_control_binding--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the controller object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "binding", argType = TInterface (Name {namespace = "Gst", name = "ControlBinding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstControlBinding that should be used", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_add_control_binding" gst_object_add_control_binding :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.ControlBinding.ControlBinding -> -- binding : TInterface (Name {namespace = "Gst", name = "ControlBinding"})-    IO CInt--{- |-Attach the 'GI.Gst.Objects.ControlBinding.ControlBinding' to the object. If there already was a-'GI.Gst.Objects.ControlBinding.ControlBinding' 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()/@)--}-objectAddControlBinding ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a, Gst.ControlBinding.IsControlBinding b) =>-    a-    {- ^ /@object@/: the controller object -}-    -> b-    {- ^ /@binding@/: the 'GI.Gst.Objects.ControlBinding.ControlBinding' that should be used -}-    -> m Bool-    {- ^ __Returns:__ 'False' if the given /@binding@/ has not been setup for this object or-has been setup for a non suitable property, 'True' otherwise. -}-objectAddControlBinding object binding = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    binding' <- unsafeManagedPtrCastPtr binding-    result <- gst_object_add_control_binding object' binding'-    let result' = (/= 0) result-    touchManagedPtr object-    touchManagedPtr binding-    return result'--#if ENABLE_OVERLOADING-data ObjectAddControlBindingMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, Gst.ControlBinding.IsControlBinding b) => O.MethodInfo ObjectAddControlBindingMethodInfo a signature where-    overloadedMethod _ = objectAddControlBinding--#endif---- method Object::default_error--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstObject that initiated the error.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the GError.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an additional debug information string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_object_default_error" gst_object_default_error :: -    Ptr Object ->                           -- source : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr GError ->                           -- error : TError-    CString ->                              -- debug : TBasicType TUTF8-    IO ()--{- |-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.--}-objectDefaultError ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@source@/: the 'GI.Gst.Objects.Object.Object' that initiated the error. -}-    -> GError-    {- ^ /@error@/: the GError. -}-    -> Maybe (T.Text)-    {- ^ /@debug@/: an additional debug information string, or 'Nothing' -}-    -> m ()-objectDefaultError source error_ debug = liftIO $ do-    source' <- unsafeManagedPtrCastPtr source-    error_' <- unsafeManagedPtrGetPtr error_-    maybeDebug <- case debug of-        Nothing -> return nullPtr-        Just jDebug -> do-            jDebug' <- textToCString jDebug-            return jDebug'-    gst_object_default_error source' error_' maybeDebug-    touchManagedPtr source-    touchManagedPtr error_-    freeMem maybeDebug-    return ()--#if ENABLE_OVERLOADING-data ObjectDefaultErrorMethodInfo-instance (signature ~ (GError -> Maybe (T.Text) -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectDefaultErrorMethodInfo a signature where-    overloadedMethod _ = objectDefaultError--#endif---- method Object::get_control_binding--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the property", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ControlBinding"}))--- throws : False--- Skip return : False--foreign import ccall "gst_object_get_control_binding" gst_object_get_control_binding :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    CString ->                              -- property_name : TBasicType TUTF8-    IO (Ptr Gst.ControlBinding.ControlBinding)--{- |-Gets the corresponding 'GI.Gst.Objects.ControlBinding.ControlBinding' for the property. This should be-unreferenced again after use.--}-objectGetControlBinding ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object -}-    -> T.Text-    {- ^ /@propertyName@/: name of the property -}-    -> m (Maybe Gst.ControlBinding.ControlBinding)-    {- ^ __Returns:__ the 'GI.Gst.Objects.ControlBinding.ControlBinding' for-/@propertyName@/ or 'Nothing' if the property is not controlled. -}-objectGetControlBinding object propertyName = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    propertyName' <- textToCString propertyName-    result <- gst_object_get_control_binding object' propertyName'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.ControlBinding.ControlBinding) result'-        return result''-    touchManagedPtr object-    freeMem propertyName'-    return maybeResult--#if ENABLE_OVERLOADING-data ObjectGetControlBindingMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.ControlBinding.ControlBinding)), MonadIO m, IsObject a) => O.MethodInfo ObjectGetControlBindingMethodInfo a signature where-    overloadedMethod _ = objectGetControlBinding--#endif---- method Object::get_control_rate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_object_get_control_rate" gst_object_get_control_rate :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    IO Word64--{- |-Obtain the control-rate for this /@object@/. Audio processing 'GI.Gst.Objects.Element.Element'-objects will use this rate to sub-divide their processing loop and call-'GI.Gst.Objects.Object.objectSyncValues' 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-'GI.Gst.Constants.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-'GI.Gst.Enums.StatePaused' or 'GI.Gst.Enums.StatePlaying'.--}-objectGetControlRate ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object that has controlled properties -}-    -> m Word64-    {- ^ __Returns:__ the control rate in nanoseconds -}-objectGetControlRate object = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    result <- gst_object_get_control_rate object'-    touchManagedPtr object-    return result--#if ENABLE_OVERLOADING-data ObjectGetControlRateMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsObject a) => O.MethodInfo ObjectGetControlRateMethodInfo a signature where-    overloadedMethod _ = objectGetControlRate--#endif---- method Object::get_g_value_array--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time that should be processed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time spacing between subsequent values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "values", argType = TCArray False (-1) 4 (TInterface (Name {namespace = "GObject", name = "Value"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "array to put control-values in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_get_g_value_array" gst_object_get_g_value_array :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    CString ->                              -- property_name : TBasicType TUTF8-    Word64 ->                               -- timestamp : TBasicType TUInt64-    Word64 ->                               -- interval : TBasicType TUInt64-    Word32 ->                               -- n_values : TBasicType TUInt-    Ptr GValue ->                           -- values : TCArray False (-1) 4 (TInterface (Name {namespace = "GObject", name = "Value"}))-    IO CInt--{- |-Gets a number of @/GValues/@ for the given controlled property starting at the-requested time. The array /@values@/ need to hold enough space for /@nValues@/ of-'GI.GObject.Structs.Value.Value'.--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.--}-objectGetGValueArray ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object that has controlled properties -}-    -> T.Text-    {- ^ /@propertyName@/: the name of the property to get -}-    -> Word64-    {- ^ /@timestamp@/: the time that should be processed -}-    -> Word64-    {- ^ /@interval@/: the time spacing between subsequent values -}-    -> [GValue]-    {- ^ /@values@/: array to put control-values in -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the given array could be filled, 'False' otherwise -}-objectGetGValueArray object propertyName timestamp interval values = liftIO $ do-    let nValues = fromIntegral $ length values-    object' <- unsafeManagedPtrCastPtr object-    propertyName' <- textToCString propertyName-    values' <- mapM unsafeManagedPtrGetPtr values-    values'' <- packBlockArray 24 values'-    result <- gst_object_get_g_value_array object' propertyName' timestamp interval nValues values''-    let result' = (/= 0) result-    touchManagedPtr object-    mapM_ touchManagedPtr values-    freeMem propertyName'-    freeMem values''-    return result'--#if ENABLE_OVERLOADING-data ObjectGetGValueArrayMethodInfo-instance (signature ~ (T.Text -> Word64 -> Word64 -> [GValue] -> m Bool), MonadIO m, IsObject a) => O.MethodInfo ObjectGetGValueArrayMethodInfo a signature where-    overloadedMethod _ = objectGetGValueArray--#endif---- method Object::get_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_object_get_name" gst_object_get_name :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    IO CString--{- |-Returns a copy of the name of /@object@/.-Caller should 'GI.GLib.Functions.free' the return value after usage.-For a nameless object, this returns 'Nothing', which you can safely 'GI.GLib.Functions.free'-as well.--Free-function: g_free--}-objectGetName ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the name of /@object@/. 'GI.GLib.Functions.free'-after usage.--MT safe. This function grabs and releases /@object@/\'s LOCK. -}-objectGetName object = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    result <- gst_object_get_name object'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr object-    return maybeResult--#if ENABLE_OVERLOADING-data ObjectGetNameMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsObject a) => O.MethodInfo ObjectGetNameMethodInfo a signature where-    overloadedMethod _ = objectGetName--#endif---- method Object::get_parent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Object"}))--- throws : False--- Skip return : False--foreign import ccall "gst_object_get_parent" gst_object_get_parent :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Object)--{- |-Returns the parent of /@object@/. This function increases the refcount-of the parent object so you should 'GI.Gst.Objects.Object.objectUnref' it after usage.--}-objectGetParent ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' -}-    -> m (Maybe Object)-    {- ^ __Returns:__ parent of /@object@/, this can be-  'Nothing' if /@object@/ has no parent. unref after usage.--MT safe. Grabs and releases /@object@/\'s LOCK. -}-objectGetParent object = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    result <- gst_object_get_parent object'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Object) result'-        return result''-    touchManagedPtr object-    return maybeResult--#if ENABLE_OVERLOADING-data ObjectGetParentMethodInfo-instance (signature ~ (m (Maybe Object)), MonadIO m, IsObject a) => O.MethodInfo ObjectGetParentMethodInfo a signature where-    overloadedMethod _ = objectGetParent--#endif---- method Object::get_path_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_object_get_path_string" gst_object_get_path_string :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    IO CString--{- |-Generates a string describing the path of /@object@/ in-the object hierarchy. Only useful (or used) for debugging.--Free-function: g_free--}-objectGetPathString ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' -}-    -> m T.Text-    {- ^ __Returns:__ a string describing the path of /@object@/. You must-         'GI.GLib.Functions.free' the string after usage.--MT safe. Grabs and releases the 'GI.Gst.Objects.Object.Object'\'s LOCK for all objects-         in the hierarchy. -}-objectGetPathString object = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    result <- gst_object_get_path_string object'-    checkUnexpectedReturnNULL "objectGetPathString" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr object-    return result'--#if ENABLE_OVERLOADING-data ObjectGetPathStringMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsObject a) => O.MethodInfo ObjectGetPathStringMethodInfo a signature where-    overloadedMethod _ = objectGetPathString--#endif---- method Object::get_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time the control-change should be read from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Value"}))--- throws : False--- Skip return : False--foreign import ccall "gst_object_get_value" gst_object_get_value :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    CString ->                              -- property_name : TBasicType TUTF8-    Word64 ->                               -- timestamp : TBasicType TUInt64-    IO (Ptr GValue)--{- |-Gets the value for the given controlled property at the requested time.--}-objectGetValue ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object that has controlled properties -}-    -> T.Text-    {- ^ /@propertyName@/: the name of the property to get -}-    -> Word64-    {- ^ /@timestamp@/: the time the control-change should be read from -}-    -> m (Maybe GValue)-    {- ^ __Returns:__ the GValue of the property at the given time,-or 'Nothing' if the property isn\'t controlled. -}-objectGetValue object propertyName timestamp = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    propertyName' <- textToCString propertyName-    result <- gst_object_get_value object' propertyName' timestamp-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed GValue) result'-        return result''-    touchManagedPtr object-    freeMem propertyName'-    return maybeResult--#if ENABLE_OVERLOADING-data ObjectGetValueMethodInfo-instance (signature ~ (T.Text -> Word64 -> m (Maybe GValue)), MonadIO m, IsObject a) => O.MethodInfo ObjectGetValueMethodInfo a signature where-    overloadedMethod _ = objectGetValue--#endif---- method Object::has_active_control_bindings--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_has_active_control_bindings" gst_object_has_active_control_bindings :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    IO CInt--{- |-Check if the /@object@/ has active controlled properties.--}-objectHasActiveControlBindings ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object that has controlled properties -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the object has active controlled properties -}-objectHasActiveControlBindings object = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    result <- gst_object_has_active_control_bindings object'-    let result' = (/= 0) result-    touchManagedPtr object-    return result'--#if ENABLE_OVERLOADING-data ObjectHasActiveControlBindingsMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsObject a) => O.MethodInfo ObjectHasActiveControlBindingsMethodInfo a signature where-    overloadedMethod _ = objectHasActiveControlBindings--#endif---- method Object::has_ancestor--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ancestor", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject to check as ancestor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_has_ancestor" gst_object_has_ancestor :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Object ->                           -- ancestor : TInterface (Name {namespace = "Gst", name = "Object"})-    IO CInt--{-# DEPRECATED objectHasAncestor ["Use 'GI.Gst.Objects.Object.objectHasAsAncestor' instead.","","MT safe. Grabs and releases /@object@/\\'s locks."] #-}-{- |-Check if /@object@/ has an ancestor /@ancestor@/ somewhere up in-the hierarchy. One can e.g. check if a 'GI.Gst.Objects.Element.Element' is inside a 'GI.Gst.Objects.Pipeline.Pipeline'.--}-objectHasAncestor ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' to check -}-    -> b-    {- ^ /@ancestor@/: a 'GI.Gst.Objects.Object.Object' to check as ancestor -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@ancestor@/ is an ancestor of /@object@/. -}-objectHasAncestor object ancestor = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    ancestor' <- unsafeManagedPtrCastPtr ancestor-    result <- gst_object_has_ancestor object' ancestor'-    let result' = (/= 0) result-    touchManagedPtr object-    touchManagedPtr ancestor-    return result'--#if ENABLE_OVERLOADING-data ObjectHasAncestorMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectHasAncestorMethodInfo a signature where-    overloadedMethod _ = objectHasAncestor--#endif---- method Object::has_as_ancestor--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ancestor", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject to check as ancestor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_has_as_ancestor" gst_object_has_as_ancestor :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Object ->                           -- ancestor : TInterface (Name {namespace = "Gst", name = "Object"})-    IO CInt--{- |-Check if /@object@/ has an ancestor /@ancestor@/ somewhere up in-the hierarchy. One can e.g. check if a 'GI.Gst.Objects.Element.Element' is inside a 'GI.Gst.Objects.Pipeline.Pipeline'.--}-objectHasAsAncestor ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' to check -}-    -> b-    {- ^ /@ancestor@/: a 'GI.Gst.Objects.Object.Object' to check as ancestor -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@ancestor@/ is an ancestor of /@object@/.--MT safe. Grabs and releases /@object@/\'s locks. -}-objectHasAsAncestor object ancestor = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    ancestor' <- unsafeManagedPtrCastPtr ancestor-    result <- gst_object_has_as_ancestor object' ancestor'-    let result' = (/= 0) result-    touchManagedPtr object-    touchManagedPtr ancestor-    return result'--#if ENABLE_OVERLOADING-data ObjectHasAsAncestorMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectHasAsAncestorMethodInfo a signature where-    overloadedMethod _ = objectHasAsAncestor--#endif---- method Object::has_as_parent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject to check as parent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_has_as_parent" gst_object_has_as_parent :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Object ->                           -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    IO CInt--{- |-Check if /@parent@/ is the parent of /@object@/.-E.g. a 'GI.Gst.Objects.Element.Element' can check if it owns a given 'GI.Gst.Objects.Pad.Pad'.--/Since: 1.6/--}-objectHasAsParent ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' to check -}-    -> b-    {- ^ /@parent@/: a 'GI.Gst.Objects.Object.Object' to check as parent -}-    -> m Bool-    {- ^ __Returns:__ 'False' if either /@object@/ or /@parent@/ is 'Nothing'. 'True' if /@parent@/ is-         the parent of /@object@/. Otherwise 'False'.--MT safe. Grabs and releases /@object@/\'s locks. -}-objectHasAsParent object parent = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    parent' <- unsafeManagedPtrCastPtr parent-    result <- gst_object_has_as_parent object' parent'-    let result' = (/= 0) result-    touchManagedPtr object-    touchManagedPtr parent-    return result'--#if ENABLE_OVERLOADING-data ObjectHasAsParentMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectHasAsParentMethodInfo a signature where-    overloadedMethod _ = objectHasAsParent--#endif---- method Object::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject to reference", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Object"}))--- throws : False--- Skip return : False--foreign import ccall "gst_object_ref" gst_object_ref :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Object)--{- |-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->parent);--}-objectRef ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' to reference -}-    -> m Object-    {- ^ __Returns:__ A pointer to /@object@/ -}-objectRef object = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    result <- gst_object_ref object'-    checkUnexpectedReturnNULL "objectRef" result-    result' <- (wrapObject Object) result-    touchManagedPtr object-    return result'--#if ENABLE_OVERLOADING-data ObjectRefMethodInfo-instance (signature ~ (m Object), MonadIO m, IsObject a) => O.MethodInfo ObjectRefMethodInfo a signature where-    overloadedMethod _ = objectRef--#endif---- method Object::remove_control_binding--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "binding", argType = TInterface (Name {namespace = "Gst", name = "ControlBinding"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the binding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_remove_control_binding" gst_object_remove_control_binding :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.ControlBinding.ControlBinding -> -- binding : TInterface (Name {namespace = "Gst", name = "ControlBinding"})-    IO CInt--{- |-Removes the corresponding 'GI.Gst.Objects.ControlBinding.ControlBinding'. If it was the-last ref of the binding, it will be disposed.--}-objectRemoveControlBinding ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a, Gst.ControlBinding.IsControlBinding b) =>-    a-    {- ^ /@object@/: the object -}-    -> b-    {- ^ /@binding@/: the binding -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the binding could be removed. -}-objectRemoveControlBinding object binding = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    binding' <- unsafeManagedPtrCastPtr binding-    result <- gst_object_remove_control_binding object' binding'-    let result' = (/= 0) result-    touchManagedPtr object-    touchManagedPtr binding-    return result'--#if ENABLE_OVERLOADING-data ObjectRemoveControlBindingMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, Gst.ControlBinding.IsControlBinding b) => O.MethodInfo ObjectRemoveControlBindingMethodInfo a signature where-    overloadedMethod _ = objectRemoveControlBinding--#endif---- method Object::set_control_binding_disabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "property to disable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "disabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "boolean that specifies whether to disable the controller\nor not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_object_set_control_binding_disabled" gst_object_set_control_binding_disabled :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    CString ->                              -- property_name : TBasicType TUTF8-    CInt ->                                 -- disabled : TBasicType TBoolean-    IO ()--{- |-This function is used to disable the control bindings on a property for-some time, i.e. 'GI.Gst.Objects.Object.objectSyncValues' will do nothing for the-property.--}-objectSetControlBindingDisabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object that has controlled properties -}-    -> T.Text-    {- ^ /@propertyName@/: property to disable -}-    -> Bool-    {- ^ /@disabled@/: boolean that specifies whether to disable the controller-or not. -}-    -> m ()-objectSetControlBindingDisabled object propertyName disabled = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    propertyName' <- textToCString propertyName-    let disabled' = (fromIntegral . fromEnum) disabled-    gst_object_set_control_binding_disabled object' propertyName' disabled'-    touchManagedPtr object-    freeMem propertyName'-    return ()--#if ENABLE_OVERLOADING-data ObjectSetControlBindingDisabledMethodInfo-instance (signature ~ (T.Text -> Bool -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetControlBindingDisabledMethodInfo a signature where-    overloadedMethod _ = objectSetControlBindingDisabled--#endif---- method Object::set_control_bindings_disabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "disabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "boolean that specifies whether to disable the controller\nor not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_object_set_control_bindings_disabled" gst_object_set_control_bindings_disabled :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    CInt ->                                 -- disabled : TBasicType TBoolean-    IO ()--{- |-This function is used to disable all controlled properties of the /@object@/ for-some time, i.e. 'GI.Gst.Objects.Object.objectSyncValues' will do nothing.--}-objectSetControlBindingsDisabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object that has controlled properties -}-    -> Bool-    {- ^ /@disabled@/: boolean that specifies whether to disable the controller-or not. -}-    -> m ()-objectSetControlBindingsDisabled object disabled = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    let disabled' = (fromIntegral . fromEnum) disabled-    gst_object_set_control_bindings_disabled object' disabled'-    touchManagedPtr object-    return ()--#if ENABLE_OVERLOADING-data ObjectSetControlBindingsDisabledMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetControlBindingsDisabledMethodInfo a signature where-    overloadedMethod _ = objectSetControlBindingsDisabled--#endif---- method Object::set_control_rate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "control_rate", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new control-rate in nanoseconds.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_object_set_control_rate" gst_object_set_control_rate :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Word64 ->                               -- control_rate : TBasicType TUInt64-    IO ()--{- |-Change the control-rate for this /@object@/. Audio processing 'GI.Gst.Objects.Element.Element'-objects will use this rate to sub-divide their processing loop and call-'GI.Gst.Objects.Object.objectSyncValues' 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 'GI.Gst.Enums.StatePaused' or-'GI.Gst.Enums.StatePlaying'.--}-objectSetControlRate ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object that has controlled properties -}-    -> Word64-    {- ^ /@controlRate@/: the new control-rate in nanoseconds. -}-    -> m ()-objectSetControlRate object controlRate = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    gst_object_set_control_rate object' controlRate-    touchManagedPtr object-    return ()--#if ENABLE_OVERLOADING-data ObjectSetControlRateMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectSetControlRateMethodInfo a signature where-    overloadedMethod _ = objectSetControlRate--#endif---- method Object::set_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new name of object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_set_name" gst_object_set_name :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    CString ->                              -- name : TBasicType TUTF8-    IO CInt--{- |-Sets the name of /@object@/, or gives /@object@/ a guaranteed unique-name (if /@name@/ is 'Nothing').-This function makes a copy of the provided name, so the caller-retains ownership of the name it sent.--}-objectSetName ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' -}-    -> Maybe (T.Text)-    {- ^ /@name@/: new name of object -}-    -> m Bool-    {- ^ __Returns:__ '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. -}-objectSetName object name = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    result <- gst_object_set_name object' maybeName-    let result' = (/= 0) result-    touchManagedPtr object-    freeMem maybeName-    return result'--#if ENABLE_OVERLOADING-data ObjectSetNameMethodInfo-instance (signature ~ (Maybe (T.Text) -> m Bool), MonadIO m, IsObject a) => O.MethodInfo ObjectSetNameMethodInfo a signature where-    overloadedMethod _ = objectSetName--#endif---- method Object::set_parent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new parent of object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_set_parent" gst_object_set_parent :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Object ->                           -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    IO CInt--{- |-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()/@).--}-objectSetParent ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' -}-    -> b-    {- ^ /@parent@/: new parent of object -}-    -> m Bool-    {- ^ __Returns:__ '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. -}-objectSetParent object parent = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    parent' <- unsafeManagedPtrCastPtr parent-    result <- gst_object_set_parent object' parent'-    let result' = (/= 0) result-    touchManagedPtr object-    touchManagedPtr parent-    return result'--#if ENABLE_OVERLOADING-data ObjectSetParentMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsObject a, IsObject b) => O.MethodInfo ObjectSetParentMethodInfo a signature where-    overloadedMethod _ = objectSetParent--#endif---- method Object::suggest_next_sync--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_object_suggest_next_sync" gst_object_suggest_next_sync :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    IO Word64--{- |-Returns a suggestion for timestamps where buffers should be split-to get best controller results.--}-objectSuggestNextSync ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object that has controlled properties -}-    -> m Word64-    {- ^ __Returns:__ Returns the suggested timestamp or 'GI.Gst.Constants.CLOCK_TIME_NONE'-if no control-rate was set. -}-objectSuggestNextSync object = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    result <- gst_object_suggest_next_sync object'-    touchManagedPtr object-    return result--#if ENABLE_OVERLOADING-data ObjectSuggestNextSyncMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsObject a) => O.MethodInfo ObjectSuggestNextSyncMethodInfo a signature where-    overloadedMethod _ = objectSuggestNextSync--#endif---- method Object::sync_values--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object that has controlled properties", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time that should be processed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_sync_values" gst_object_sync_values :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Word64 ->                               -- timestamp : TBasicType TUInt64-    IO CInt--{- |-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.--}-objectSyncValues ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: the object that has controlled properties -}-    -> Word64-    {- ^ /@timestamp@/: the time that should be processed -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the controller values could be applied to the object-properties, 'False' otherwise -}-objectSyncValues object timestamp = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    result <- gst_object_sync_values object' timestamp-    let result' = (/= 0) result-    touchManagedPtr object-    return result'--#if ENABLE_OVERLOADING-data ObjectSyncValuesMethodInfo-instance (signature ~ (Word64 -> m Bool), MonadIO m, IsObject a) => O.MethodInfo ObjectSyncValuesMethodInfo a signature where-    overloadedMethod _ = objectSyncValues--#endif---- method Object::unparent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject to unparent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_object_unparent" gst_object_unparent :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    IO ()--{- |-Clear the parent of /@object@/, removing the associated reference.-This function decreases the refcount of /@object@/.--MT safe. Grabs and releases /@object@/\'s lock.--}-objectUnparent ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' to unparent -}-    -> m ()-objectUnparent object = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    gst_object_unparent object'-    touchManagedPtr object-    return ()--#if ENABLE_OVERLOADING-data ObjectUnparentMethodInfo-instance (signature ~ (m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectUnparentMethodInfo a signature where-    overloadedMethod _ = objectUnparent--#endif---- method Object::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject to unreference", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_object_unref" gst_object_unref :: -    Ptr Object ->                           -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    IO ()--{- |-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.--}-objectUnref ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    a-    {- ^ /@object@/: a 'GI.Gst.Objects.Object.Object' to unreference -}-    -> m ()-objectUnref object = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    gst_object_unref object'-    touchManagedPtr object-    return ()--#if ENABLE_OVERLOADING-data ObjectUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m, IsObject a) => O.MethodInfo ObjectUnrefMethodInfo a signature where-    overloadedMethod _ = objectUnref--#endif---- method Object::check_uniqueness--- method type : MemberFunction--- Args : [Arg {argCName = "list", argType = TGList (TInterface (Name {namespace = "Gst", name = "Object"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a list of #GstObject to\n     check through", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name to search for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_check_uniqueness" gst_object_check_uniqueness :: -    Ptr (GList (Ptr Object)) ->             -- list : TGList (TInterface (Name {namespace = "Gst", name = "Object"}))-    CString ->                              -- name : TBasicType TUTF8-    IO CInt--{- |-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 'GI.Gst.Objects.Object.Object' in the list to compare the name, so be-careful when passing a list with a locked object.--}-objectCheckUniqueness ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a) =>-    [a]-    {- ^ /@list@/: a list of 'GI.Gst.Objects.Object.Object' to-     check through -}-    -> T.Text-    {- ^ /@name@/: the name to search for -}-    -> m Bool-    {- ^ __Returns:__ 'True' if a 'GI.Gst.Objects.Object.Object' named /@name@/ does not appear in /@list@/,-'False' if it does.--MT safe. Grabs and releases the LOCK of each object in the list. -}-objectCheckUniqueness list name = liftIO $ do-    list' <- mapM unsafeManagedPtrCastPtr list-    list'' <- packGList list'-    name' <- textToCString name-    result <- gst_object_check_uniqueness list'' name'-    let result' = (/= 0) result-    mapM_ touchManagedPtr list-    g_list_free list''-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Object::default_deep_notify--- method type : MemberFunction--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GObject that signalled the notify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orig", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject that initiated the notify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec", argType = TParamSpec, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GParamSpec of the property.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "excluded_props", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n    a set of user-specified properties to exclude or %NULL to show\n    all changes.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_object_default_deep_notify" gst_object_default_deep_notify :: -    Ptr GObject.Object.Object ->            -- object : TInterface (Name {namespace = "GObject", name = "Object"})-    Ptr Object ->                           -- orig : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr GParamSpec ->                       -- pspec : TParamSpec-    Ptr CString ->                          -- excluded_props : TCArray True (-1) (-1) (TBasicType TUTF8)-    IO ()--{- |-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.--}-objectDefaultDeepNotify ::-    (B.CallStack.HasCallStack, MonadIO m, GObject.Object.IsObject a, IsObject b) =>-    a-    {- ^ /@object@/: the 'GI.GObject.Objects.Object.Object' that signalled the notify. -}-    -> b-    {- ^ /@orig@/: a 'GI.Gst.Objects.Object.Object' that initiated the notify. -}-    -> GParamSpec-    {- ^ /@pspec@/: a 'GI.GObject.Objects.ParamSpec.ParamSpec' of the property. -}-    -> Maybe ([T.Text])-    {- ^ /@excludedProps@/: -    a set of user-specified properties to exclude or 'Nothing' to show-    all changes. -}-    -> m ()-objectDefaultDeepNotify object orig pspec excludedProps = liftIO $ do-    object' <- unsafeManagedPtrCastPtr object-    orig' <- unsafeManagedPtrCastPtr orig-    pspec' <- unsafeManagedPtrGetPtr pspec-    maybeExcludedProps <- case excludedProps of-        Nothing -> return nullPtr-        Just jExcludedProps -> do-            jExcludedProps' <- packZeroTerminatedUTF8CArray jExcludedProps-            return jExcludedProps'-    gst_object_default_deep_notify object' orig' pspec' maybeExcludedProps-    touchManagedPtr object-    touchManagedPtr orig-    touchManagedPtr pspec-    mapZeroTerminatedCArray freeMem maybeExcludedProps-    freeMem maybeExcludedProps-    return ()--#if ENABLE_OVERLOADING-#endif---- method Object::replace--- method type : MemberFunction--- Args : [Arg {argCName = "oldobj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer to a place of\n    a #GstObject to replace", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "newobj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a new #GstObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_object_replace" gst_object_replace :: -    Ptr (Ptr Object) ->                     -- oldobj : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Object ->                           -- newobj : TInterface (Name {namespace = "Gst", name = "Object"})-    IO CInt--{- |-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 'Nothing'.--}-objectReplace ::-    (B.CallStack.HasCallStack, MonadIO m, IsObject a, IsObject b) =>-    Maybe (a)-    {- ^ /@oldobj@/: pointer to a place of-    a 'GI.Gst.Objects.Object.Object' to replace -}-    -> Maybe (b)-    {- ^ /@newobj@/: a new 'GI.Gst.Objects.Object.Object' -}-    -> m ((Bool, Maybe Object))-    {- ^ __Returns:__ 'True' if /@newobj@/ was different from /@oldobj@/ -}-objectReplace oldobj newobj = liftIO $ do-    maybeOldobj <- case oldobj of-        Nothing -> return nullPtr-        Just jOldobj -> do-            jOldobj' <- B.ManagedPtr.disownObject jOldobj-            return jOldobj'-    maybeOldobj' <- allocMem :: IO (Ptr (Ptr Object))-    poke maybeOldobj' maybeOldobj-    maybeNewobj <- case newobj of-        Nothing -> return nullPtr-        Just jNewobj -> do-            jNewobj' <- unsafeManagedPtrCastPtr jNewobj-            return jNewobj'-    result <- gst_object_replace maybeOldobj' maybeNewobj-    let result' = (/= 0) result-    maybeOldobj'' <- peek maybeOldobj'-    maybeMaybeOldobj'' <- convertIfNonNull maybeOldobj'' $ \maybeOldobj''' -> do-        maybeOldobj'''' <- (wrapObject Object) maybeOldobj'''-        return maybeOldobj''''-    whenJust oldobj touchManagedPtr-    whenJust newobj touchManagedPtr-    freeMem maybeOldobj'-    return (result', maybeMaybeOldobj'')--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/Object.hs-boot
@@ -1,110 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Object where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Object = Object (ManagedPtr Object)-instance GObject Object where-class (GObject o, O.IsDescendantOf Object o) => IsObject o-instance (GObject o, O.IsDescendantOf Object o) => IsObject o-instance O.HasParentTypes Object-#if ENABLE_OVERLOADING-data ObjectNamePropertyInfo-#endif-#if ENABLE_OVERLOADING-data ObjectParentPropertyInfo-#endif-#if ENABLE_OVERLOADING-data ObjectDeepNotifySignalInfo-#endif-#if ENABLE_OVERLOADING-data ObjectAddControlBindingMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectDefaultErrorMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectGetControlBindingMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectGetControlRateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectGetGValueArrayMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectGetNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectGetParentMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectGetPathStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectGetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectHasActiveControlBindingsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectHasAncestorMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectHasAsAncestorMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectHasAsParentMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectRemoveControlBindingMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectSetControlBindingDisabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectSetControlBindingsDisabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectSetControlRateMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectSetNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectSetParentMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectSuggestNextSyncMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectSyncValuesMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectUnparentMethodInfo-#endif-#if ENABLE_OVERLOADING-data ObjectUnrefMethodInfo-#endif
− GI/Gst/Objects/Pad.hs
@@ -1,5132 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A 'GI.Gst.Objects.Element.Element' is linked to other elements via \"pads\", which are extremely-light-weight generic link points.--Pads have a 'GI.Gst.Enums.PadDirection', source pads produce data, sink pads consume-data.--Pads are typically created from a 'GI.Gst.Objects.PadTemplate.PadTemplate' with-'GI.Gst.Objects.Pad.padNewFromTemplate' and are then added to a 'GI.Gst.Objects.Element.Element'. 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 'GI.Gst.Objects.Pad.padNew',-which takes a direction and a name as an argument.  If the name is 'Nothing',-then a guaranteed unique name will be assigned to it.--A 'GI.Gst.Objects.Element.Element' 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 'GI.Gst.Objects.Element.Element' that owns the pad.--After two pads are retrieved from an element by 'GI.Gst.Objects.Element.elementGetStaticPad',-the pads can be linked with 'GI.Gst.Objects.Pad.padLink'. (For quick links,-you can also use 'GI.Gst.Objects.Element.elementLink', which will make the obvious-link for you if it\'s straightforward.). Pads can be unlinked again with-'GI.Gst.Objects.Pad.padUnlink'. 'GI.Gst.Objects.Pad.padGetPeer' can be used to check what the pad is-linked to.--Before dataflow is possible on the pads, they need to be activated with-'GI.Gst.Objects.Pad.padSetActive'.--'GI.Gst.Objects.Pad.padQuery' and 'GI.Gst.Objects.Pad.padPeerQuery' can be used to query various-properties of the pad and the stream.--To send a 'GI.Gst.Structs.Event.Event' on a pad, use 'GI.Gst.Objects.Pad.padSendEvent' and-'GI.Gst.Objects.Pad.padPushEvent'. Some events will be sticky on the pad, meaning that-after they pass on the pad they can be queried later with-'GI.Gst.Objects.Pad.padGetStickyEvent' and 'GI.Gst.Objects.Pad.padStickyEventsForeach'.-'GI.Gst.Objects.Pad.padGetCurrentCaps' and 'GI.Gst.Objects.Pad.padHasCurrentCaps' are convenience-functions to query the current sticky CAPS event on a pad.--GstElements will use 'GI.Gst.Objects.Pad.padPush' and 'GI.Gst.Objects.Pad.padPullRange' 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 'GI.Gst.Objects.Pad.padAddProbe'. 'GI.Gst.Objects.Pad.padIsBlocked'-can be used to check if a block probe is installed on the pad.-'GI.Gst.Objects.Pad.padIsBlocking' checks if the blocking probe is currently blocking the-pad. 'GI.Gst.Objects.Pad.padRemoveProbe' is used to remove a previously installed probe-and unblock blocking probes if any.--Pad have an offset that can be retrieved with 'GI.Gst.Objects.Pad.padGetOffset'. This-offset will be applied to the running_time of all data passing over the pad.-'GI.Gst.Objects.Pad.padSetOffset' can be used to change the offset.--Convenience functions exist to start, pause and stop the task on a pad with-'GI.Gst.Objects.Pad.padStartTask', 'GI.Gst.Objects.Pad.padPauseTask' and 'GI.Gst.Objects.Pad.padStopTask'-respectively.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Pad-    ( ---- * Exported types-    Pad(..)                                 ,-    IsPad                                   ,-    toPad                                   ,-    noPad                                   ,--- -- * Methods--- ** activateMode #method:activateMode#--#if ENABLE_OVERLOADING-    PadActivateModeMethodInfo               ,-#endif-    padActivateMode                         ,----- ** addProbe #method:addProbe#--#if ENABLE_OVERLOADING-    PadAddProbeMethodInfo                   ,-#endif-    padAddProbe                             ,----- ** canLink #method:canLink#--#if ENABLE_OVERLOADING-    PadCanLinkMethodInfo                    ,-#endif-    padCanLink                              ,----- ** chain #method:chain#--#if ENABLE_OVERLOADING-    PadChainMethodInfo                      ,-#endif-    padChain                                ,----- ** chainList #method:chainList#--#if ENABLE_OVERLOADING-    PadChainListMethodInfo                  ,-#endif-    padChainList                            ,----- ** checkReconfigure #method:checkReconfigure#--#if ENABLE_OVERLOADING-    PadCheckReconfigureMethodInfo           ,-#endif-    padCheckReconfigure                     ,----- ** createStreamId #method:createStreamId#--#if ENABLE_OVERLOADING-    PadCreateStreamIdMethodInfo             ,-#endif-    padCreateStreamId                       ,----- ** eventDefault #method:eventDefault#--#if ENABLE_OVERLOADING-    PadEventDefaultMethodInfo               ,-#endif-    padEventDefault                         ,----- ** forward #method:forward#--#if ENABLE_OVERLOADING-    PadForwardMethodInfo                    ,-#endif-    padForward                              ,----- ** getAllowedCaps #method:getAllowedCaps#--#if ENABLE_OVERLOADING-    PadGetAllowedCapsMethodInfo             ,-#endif-    padGetAllowedCaps                       ,----- ** getCurrentCaps #method:getCurrentCaps#--#if ENABLE_OVERLOADING-    PadGetCurrentCapsMethodInfo             ,-#endif-    padGetCurrentCaps                       ,----- ** getDirection #method:getDirection#--#if ENABLE_OVERLOADING-    PadGetDirectionMethodInfo               ,-#endif-    padGetDirection                         ,----- ** getElementPrivate #method:getElementPrivate#--#if ENABLE_OVERLOADING-    PadGetElementPrivateMethodInfo          ,-#endif-    padGetElementPrivate                    ,----- ** getLastFlowReturn #method:getLastFlowReturn#--#if ENABLE_OVERLOADING-    PadGetLastFlowReturnMethodInfo          ,-#endif-    padGetLastFlowReturn                    ,----- ** getOffset #method:getOffset#--#if ENABLE_OVERLOADING-    PadGetOffsetMethodInfo                  ,-#endif-    padGetOffset                            ,----- ** getPadTemplate #method:getPadTemplate#--#if ENABLE_OVERLOADING-    PadGetPadTemplateMethodInfo             ,-#endif-    padGetPadTemplate                       ,----- ** getPadTemplateCaps #method:getPadTemplateCaps#--#if ENABLE_OVERLOADING-    PadGetPadTemplateCapsMethodInfo         ,-#endif-    padGetPadTemplateCaps                   ,----- ** getParentElement #method:getParentElement#--#if ENABLE_OVERLOADING-    PadGetParentElementMethodInfo           ,-#endif-    padGetParentElement                     ,----- ** getPeer #method:getPeer#--#if ENABLE_OVERLOADING-    PadGetPeerMethodInfo                    ,-#endif-    padGetPeer                              ,----- ** getRange #method:getRange#--#if ENABLE_OVERLOADING-    PadGetRangeMethodInfo                   ,-#endif-    padGetRange                             ,----- ** getStickyEvent #method:getStickyEvent#--#if ENABLE_OVERLOADING-    PadGetStickyEventMethodInfo             ,-#endif-    padGetStickyEvent                       ,----- ** getStream #method:getStream#--#if ENABLE_OVERLOADING-    PadGetStreamMethodInfo                  ,-#endif-    padGetStream                            ,----- ** getStreamId #method:getStreamId#--#if ENABLE_OVERLOADING-    PadGetStreamIdMethodInfo                ,-#endif-    padGetStreamId                          ,----- ** getTaskState #method:getTaskState#--#if ENABLE_OVERLOADING-    PadGetTaskStateMethodInfo               ,-#endif-    padGetTaskState                         ,----- ** hasCurrentCaps #method:hasCurrentCaps#--#if ENABLE_OVERLOADING-    PadHasCurrentCapsMethodInfo             ,-#endif-    padHasCurrentCaps                       ,----- ** isActive #method:isActive#--#if ENABLE_OVERLOADING-    PadIsActiveMethodInfo                   ,-#endif-    padIsActive                             ,----- ** isBlocked #method:isBlocked#--#if ENABLE_OVERLOADING-    PadIsBlockedMethodInfo                  ,-#endif-    padIsBlocked                            ,----- ** isBlocking #method:isBlocking#--#if ENABLE_OVERLOADING-    PadIsBlockingMethodInfo                 ,-#endif-    padIsBlocking                           ,----- ** isLinked #method:isLinked#--#if ENABLE_OVERLOADING-    PadIsLinkedMethodInfo                   ,-#endif-    padIsLinked                             ,----- ** iterateInternalLinks #method:iterateInternalLinks#--#if ENABLE_OVERLOADING-    PadIterateInternalLinksMethodInfo       ,-#endif-    padIterateInternalLinks                 ,----- ** iterateInternalLinksDefault #method:iterateInternalLinksDefault#--#if ENABLE_OVERLOADING-    PadIterateInternalLinksDefaultMethodInfo,-#endif-    padIterateInternalLinksDefault          ,----- ** link #method:link#--#if ENABLE_OVERLOADING-    PadLinkMethodInfo                       ,-#endif-    padLink                                 ,----- ** linkFull #method:linkFull#--#if ENABLE_OVERLOADING-    PadLinkFullMethodInfo                   ,-#endif-    padLinkFull                             ,----- ** linkGetName #method:linkGetName#--    padLinkGetName                          ,----- ** linkMaybeGhosting #method:linkMaybeGhosting#--#if ENABLE_OVERLOADING-    PadLinkMaybeGhostingMethodInfo          ,-#endif-    padLinkMaybeGhosting                    ,----- ** linkMaybeGhostingFull #method:linkMaybeGhostingFull#--#if ENABLE_OVERLOADING-    PadLinkMaybeGhostingFullMethodInfo      ,-#endif-    padLinkMaybeGhostingFull                ,----- ** markReconfigure #method:markReconfigure#--#if ENABLE_OVERLOADING-    PadMarkReconfigureMethodInfo            ,-#endif-    padMarkReconfigure                      ,----- ** needsReconfigure #method:needsReconfigure#--#if ENABLE_OVERLOADING-    PadNeedsReconfigureMethodInfo           ,-#endif-    padNeedsReconfigure                     ,----- ** new #method:new#--    padNew                                  ,----- ** newFromStaticTemplate #method:newFromStaticTemplate#--    padNewFromStaticTemplate                ,----- ** newFromTemplate #method:newFromTemplate#--    padNewFromTemplate                      ,----- ** pauseTask #method:pauseTask#--#if ENABLE_OVERLOADING-    PadPauseTaskMethodInfo                  ,-#endif-    padPauseTask                            ,----- ** peerQuery #method:peerQuery#--#if ENABLE_OVERLOADING-    PadPeerQueryMethodInfo                  ,-#endif-    padPeerQuery                            ,----- ** peerQueryAcceptCaps #method:peerQueryAcceptCaps#--#if ENABLE_OVERLOADING-    PadPeerQueryAcceptCapsMethodInfo        ,-#endif-    padPeerQueryAcceptCaps                  ,----- ** peerQueryCaps #method:peerQueryCaps#--#if ENABLE_OVERLOADING-    PadPeerQueryCapsMethodInfo              ,-#endif-    padPeerQueryCaps                        ,----- ** peerQueryConvert #method:peerQueryConvert#--#if ENABLE_OVERLOADING-    PadPeerQueryConvertMethodInfo           ,-#endif-    padPeerQueryConvert                     ,----- ** peerQueryDuration #method:peerQueryDuration#--#if ENABLE_OVERLOADING-    PadPeerQueryDurationMethodInfo          ,-#endif-    padPeerQueryDuration                    ,----- ** peerQueryPosition #method:peerQueryPosition#--#if ENABLE_OVERLOADING-    PadPeerQueryPositionMethodInfo          ,-#endif-    padPeerQueryPosition                    ,----- ** proxyQueryAcceptCaps #method:proxyQueryAcceptCaps#--#if ENABLE_OVERLOADING-    PadProxyQueryAcceptCapsMethodInfo       ,-#endif-    padProxyQueryAcceptCaps                 ,----- ** proxyQueryCaps #method:proxyQueryCaps#--#if ENABLE_OVERLOADING-    PadProxyQueryCapsMethodInfo             ,-#endif-    padProxyQueryCaps                       ,----- ** pullRange #method:pullRange#--#if ENABLE_OVERLOADING-    PadPullRangeMethodInfo                  ,-#endif-    padPullRange                            ,----- ** push #method:push#--#if ENABLE_OVERLOADING-    PadPushMethodInfo                       ,-#endif-    padPush                                 ,----- ** pushEvent #method:pushEvent#--#if ENABLE_OVERLOADING-    PadPushEventMethodInfo                  ,-#endif-    padPushEvent                            ,----- ** pushList #method:pushList#--#if ENABLE_OVERLOADING-    PadPushListMethodInfo                   ,-#endif-    padPushList                             ,----- ** query #method:query#--#if ENABLE_OVERLOADING-    PadQueryMethodInfo                      ,-#endif-    padQuery                                ,----- ** queryAcceptCaps #method:queryAcceptCaps#--#if ENABLE_OVERLOADING-    PadQueryAcceptCapsMethodInfo            ,-#endif-    padQueryAcceptCaps                      ,----- ** queryCaps #method:queryCaps#--#if ENABLE_OVERLOADING-    PadQueryCapsMethodInfo                  ,-#endif-    padQueryCaps                            ,----- ** queryConvert #method:queryConvert#--#if ENABLE_OVERLOADING-    PadQueryConvertMethodInfo               ,-#endif-    padQueryConvert                         ,----- ** queryDefault #method:queryDefault#--#if ENABLE_OVERLOADING-    PadQueryDefaultMethodInfo               ,-#endif-    padQueryDefault                         ,----- ** queryDuration #method:queryDuration#--#if ENABLE_OVERLOADING-    PadQueryDurationMethodInfo              ,-#endif-    padQueryDuration                        ,----- ** queryPosition #method:queryPosition#--#if ENABLE_OVERLOADING-    PadQueryPositionMethodInfo              ,-#endif-    padQueryPosition                        ,----- ** removeProbe #method:removeProbe#--#if ENABLE_OVERLOADING-    PadRemoveProbeMethodInfo                ,-#endif-    padRemoveProbe                          ,----- ** sendEvent #method:sendEvent#--#if ENABLE_OVERLOADING-    PadSendEventMethodInfo                  ,-#endif-    padSendEvent                            ,----- ** setActivateFunctionFull #method:setActivateFunctionFull#--#if ENABLE_OVERLOADING-    PadSetActivateFunctionFullMethodInfo    ,-#endif-    padSetActivateFunctionFull              ,----- ** setActivatemodeFunctionFull #method:setActivatemodeFunctionFull#--#if ENABLE_OVERLOADING-    PadSetActivatemodeFunctionFullMethodInfo,-#endif-    padSetActivatemodeFunctionFull          ,----- ** setActive #method:setActive#--#if ENABLE_OVERLOADING-    PadSetActiveMethodInfo                  ,-#endif-    padSetActive                            ,----- ** setChainFunctionFull #method:setChainFunctionFull#--#if ENABLE_OVERLOADING-    PadSetChainFunctionFullMethodInfo       ,-#endif-    padSetChainFunctionFull                 ,----- ** setChainListFunctionFull #method:setChainListFunctionFull#--#if ENABLE_OVERLOADING-    PadSetChainListFunctionFullMethodInfo   ,-#endif-    padSetChainListFunctionFull             ,----- ** setElementPrivate #method:setElementPrivate#--#if ENABLE_OVERLOADING-    PadSetElementPrivateMethodInfo          ,-#endif-    padSetElementPrivate                    ,----- ** setEventFullFunctionFull #method:setEventFullFunctionFull#--#if ENABLE_OVERLOADING-    PadSetEventFullFunctionFullMethodInfo   ,-#endif-    padSetEventFullFunctionFull             ,----- ** setEventFunctionFull #method:setEventFunctionFull#--#if ENABLE_OVERLOADING-    PadSetEventFunctionFullMethodInfo       ,-#endif-    padSetEventFunctionFull                 ,----- ** setGetrangeFunctionFull #method:setGetrangeFunctionFull#--#if ENABLE_OVERLOADING-    PadSetGetrangeFunctionFullMethodInfo    ,-#endif-    padSetGetrangeFunctionFull              ,----- ** setIterateInternalLinksFunctionFull #method:setIterateInternalLinksFunctionFull#--#if ENABLE_OVERLOADING-    PadSetIterateInternalLinksFunctionFullMethodInfo,-#endif-    padSetIterateInternalLinksFunctionFull  ,----- ** setLinkFunctionFull #method:setLinkFunctionFull#--#if ENABLE_OVERLOADING-    PadSetLinkFunctionFullMethodInfo        ,-#endif-    padSetLinkFunctionFull                  ,----- ** setOffset #method:setOffset#--#if ENABLE_OVERLOADING-    PadSetOffsetMethodInfo                  ,-#endif-    padSetOffset                            ,----- ** setQueryFunctionFull #method:setQueryFunctionFull#--#if ENABLE_OVERLOADING-    PadSetQueryFunctionFullMethodInfo       ,-#endif-    padSetQueryFunctionFull                 ,----- ** setUnlinkFunctionFull #method:setUnlinkFunctionFull#--#if ENABLE_OVERLOADING-    PadSetUnlinkFunctionFullMethodInfo      ,-#endif-    padSetUnlinkFunctionFull                ,----- ** startTask #method:startTask#--#if ENABLE_OVERLOADING-    PadStartTaskMethodInfo                  ,-#endif-    padStartTask                            ,----- ** stickyEventsForeach #method:stickyEventsForeach#--#if ENABLE_OVERLOADING-    PadStickyEventsForeachMethodInfo        ,-#endif-    padStickyEventsForeach                  ,----- ** stopTask #method:stopTask#--#if ENABLE_OVERLOADING-    PadStopTaskMethodInfo                   ,-#endif-    padStopTask                             ,----- ** storeStickyEvent #method:storeStickyEvent#--#if ENABLE_OVERLOADING-    PadStoreStickyEventMethodInfo           ,-#endif-    padStoreStickyEvent                     ,----- ** unlink #method:unlink#--#if ENABLE_OVERLOADING-    PadUnlinkMethodInfo                     ,-#endif-    padUnlink                               ,----- ** useFixedCaps #method:useFixedCaps#--#if ENABLE_OVERLOADING-    PadUseFixedCapsMethodInfo               ,-#endif-    padUseFixedCaps                         ,----- -- * Properties--- ** caps #attr:caps#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    PadCapsPropertyInfo                     ,-#endif-    getPadCaps                              ,-#if ENABLE_OVERLOADING-    padCaps                                 ,-#endif----- ** direction #attr:direction#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    PadDirectionPropertyInfo                ,-#endif-    constructPadDirection                   ,-    getPadDirection                         ,-#if ENABLE_OVERLOADING-    padDirection                            ,-#endif----- ** offset #attr:offset#-{- | The offset that will be applied to the running time of the pad.--/Since: 1.6/--}-#if ENABLE_OVERLOADING-    PadOffsetPropertyInfo                   ,-#endif-    constructPadOffset                      ,-    getPadOffset                            ,-#if ENABLE_OVERLOADING-    padOffset                               ,-#endif-    setPadOffset                            ,----- ** template #attr:template#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    PadTemplatePropertyInfo                 ,-#endif-    clearPadTemplate                        ,-    constructPadTemplate                    ,-    getPadTemplate                          ,-#if ENABLE_OVERLOADING-    padTemplate                             ,-#endif-    setPadTemplate                          ,----- -- * Signals--- ** linked #signal:linked#--    C_PadLinkedCallback                     ,-    PadLinkedCallback                       ,-#if ENABLE_OVERLOADING-    PadLinkedSignalInfo                     ,-#endif-    afterPadLinked                          ,-    genClosure_PadLinked                    ,-    mk_PadLinkedCallback                    ,-    noPadLinkedCallback                     ,-    onPadLinked                             ,-    wrap_PadLinkedCallback                  ,----- ** unlinked #signal:unlinked#--    C_PadUnlinkedCallback                   ,-    PadUnlinkedCallback                     ,-#if ENABLE_OVERLOADING-    PadUnlinkedSignalInfo                   ,-#endif-    afterPadUnlinked                        ,-    genClosure_PadUnlinked                  ,-    mk_PadUnlinkedCallback                  ,-    noPadUnlinkedCallback                   ,-    onPadUnlinked                           ,-    wrap_PadUnlinkedCallback                ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.PadTemplate as Gst.PadTemplate-import {-# SOURCE #-} qualified GI.Gst.Objects.Stream as Gst.Stream-import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.Gst.Structs.BufferList as Gst.BufferList-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.Event as Gst.Event-import {-# SOURCE #-} qualified GI.Gst.Structs.Iterator as Gst.Iterator-import {-# SOURCE #-} qualified GI.Gst.Structs.Query as Gst.Query-import {-# SOURCE #-} qualified GI.Gst.Structs.StaticPadTemplate as Gst.StaticPadTemplate---- | Memory-managed wrapper type.-newtype Pad = Pad (ManagedPtr Pad)-foreign import ccall "gst_pad_get_type"-    c_gst_pad_get_type :: IO GType--instance GObject Pad where-    gobjectType = c_gst_pad_get_type-    ---- | Type class for types which can be safely cast to `Pad`, for instance with `toPad`.-class (GObject o, O.IsDescendantOf Pad o) => IsPad o-instance (GObject o, O.IsDescendantOf Pad o) => IsPad o--instance O.HasParentTypes Pad-type instance O.ParentTypes Pad = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Pad`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toPad :: (MonadIO m, IsPad o) => o -> m Pad-toPad = liftIO . unsafeCastTo Pad---- | A convenience alias for `Nothing` :: `Maybe` `Pad`.-noPad :: Maybe Pad-noPad = Nothing--#if ENABLE_OVERLOADING-type family ResolvePadMethod (t :: Symbol) (o :: *) :: * where-    ResolvePadMethod "activateMode" o = PadActivateModeMethodInfo-    ResolvePadMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolvePadMethod "addProbe" o = PadAddProbeMethodInfo-    ResolvePadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolvePadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolvePadMethod "canLink" o = PadCanLinkMethodInfo-    ResolvePadMethod "chain" o = PadChainMethodInfo-    ResolvePadMethod "chainList" o = PadChainListMethodInfo-    ResolvePadMethod "checkReconfigure" o = PadCheckReconfigureMethodInfo-    ResolvePadMethod "createStreamId" o = PadCreateStreamIdMethodInfo-    ResolvePadMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolvePadMethod "eventDefault" o = PadEventDefaultMethodInfo-    ResolvePadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolvePadMethod "forward" o = PadForwardMethodInfo-    ResolvePadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolvePadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolvePadMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolvePadMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolvePadMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolvePadMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolvePadMethod "hasCurrentCaps" o = PadHasCurrentCapsMethodInfo-    ResolvePadMethod "isActive" o = PadIsActiveMethodInfo-    ResolvePadMethod "isBlocked" o = PadIsBlockedMethodInfo-    ResolvePadMethod "isBlocking" o = PadIsBlockingMethodInfo-    ResolvePadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolvePadMethod "isLinked" o = PadIsLinkedMethodInfo-    ResolvePadMethod "iterateInternalLinks" o = PadIterateInternalLinksMethodInfo-    ResolvePadMethod "iterateInternalLinksDefault" o = PadIterateInternalLinksDefaultMethodInfo-    ResolvePadMethod "link" o = PadLinkMethodInfo-    ResolvePadMethod "linkFull" o = PadLinkFullMethodInfo-    ResolvePadMethod "linkMaybeGhosting" o = PadLinkMaybeGhostingMethodInfo-    ResolvePadMethod "linkMaybeGhostingFull" o = PadLinkMaybeGhostingFullMethodInfo-    ResolvePadMethod "markReconfigure" o = PadMarkReconfigureMethodInfo-    ResolvePadMethod "needsReconfigure" o = PadNeedsReconfigureMethodInfo-    ResolvePadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolvePadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolvePadMethod "pauseTask" o = PadPauseTaskMethodInfo-    ResolvePadMethod "peerQuery" o = PadPeerQueryMethodInfo-    ResolvePadMethod "peerQueryAcceptCaps" o = PadPeerQueryAcceptCapsMethodInfo-    ResolvePadMethod "peerQueryCaps" o = PadPeerQueryCapsMethodInfo-    ResolvePadMethod "peerQueryConvert" o = PadPeerQueryConvertMethodInfo-    ResolvePadMethod "peerQueryDuration" o = PadPeerQueryDurationMethodInfo-    ResolvePadMethod "peerQueryPosition" o = PadPeerQueryPositionMethodInfo-    ResolvePadMethod "proxyQueryAcceptCaps" o = PadProxyQueryAcceptCapsMethodInfo-    ResolvePadMethod "proxyQueryCaps" o = PadProxyQueryCapsMethodInfo-    ResolvePadMethod "pullRange" o = PadPullRangeMethodInfo-    ResolvePadMethod "push" o = PadPushMethodInfo-    ResolvePadMethod "pushEvent" o = PadPushEventMethodInfo-    ResolvePadMethod "pushList" o = PadPushListMethodInfo-    ResolvePadMethod "query" o = PadQueryMethodInfo-    ResolvePadMethod "queryAcceptCaps" o = PadQueryAcceptCapsMethodInfo-    ResolvePadMethod "queryCaps" o = PadQueryCapsMethodInfo-    ResolvePadMethod "queryConvert" o = PadQueryConvertMethodInfo-    ResolvePadMethod "queryDefault" o = PadQueryDefaultMethodInfo-    ResolvePadMethod "queryDuration" o = PadQueryDurationMethodInfo-    ResolvePadMethod "queryPosition" o = PadQueryPositionMethodInfo-    ResolvePadMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolvePadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolvePadMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolvePadMethod "removeProbe" o = PadRemoveProbeMethodInfo-    ResolvePadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolvePadMethod "sendEvent" o = PadSendEventMethodInfo-    ResolvePadMethod "startTask" o = PadStartTaskMethodInfo-    ResolvePadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolvePadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolvePadMethod "stickyEventsForeach" o = PadStickyEventsForeachMethodInfo-    ResolvePadMethod "stopTask" o = PadStopTaskMethodInfo-    ResolvePadMethod "storeStickyEvent" o = PadStoreStickyEventMethodInfo-    ResolvePadMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolvePadMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolvePadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolvePadMethod "unlink" o = PadUnlinkMethodInfo-    ResolvePadMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolvePadMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolvePadMethod "useFixedCaps" o = PadUseFixedCapsMethodInfo-    ResolvePadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolvePadMethod "getAllowedCaps" o = PadGetAllowedCapsMethodInfo-    ResolvePadMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolvePadMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolvePadMethod "getCurrentCaps" o = PadGetCurrentCapsMethodInfo-    ResolvePadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolvePadMethod "getDirection" o = PadGetDirectionMethodInfo-    ResolvePadMethod "getElementPrivate" o = PadGetElementPrivateMethodInfo-    ResolvePadMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolvePadMethod "getLastFlowReturn" o = PadGetLastFlowReturnMethodInfo-    ResolvePadMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolvePadMethod "getOffset" o = PadGetOffsetMethodInfo-    ResolvePadMethod "getPadTemplate" o = PadGetPadTemplateMethodInfo-    ResolvePadMethod "getPadTemplateCaps" o = PadGetPadTemplateCapsMethodInfo-    ResolvePadMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolvePadMethod "getParentElement" o = PadGetParentElementMethodInfo-    ResolvePadMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolvePadMethod "getPeer" o = PadGetPeerMethodInfo-    ResolvePadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolvePadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolvePadMethod "getRange" o = PadGetRangeMethodInfo-    ResolvePadMethod "getStickyEvent" o = PadGetStickyEventMethodInfo-    ResolvePadMethod "getStream" o = PadGetStreamMethodInfo-    ResolvePadMethod "getStreamId" o = PadGetStreamIdMethodInfo-    ResolvePadMethod "getTaskState" o = PadGetTaskStateMethodInfo-    ResolvePadMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolvePadMethod "setActivateFunctionFull" o = PadSetActivateFunctionFullMethodInfo-    ResolvePadMethod "setActivatemodeFunctionFull" o = PadSetActivatemodeFunctionFullMethodInfo-    ResolvePadMethod "setActive" o = PadSetActiveMethodInfo-    ResolvePadMethod "setChainFunctionFull" o = PadSetChainFunctionFullMethodInfo-    ResolvePadMethod "setChainListFunctionFull" o = PadSetChainListFunctionFullMethodInfo-    ResolvePadMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolvePadMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolvePadMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolvePadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolvePadMethod "setElementPrivate" o = PadSetElementPrivateMethodInfo-    ResolvePadMethod "setEventFullFunctionFull" o = PadSetEventFullFunctionFullMethodInfo-    ResolvePadMethod "setEventFunctionFull" o = PadSetEventFunctionFullMethodInfo-    ResolvePadMethod "setGetrangeFunctionFull" o = PadSetGetrangeFunctionFullMethodInfo-    ResolvePadMethod "setIterateInternalLinksFunctionFull" o = PadSetIterateInternalLinksFunctionFullMethodInfo-    ResolvePadMethod "setLinkFunctionFull" o = PadSetLinkFunctionFullMethodInfo-    ResolvePadMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolvePadMethod "setOffset" o = PadSetOffsetMethodInfo-    ResolvePadMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolvePadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolvePadMethod "setQueryFunctionFull" o = PadSetQueryFunctionFullMethodInfo-    ResolvePadMethod "setUnlinkFunctionFull" o = PadSetUnlinkFunctionFullMethodInfo-    ResolvePadMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePadMethod t Pad, O.MethodInfo info Pad p) => OL.IsLabel t (Pad -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal Pad::linked-{- |-Signals that a pad has been linked to the peer pad.--}-type PadLinkedCallback =-    Pad-    {- ^ /@peer@/: the peer pad that has been connected -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `PadLinkedCallback`@.-noPadLinkedCallback :: Maybe PadLinkedCallback-noPadLinkedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_PadLinkedCallback =-    Ptr () ->                               -- object-    Ptr Pad ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_PadLinkedCallback`.-foreign import ccall "wrapper"-    mk_PadLinkedCallback :: C_PadLinkedCallback -> IO (FunPtr C_PadLinkedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_PadLinked :: MonadIO m => PadLinkedCallback -> m (GClosure C_PadLinkedCallback)-genClosure_PadLinked cb = liftIO $ do-    let cb' = wrap_PadLinkedCallback cb-    mk_PadLinkedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `PadLinkedCallback` into a `C_PadLinkedCallback`.-wrap_PadLinkedCallback ::-    PadLinkedCallback ->-    C_PadLinkedCallback-wrap_PadLinkedCallback _cb _ peer _ = do-    peer' <- (newObject Pad) peer-    _cb  peer'---{- |-Connect a signal handler for the “@linked@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' pad #linked callback-@--}-onPadLinked :: (IsPad a, MonadIO m) => a -> PadLinkedCallback -> m SignalHandlerId-onPadLinked obj cb = liftIO $ do-    let cb' = wrap_PadLinkedCallback cb-    cb'' <- mk_PadLinkedCallback cb'-    connectSignalFunPtr obj "linked" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@linked@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' pad #linked callback-@--}-afterPadLinked :: (IsPad a, MonadIO m) => a -> PadLinkedCallback -> m SignalHandlerId-afterPadLinked obj cb = liftIO $ do-    let cb' = wrap_PadLinkedCallback cb-    cb'' <- mk_PadLinkedCallback cb'-    connectSignalFunPtr obj "linked" cb'' SignalConnectAfter----- signal Pad::unlinked-{- |-Signals that a pad has been unlinked from the peer pad.--}-type PadUnlinkedCallback =-    Pad-    {- ^ /@peer@/: the peer pad that has been disconnected -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `PadUnlinkedCallback`@.-noPadUnlinkedCallback :: Maybe PadUnlinkedCallback-noPadUnlinkedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_PadUnlinkedCallback =-    Ptr () ->                               -- object-    Ptr Pad ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_PadUnlinkedCallback`.-foreign import ccall "wrapper"-    mk_PadUnlinkedCallback :: C_PadUnlinkedCallback -> IO (FunPtr C_PadUnlinkedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_PadUnlinked :: MonadIO m => PadUnlinkedCallback -> m (GClosure C_PadUnlinkedCallback)-genClosure_PadUnlinked cb = liftIO $ do-    let cb' = wrap_PadUnlinkedCallback cb-    mk_PadUnlinkedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `PadUnlinkedCallback` into a `C_PadUnlinkedCallback`.-wrap_PadUnlinkedCallback ::-    PadUnlinkedCallback ->-    C_PadUnlinkedCallback-wrap_PadUnlinkedCallback _cb _ peer _ = do-    peer' <- (newObject Pad) peer-    _cb  peer'---{- |-Connect a signal handler for the “@unlinked@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' pad #unlinked callback-@--}-onPadUnlinked :: (IsPad a, MonadIO m) => a -> PadUnlinkedCallback -> m SignalHandlerId-onPadUnlinked obj cb = liftIO $ do-    let cb' = wrap_PadUnlinkedCallback cb-    cb'' <- mk_PadUnlinkedCallback cb'-    connectSignalFunPtr obj "unlinked" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@unlinked@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' pad #unlinked callback-@--}-afterPadUnlinked :: (IsPad a, MonadIO m) => a -> PadUnlinkedCallback -> m SignalHandlerId-afterPadUnlinked obj cb = liftIO $ do-    let cb' = wrap_PadUnlinkedCallback cb-    cb'' <- mk_PadUnlinkedCallback cb'-    connectSignalFunPtr obj "unlinked" cb'' SignalConnectAfter----- VVV Prop "caps"-   -- Type: TInterface (Name {namespace = "Gst", name = "Caps"})-   -- Flags: [PropertyReadable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@caps@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pad #caps-@--}-getPadCaps :: (MonadIO m, IsPad o) => o -> m (Maybe Gst.Caps.Caps)-getPadCaps obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "caps" Gst.Caps.Caps--#if ENABLE_OVERLOADING-data PadCapsPropertyInfo-instance AttrInfo PadCapsPropertyInfo where-    type AttrAllowedOps PadCapsPropertyInfo = '[ 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PadCapsPropertyInfo = (~) ()-    type AttrBaseTypeConstraint PadCapsPropertyInfo = IsPad-    type AttrGetType PadCapsPropertyInfo = (Maybe Gst.Caps.Caps)-    type AttrLabel PadCapsPropertyInfo = "caps"-    type AttrOrigin PadCapsPropertyInfo = Pad-    attrGet _ = getPadCaps-    attrSet _ = undefined-    attrConstruct _ = undefined-    attrClear _ = undefined-#endif---- VVV Prop "direction"-   -- Type: TInterface (Name {namespace = "Gst", name = "PadDirection"})-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Just False,Nothing)--{- |-Get the value of the “@direction@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pad #direction-@--}-getPadDirection :: (MonadIO m, IsPad o) => o -> m Gst.Enums.PadDirection-getPadDirection obj = liftIO $ B.Properties.getObjectPropertyEnum obj "direction"--{- |-Construct a `GValueConstruct` with valid value for the “@direction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPadDirection :: (IsPad o) => Gst.Enums.PadDirection -> IO (GValueConstruct o)-constructPadDirection val = B.Properties.constructObjectPropertyEnum "direction" val--#if ENABLE_OVERLOADING-data PadDirectionPropertyInfo-instance AttrInfo PadDirectionPropertyInfo where-    type AttrAllowedOps PadDirectionPropertyInfo = '[ 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint PadDirectionPropertyInfo = (~) Gst.Enums.PadDirection-    type AttrBaseTypeConstraint PadDirectionPropertyInfo = IsPad-    type AttrGetType PadDirectionPropertyInfo = Gst.Enums.PadDirection-    type AttrLabel PadDirectionPropertyInfo = "direction"-    type AttrOrigin PadDirectionPropertyInfo = Pad-    attrGet _ = getPadDirection-    attrSet _ = undefined-    attrConstruct _ = constructPadDirection-    attrClear _ = undefined-#endif---- VVV Prop "offset"-   -- Type: TBasicType TInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@offset@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pad #offset-@--}-getPadOffset :: (MonadIO m, IsPad o) => o -> m Int64-getPadOffset obj = liftIO $ B.Properties.getObjectPropertyInt64 obj "offset"--{- |-Set the value of the “@offset@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pad [ #offset 'Data.GI.Base.Attributes.:=' value ]-@--}-setPadOffset :: (MonadIO m, IsPad o) => o -> Int64 -> m ()-setPadOffset obj val = liftIO $ B.Properties.setObjectPropertyInt64 obj "offset" val--{- |-Construct a `GValueConstruct` with valid value for the “@offset@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPadOffset :: (IsPad o) => Int64 -> IO (GValueConstruct o)-constructPadOffset val = B.Properties.constructObjectPropertyInt64 "offset" val--#if ENABLE_OVERLOADING-data PadOffsetPropertyInfo-instance AttrInfo PadOffsetPropertyInfo where-    type AttrAllowedOps PadOffsetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint PadOffsetPropertyInfo = (~) Int64-    type AttrBaseTypeConstraint PadOffsetPropertyInfo = IsPad-    type AttrGetType PadOffsetPropertyInfo = Int64-    type AttrLabel PadOffsetPropertyInfo = "offset"-    type AttrOrigin PadOffsetPropertyInfo = Pad-    attrGet _ = getPadOffset-    attrSet _ = setPadOffset-    attrConstruct _ = constructPadOffset-    attrClear _ = undefined-#endif---- VVV Prop "template"-   -- Type: TInterface (Name {namespace = "Gst", name = "PadTemplate"})-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@template@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pad #template-@--}-getPadTemplate :: (MonadIO m, IsPad o) => o -> m (Maybe Gst.PadTemplate.PadTemplate)-getPadTemplate obj = liftIO $ B.Properties.getObjectPropertyObject obj "template" Gst.PadTemplate.PadTemplate--{- |-Set the value of the “@template@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pad [ #template 'Data.GI.Base.Attributes.:=' value ]-@--}-setPadTemplate :: (MonadIO m, IsPad o, Gst.PadTemplate.IsPadTemplate a) => o -> a -> m ()-setPadTemplate obj val = liftIO $ B.Properties.setObjectPropertyObject obj "template" (Just val)--{- |-Construct a `GValueConstruct` with valid value for the “@template@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPadTemplate :: (IsPad o, Gst.PadTemplate.IsPadTemplate a) => a -> IO (GValueConstruct o)-constructPadTemplate val = B.Properties.constructObjectPropertyObject "template" (Just val)--{- |-Set the value of the “@template@” property to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #template-@--}-clearPadTemplate :: (MonadIO m, IsPad o) => o -> m ()-clearPadTemplate obj = liftIO $ B.Properties.setObjectPropertyObject obj "template" (Nothing :: Maybe Gst.PadTemplate.PadTemplate)--#if ENABLE_OVERLOADING-data PadTemplatePropertyInfo-instance AttrInfo PadTemplatePropertyInfo where-    type AttrAllowedOps PadTemplatePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PadTemplatePropertyInfo = Gst.PadTemplate.IsPadTemplate-    type AttrBaseTypeConstraint PadTemplatePropertyInfo = IsPad-    type AttrGetType PadTemplatePropertyInfo = (Maybe Gst.PadTemplate.PadTemplate)-    type AttrLabel PadTemplatePropertyInfo = "template"-    type AttrOrigin PadTemplatePropertyInfo = Pad-    attrGet _ = getPadTemplate-    attrSet _ = setPadTemplate-    attrConstruct _ = constructPadTemplate-    attrClear _ = clearPadTemplate-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Pad-type instance O.AttributeList Pad = PadAttributeList-type PadAttributeList = ('[ '("caps", PadCapsPropertyInfo), '("direction", PadDirectionPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("offset", PadOffsetPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("template", PadTemplatePropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-padCaps :: AttrLabelProxy "caps"-padCaps = AttrLabelProxy--padDirection :: AttrLabelProxy "direction"-padDirection = AttrLabelProxy--padOffset :: AttrLabelProxy "offset"-padOffset = AttrLabelProxy--padTemplate :: AttrLabelProxy "template"-padTemplate = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-data PadLinkedSignalInfo-instance SignalInfo PadLinkedSignalInfo where-    type HaskellCallbackType PadLinkedSignalInfo = PadLinkedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_PadLinkedCallback cb-        cb'' <- mk_PadLinkedCallback cb'-        connectSignalFunPtr obj "linked" cb'' connectMode--data PadUnlinkedSignalInfo-instance SignalInfo PadUnlinkedSignalInfo where-    type HaskellCallbackType PadUnlinkedSignalInfo = PadUnlinkedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_PadUnlinkedCallback cb-        cb'' <- mk_PadUnlinkedCallback cb'-        connectSignalFunPtr obj "unlinked" cb'' connectMode--type instance O.SignalList Pad = PadSignalList-type PadSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("linked", PadLinkedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("unlinked", PadUnlinkedSignalInfo)] :: [(Symbol, *)])--#endif---- method Pad::new--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the new pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gst", name = "PadDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadDirection of the pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_new" gst_pad_new :: -    CString ->                              -- name : TBasicType TUTF8-    CUInt ->                                -- direction : TInterface (Name {namespace = "Gst", name = "PadDirection"})-    IO (Ptr Pad)--{- |-Creates a new pad with the given name in the given direction.-If name is 'Nothing', 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.--}-padNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@name@/: the name of the new pad. -}-    -> Gst.Enums.PadDirection-    {- ^ /@direction@/: the 'GI.Gst.Enums.PadDirection' of the pad. -}-    -> m (Maybe Pad)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Pad.Pad'.--MT safe. -}-padNew name direction = liftIO $ do-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    let direction' = (fromIntegral . fromEnum) direction-    result <- gst_pad_new maybeName direction'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Pad) result'-        return result''-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Pad::new_from_static_template--- method type : Constructor--- Args : [Arg {argCName = "templ", argType = TInterface (Name {namespace = "Gst", name = "StaticPadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStaticPadTemplate to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_new_from_static_template" gst_pad_new_from_static_template :: -    Ptr Gst.StaticPadTemplate.StaticPadTemplate -> -- templ : TInterface (Name {namespace = "Gst", name = "StaticPadTemplate"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Pad)--{- |-Creates a new pad with the given name from the given static template.-If name is 'Nothing', 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.--}-padNewFromStaticTemplate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.StaticPadTemplate.StaticPadTemplate-    {- ^ /@templ@/: the 'GI.Gst.Structs.StaticPadTemplate.StaticPadTemplate' to use -}-    -> T.Text-    {- ^ /@name@/: the name of the pad -}-    -> m (Maybe Pad)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Pad.Pad'. -}-padNewFromStaticTemplate templ name = liftIO $ do-    templ' <- unsafeManagedPtrGetPtr templ-    name' <- textToCString name-    result <- gst_pad_new_from_static_template templ' name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Pad) result'-        return result''-    touchManagedPtr templ-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Pad::new_from_template--- method type : Constructor--- Args : [Arg {argCName = "templ", argType = TInterface (Name {namespace = "Gst", name = "PadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pad template to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_new_from_template" gst_pad_new_from_template :: -    Ptr Gst.PadTemplate.PadTemplate ->      -- templ : TInterface (Name {namespace = "Gst", name = "PadTemplate"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Pad)--{- |-Creates a new pad with the given name from the given template.-If name is 'Nothing', 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.--}-padNewFromTemplate ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.PadTemplate.IsPadTemplate a) =>-    a-    {- ^ /@templ@/: the pad template to use -}-    -> Maybe (T.Text)-    {- ^ /@name@/: the name of the pad -}-    -> m (Maybe Pad)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.Pad.Pad'. -}-padNewFromTemplate templ name = liftIO $ do-    templ' <- unsafeManagedPtrCastPtr templ-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    result <- gst_pad_new_from_template templ' maybeName-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Pad) result'-        return result''-    touchManagedPtr templ-    freeMem maybeName-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Pad::activate_mode--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to activate or deactivate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "PadMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested activation mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not the pad should be active.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_activate_mode" gst_pad_activate_mode :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "PadMode"})-    CInt ->                                 -- active : TBasicType TBoolean-    IO CInt--{- |-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.--}-padActivateMode ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to activate or deactivate. -}-    -> Gst.Enums.PadMode-    {- ^ /@mode@/: the requested activation mode -}-    -> Bool-    {- ^ /@active@/: whether or not the pad should be active. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the operation was successful.--MT safe. -}-padActivateMode pad mode active = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let mode' = (fromIntegral . fromEnum) mode-    let active' = (fromIntegral . fromEnum) active-    result <- gst_pad_activate_mode pad' mode' active'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadActivateModeMethodInfo-instance (signature ~ (Gst.Enums.PadMode -> Bool -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadActivateModeMethodInfo a signature where-    overloadedMethod _ = padActivateMode--#endif---- method Pad::add_probe--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to add the probe to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TInterface (Name {namespace = "Gst", name = "PadProbeType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the probe mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gst", name = "PadProbeCallback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstPadProbeCallback that will be called with notifications of\n          the pad state", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_data", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GDestroyNotify for user_data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TULong)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_add_probe" gst_pad_add_probe :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- mask : TInterface (Name {namespace = "Gst", name = "PadProbeType"})-    FunPtr Gst.Callbacks.C_PadProbeCallback -> -- callback : TInterface (Name {namespace = "Gst", name = "PadProbeCallback"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy_data : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO CULong--{- |-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 'GI.Gst.Objects.Pad.padAddProbe'.-In each of the groups, probes are called in the order in which they were-added.--}-padAddProbe ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to add the probe to -}-    -> [Gst.Flags.PadProbeType]-    {- ^ /@mask@/: the probe mask -}-    -> Gst.Callbacks.PadProbeCallback-    {- ^ /@callback@/: 'GI.Gst.Callbacks.PadProbeCallback' that will be called with notifications of-          the pad state -}-    -> m CULong-    {- ^ __Returns:__ an id or 0 if no probe is pending. The id can be used to remove the-probe with 'GI.Gst.Objects.Pad.padRemoveProbe'. 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. -}-padAddProbe pad mask callback = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let mask' = gflagsToWord mask-    callback' <- Gst.Callbacks.mk_PadProbeCallback (Gst.Callbacks.wrap_PadProbeCallback Nothing (Gst.Callbacks.drop_closures_PadProbeCallback callback))-    let userData = castFunPtrToPtr callback'-    let destroyData = safeFreeFunPtrPtr-    result <- gst_pad_add_probe pad' mask' callback' userData destroyData-    touchManagedPtr pad-    return result--#if ENABLE_OVERLOADING-data PadAddProbeMethodInfo-instance (signature ~ ([Gst.Flags.PadProbeType] -> Gst.Callbacks.PadProbeCallback -> m CULong), MonadIO m, IsPad a) => O.MethodInfo PadAddProbeMethodInfo a signature where-    overloadedMethod _ = padAddProbe--#endif---- method Pad::can_link--- method type : OrdinaryMethod--- Args : [Arg {argCName = "srcpad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sinkpad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_can_link" gst_pad_can_link :: -    Ptr Pad ->                              -- srcpad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Pad ->                              -- sinkpad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Checks if the source pad and the sink pad are compatible so they can be-linked.--}-padCanLink ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, IsPad b) =>-    a-    {- ^ /@srcpad@/: the source 'GI.Gst.Objects.Pad.Pad'. -}-    -> b-    {- ^ /@sinkpad@/: the sink 'GI.Gst.Objects.Pad.Pad'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pads can be linked. -}-padCanLink srcpad sinkpad = liftIO $ do-    srcpad' <- unsafeManagedPtrCastPtr srcpad-    sinkpad' <- unsafeManagedPtrCastPtr sinkpad-    result <- gst_pad_can_link srcpad' sinkpad'-    let result' = (/= 0) result-    touchManagedPtr srcpad-    touchManagedPtr sinkpad-    return result'--#if ENABLE_OVERLOADING-data PadCanLinkMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsPad a, IsPad b) => O.MethodInfo PadCanLinkMethodInfo a signature where-    overloadedMethod _ = padCanLink--#endif---- method Pad::chain--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a sink #GstPad, returns GST_FLOW_ERROR if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBuffer to send, return GST_FLOW_ERROR\n    if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_chain" gst_pad_chain :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Buffer.Buffer ->                -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO CInt--{- |-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.--}-padChain ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a sink 'GI.Gst.Objects.Pad.Pad', returns GST_FLOW_ERROR if not. -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: the 'GI.Gst.Structs.Buffer.Buffer' to send, return GST_FLOW_ERROR-    if not. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' from the pad.--MT safe. -}-padChain pad buffer = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    buffer' <- B.ManagedPtr.disownBoxed buffer-    result <- gst_pad_chain pad' buffer'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data PadChainMethodInfo-instance (signature ~ (Gst.Buffer.Buffer -> m Gst.Enums.FlowReturn), MonadIO m, IsPad a) => O.MethodInfo PadChainMethodInfo a signature where-    overloadedMethod _ = padChain--#endif---- method Pad::chain_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a sink #GstPad, returns GST_FLOW_ERROR if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBufferList to send, return GST_FLOW_ERROR\n    if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_chain_list" gst_pad_chain_list :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.BufferList.BufferList ->        -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    IO CInt--{- |-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.--}-padChainList ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a sink 'GI.Gst.Objects.Pad.Pad', returns GST_FLOW_ERROR if not. -}-    -> Gst.BufferList.BufferList-    {- ^ /@list@/: the 'GI.Gst.Structs.BufferList.BufferList' to send, return GST_FLOW_ERROR-    if not. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' from the pad. -}-padChainList pad list = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    list' <- B.ManagedPtr.disownBoxed list-    result <- gst_pad_chain_list pad' list'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    touchManagedPtr list-    return result'--#if ENABLE_OVERLOADING-data PadChainListMethodInfo-instance (signature ~ (Gst.BufferList.BufferList -> m Gst.Enums.FlowReturn), MonadIO m, IsPad a) => O.MethodInfo PadChainListMethodInfo a signature where-    overloadedMethod _ = padChainList--#endif---- method Pad::check_reconfigure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_check_reconfigure" gst_pad_check_reconfigure :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Check and clear the @/GST_PAD_FLAG_NEED_RECONFIGURE/@ flag on /@pad@/ and return 'True'-if the flag was set.--}-padCheckReconfigure ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' is the GST_PAD_FLAG_NEED_RECONFIGURE flag was set on /@pad@/. -}-padCheckReconfigure pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_check_reconfigure pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadCheckReconfigureMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPad a) => O.MethodInfo PadCheckReconfigureMethodInfo a signature where-    overloadedMethod _ = padCheckReconfigure--#endif---- method Pad::create_stream_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A source #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Parent #GstElement of @pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The stream-id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_create_stream_id" gst_pad_create_stream_id :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Element.Element ->              -- parent : TInterface (Name {namespace = "Gst", name = "Element"})-    CString ->                              -- stream_id : TBasicType TUTF8-    IO CString--{- |-Creates a stream-id for the source 'GI.Gst.Objects.Pad.Pad' /@pad@/ by combining the-upstream information with the optional /@streamId@/ of the stream-of /@pad@/. /@pad@/ must have a parent 'GI.Gst.Objects.Element.Element' and which must have zero-or one sinkpad. /@streamId@/ can only be 'Nothing' 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 /@streamId@/ 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.--}-padCreateStreamId ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, Gst.Element.IsElement b) =>-    a-    {- ^ /@pad@/: A source 'GI.Gst.Objects.Pad.Pad' -}-    -> b-    {- ^ /@parent@/: Parent 'GI.Gst.Objects.Element.Element' of /@pad@/ -}-    -> Maybe (T.Text)-    {- ^ /@streamId@/: The stream-id -}-    -> m T.Text-    {- ^ __Returns:__ A stream-id for /@pad@/. 'GI.GLib.Functions.free' after usage. -}-padCreateStreamId pad parent streamId = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    parent' <- unsafeManagedPtrCastPtr parent-    maybeStreamId <- case streamId of-        Nothing -> return nullPtr-        Just jStreamId -> do-            jStreamId' <- textToCString jStreamId-            return jStreamId'-    result <- gst_pad_create_stream_id pad' parent' maybeStreamId-    checkUnexpectedReturnNULL "padCreateStreamId" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr pad-    touchManagedPtr parent-    freeMem maybeStreamId-    return result'--#if ENABLE_OVERLOADING-data PadCreateStreamIdMethodInfo-instance (signature ~ (b -> Maybe (T.Text) -> m T.Text), MonadIO m, IsPad a, Gst.Element.IsElement b) => O.MethodInfo PadCreateStreamIdMethodInfo a signature where-    overloadedMethod _ = padCreateStreamId--#endif---- method Pad::event_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to call the default event handler on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstEvent to handle.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_event_default" gst_pad_event_default :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Event.Event ->                  -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO CInt--{- |-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@/.--}-padEventDefault ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, Gst.Object.IsObject b) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to call the default event handler on. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/ or 'Nothing' -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' to handle. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the event was sent successfully. -}-padEventDefault pad parent event = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    event' <- B.ManagedPtr.disownBoxed event-    result <- gst_pad_event_default pad' maybeParent event'-    let result' = (/= 0) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr event-    return result'--#if ENABLE_OVERLOADING-data PadEventDefaultMethodInfo-instance (signature ~ (Maybe (b) -> Gst.Event.Event -> m Bool), MonadIO m, IsPad a, Gst.Object.IsObject b) => O.MethodInfo PadEventDefaultMethodInfo a signature where-    overloadedMethod _ = padEventDefault--#endif---- method Pad::forward--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "forward", argType = TInterface (Name {namespace = "Gst", name = "PadForwardFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadForwardFunction", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @forward", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_forward" gst_pad_forward :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadForwardFunction -> -- forward : TInterface (Name {namespace = "Gst", name = "PadForwardFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-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.--}-padForward ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> Gst.Callbacks.PadForwardFunction-    {- ^ /@forward@/: a 'GI.Gst.Callbacks.PadForwardFunction' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if one of the dispatcher functions returned 'True'. -}-padForward pad forward = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    forward' <- Gst.Callbacks.mk_PadForwardFunction (Gst.Callbacks.wrap_PadForwardFunction Nothing (Gst.Callbacks.drop_closures_PadForwardFunction forward))-    let userData = nullPtr-    result <- gst_pad_forward pad' forward' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr forward'-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadForwardMethodInfo-instance (signature ~ (Gst.Callbacks.PadForwardFunction -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadForwardMethodInfo a signature where-    overloadedMethod _ = padForward--#endif---- method Pad::get_allowed_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_allowed_caps" gst_pad_get_allowed_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr Gst.Caps.Caps)--{- |-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 'GI.Gst.Objects.Pad.padQueryCaps' on /@pad@/ and its peer. The caller owns a reference-on the resulting caps.--}-padGetAllowedCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad'. -}-    -> m (Maybe Gst.Caps.Caps)-    {- ^ __Returns:__ the allowed 'GI.Gst.Structs.Caps.Caps' of the-    pad link. Unref the caps when you no longer need it. This-    function returns 'Nothing' when /@pad@/ has no peer.--MT safe. -}-padGetAllowedCaps pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_allowed_caps pad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data PadGetAllowedCapsMethodInfo-instance (signature ~ (m (Maybe Gst.Caps.Caps)), MonadIO m, IsPad a) => O.MethodInfo PadGetAllowedCapsMethodInfo a signature where-    overloadedMethod _ = padGetAllowedCaps--#endif---- method Pad::get_current_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a  #GstPad to get the current capabilities of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_current_caps" gst_pad_get_current_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr Gst.Caps.Caps)--{- |-Gets the capabilities currently configured on /@pad@/ with the last-@/GST_EVENT_CAPS/@ event.--}-padGetCurrentCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a  'GI.Gst.Objects.Pad.Pad' to get the current capabilities of. -}-    -> m (Maybe Gst.Caps.Caps)-    {- ^ __Returns:__ the current caps of the pad with-incremented ref-count or 'Nothing' when pad has no caps. Unref after usage. -}-padGetCurrentCaps pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_current_caps pad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data PadGetCurrentCapsMethodInfo-instance (signature ~ (m (Maybe Gst.Caps.Caps)), MonadIO m, IsPad a) => O.MethodInfo PadGetCurrentCapsMethodInfo a signature where-    overloadedMethod _ = padGetCurrentCaps--#endif---- method Pad::get_direction--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to get the direction of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadDirection"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_direction" gst_pad_get_direction :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CUInt--{- |-Gets the direction of the pad. The direction of the pad is-decided at construction time so this function does not take-the LOCK.--}-padGetDirection ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to get the direction of. -}-    -> m Gst.Enums.PadDirection-    {- ^ __Returns:__ the 'GI.Gst.Enums.PadDirection' of the pad.--MT safe. -}-padGetDirection pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_direction pad'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadGetDirectionMethodInfo-instance (signature ~ (m Gst.Enums.PadDirection), MonadIO m, IsPad a) => O.MethodInfo PadGetDirectionMethodInfo a signature where-    overloadedMethod _ = padGetDirection--#endif---- method Pad::get_element_private--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to get the private data of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_element_private" gst_pad_get_element_private :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr ())--{- |-Gets the private data of a pad.-No locking is performed in this function.--}-padGetElementPrivate ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to get the private data of. -}-    -> m (Ptr ())-    {- ^ __Returns:__ a @/gpointer/@ to the private data. -}-padGetElementPrivate pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_element_private pad'-    touchManagedPtr pad-    return result--#if ENABLE_OVERLOADING-data PadGetElementPrivateMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m, IsPad a) => O.MethodInfo PadGetElementPrivateMethodInfo a signature where-    overloadedMethod _ = padGetElementPrivate--#endif---- method Pad::get_last_flow_return--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_last_flow_return" gst_pad_get_last_flow_return :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Gets the 'GI.Gst.Enums.FlowReturn' return from the last data passed by this pad.--/Since: 1.4/--}-padGetLastFlowReturn ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' -}-    -> m Gst.Enums.FlowReturn-padGetLastFlowReturn pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_last_flow_return pad'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadGetLastFlowReturnMethodInfo-instance (signature ~ (m Gst.Enums.FlowReturn), MonadIO m, IsPad a) => O.MethodInfo PadGetLastFlowReturnMethodInfo a signature where-    overloadedMethod _ = padGetLastFlowReturn--#endif---- method Pad::get_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_offset" gst_pad_get_offset :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO Int64--{- |-Get the offset applied to the running time of /@pad@/. /@pad@/ has to be a source-pad.--}-padGetOffset ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> m Int64-    {- ^ __Returns:__ the offset. -}-padGetOffset pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_offset pad'-    touchManagedPtr pad-    return result--#if ENABLE_OVERLOADING-data PadGetOffsetMethodInfo-instance (signature ~ (m Int64), MonadIO m, IsPad a) => O.MethodInfo PadGetOffsetMethodInfo a signature where-    overloadedMethod _ = padGetOffset--#endif---- method Pad::get_pad_template--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadTemplate"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_pad_template" gst_pad_get_pad_template :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr Gst.PadTemplate.PadTemplate)--{- |-Gets the template for /@pad@/.--}-padGetPadTemplate ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad'. -}-    -> m (Maybe Gst.PadTemplate.PadTemplate)-    {- ^ __Returns:__ the 'GI.Gst.Objects.PadTemplate.PadTemplate' from which-    this pad was instantiated, or 'Nothing' if this pad has no-    template. Unref after usage. -}-padGetPadTemplate pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_pad_template pad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.PadTemplate.PadTemplate) result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data PadGetPadTemplateMethodInfo-instance (signature ~ (m (Maybe Gst.PadTemplate.PadTemplate)), MonadIO m, IsPad a) => O.MethodInfo PadGetPadTemplateMethodInfo a signature where-    overloadedMethod _ = padGetPadTemplate--#endif---- method Pad::get_pad_template_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to get the template capabilities from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_pad_template_caps" gst_pad_get_pad_template_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr Gst.Caps.Caps)--{- |-Gets the capabilities for /@pad@/\'s template.--}-padGetPadTemplateCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to get the template capabilities from. -}-    -> m Gst.Caps.Caps-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' of this pad template.-Unref after usage. -}-padGetPadTemplateCaps pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_pad_template_caps pad'-    checkUnexpectedReturnNULL "padGetPadTemplateCaps" result-    result' <- (wrapBoxed Gst.Caps.Caps) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadGetPadTemplateCapsMethodInfo-instance (signature ~ (m Gst.Caps.Caps), MonadIO m, IsPad a) => O.MethodInfo PadGetPadTemplateCapsMethodInfo a signature where-    overloadedMethod _ = padGetPadTemplateCaps--#endif---- method Pad::get_parent_element--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Element"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_parent_element" gst_pad_get_parent_element :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr Gst.Element.Element)--{- |-Gets the parent of /@pad@/, cast to a 'GI.Gst.Objects.Element.Element'. If a /@pad@/ has no parent or-its parent is not an element, return 'Nothing'.--}-padGetParentElement ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a pad -}-    -> m (Maybe Gst.Element.Element)-    {- ^ __Returns:__ the parent of the pad. The-caller has a reference on the parent, so unref when you\'re finished-with it.--MT safe. -}-padGetParentElement pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_parent_element pad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Element.Element) result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data PadGetParentElementMethodInfo-instance (signature ~ (m (Maybe Gst.Element.Element)), MonadIO m, IsPad a) => O.MethodInfo PadGetParentElementMethodInfo a signature where-    overloadedMethod _ = padGetParentElement--#endif---- method Pad::get_peer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to get the peer of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_peer" gst_pad_get_peer :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr Pad)--{- |-Gets the peer of /@pad@/. This function refs the peer pad so-you need to unref it after use.--}-padGetPeer ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to get the peer of. -}-    -> m (Maybe Pad)-    {- ^ __Returns:__ the peer 'GI.Gst.Objects.Pad.Pad'. Unref after usage.--MT safe. -}-padGetPeer pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_peer pad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Pad) result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data PadGetPeerMethodInfo-instance (signature ~ (m (Maybe Pad)), MonadIO m, IsPad a) => O.MethodInfo PadGetPeerMethodInfo a signature where-    overloadedMethod _ = padGetPeer--#endif---- method Pad::get_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a src #GstPad, returns #GST_FLOW_ERROR if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The start offset of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the #GstBuffer,\n    returns #GST_FLOW_ERROR if %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_range" gst_pad_get_range :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word32 ->                               -- size : TBasicType TUInt-    Ptr (Ptr Gst.Buffer.Buffer) ->          -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO CInt--{- |-When /@pad@/ is flushing this function returns @/GST_FLOW_FLUSHING/@-immediately and /@buffer@/ is 'Nothing'.--Calls the getrange function of /@pad@/, see 'GI.Gst.Callbacks.PadGetRangeFunction' 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 'Nothing', a valid new 'GI.Gst.Structs.Buffer.Buffer' 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 'GI.Gst.Structs.Buffer.Buffer', 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 'GI.Gst.Objects.Pad.padPullRange' is used.--}-padGetRange ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a src 'GI.Gst.Objects.Pad.Pad', returns @/GST_FLOW_ERROR/@ if not. -}-    -> Word64-    {- ^ /@offset@/: The start offset of the buffer -}-    -> Word32-    {- ^ /@size@/: The length of the buffer -}-    -> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' from the pad.--MT safe. -}-padGetRange pad offset size = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    buffer <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))-    result <- gst_pad_get_range pad' offset size buffer-    let result' = (toEnum . fromIntegral) result-    buffer' <- peek buffer-    buffer'' <- (wrapBoxed Gst.Buffer.Buffer) buffer'-    touchManagedPtr pad-    freeMem buffer-    return (result', buffer'')--#if ENABLE_OVERLOADING-data PadGetRangeMethodInfo-instance (signature ~ (Word64 -> Word32 -> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))), MonadIO m, IsPad a) => O.MethodInfo PadGetRangeMethodInfo a signature where-    overloadedMethod _ = padGetRange--#endif---- method Pad::get_sticky_event--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to get the event from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event_type", argType = TInterface (Name {namespace = "Gst", name = "EventType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstEventType that should be retrieved.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_sticky_event" gst_pad_get_sticky_event :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- event_type : TInterface (Name {namespace = "Gst", name = "EventType"})-    Word32 ->                               -- idx : TBasicType TUInt-    IO (Ptr Gst.Event.Event)--{- |-Returns a new reference of the sticky event of type /@eventType@/-from the event.--}-padGetStickyEvent ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to get the event from. -}-    -> Gst.Enums.EventType-    {- ^ /@eventType@/: the 'GI.Gst.Enums.EventType' that should be retrieved. -}-    -> Word32-    {- ^ /@idx@/: the index of the event -}-    -> m (Maybe Gst.Event.Event)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Event.Event' of type-/@eventType@/ or 'Nothing' when no event of /@eventType@/ was on-/@pad@/. Unref after usage. -}-padGetStickyEvent pad eventType idx = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let eventType' = (fromIntegral . fromEnum) eventType-    result <- gst_pad_get_sticky_event pad' eventType' idx-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Event.Event) result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data PadGetStickyEventMethodInfo-instance (signature ~ (Gst.Enums.EventType -> Word32 -> m (Maybe Gst.Event.Event)), MonadIO m, IsPad a) => O.MethodInfo PadGetStickyEventMethodInfo a signature where-    overloadedMethod _ = padGetStickyEvent--#endif---- method Pad::get_stream--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A source #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Stream"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_stream" gst_pad_get_stream :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr Gst.Stream.Stream)--{- |-Returns the current 'GI.Gst.Objects.Stream.Stream' for the /@pad@/, or 'Nothing' if none has been-set yet, i.e. the pad has not received a stream-start event yet.--This is a convenience wrapper around 'GI.Gst.Objects.Pad.padGetStickyEvent' and-'GI.Gst.Structs.Event.eventParseStream'.--/Since: 1.10/--}-padGetStream ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: A source 'GI.Gst.Objects.Pad.Pad' -}-    -> m (Maybe Gst.Stream.Stream)-    {- ^ __Returns:__ the current 'GI.Gst.Objects.Stream.Stream' for /@pad@/, or 'Nothing'.-    unref the returned stream when no longer needed. -}-padGetStream pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_stream pad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Stream.Stream) result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data PadGetStreamMethodInfo-instance (signature ~ (m (Maybe Gst.Stream.Stream)), MonadIO m, IsPad a) => O.MethodInfo PadGetStreamMethodInfo a signature where-    overloadedMethod _ = padGetStream--#endif---- method Pad::get_stream_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A source #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_stream_id" gst_pad_get_stream_id :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CString--{- |-Returns the current stream-id for the /@pad@/, or 'Nothing' if none has been-set yet, i.e. the pad has not received a stream-start event yet.--This is a convenience wrapper around 'GI.Gst.Objects.Pad.padGetStickyEvent' and-'GI.Gst.Structs.Event.eventParseStreamStart'.--The returned stream-id string should be treated as an opaque string, its-contents should not be interpreted.--/Since: 1.2/--}-padGetStreamId ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: A source 'GI.Gst.Objects.Pad.Pad' -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ a newly-allocated copy of the stream-id for-    /@pad@/, or 'Nothing'.  'GI.GLib.Functions.free' the returned string when no longer-    needed. -}-padGetStreamId pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_stream_id pad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data PadGetStreamIdMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsPad a) => O.MethodInfo PadGetStreamIdMethodInfo a signature where-    overloadedMethod _ = padGetStreamId--#endif---- method Pad::get_task_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to get task state from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TaskState"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_get_task_state" gst_pad_get_task_state :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CUInt--{- |-Get /@pad@/ task state. If no task is currently-set, @/GST_TASK_STOPPED/@ is returned.--/Since: 1.12/--}-padGetTaskState ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to get task state from -}-    -> m Gst.Enums.TaskState-    {- ^ __Returns:__ The current state of /@pad@/\'s task. -}-padGetTaskState pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_get_task_state pad'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadGetTaskStateMethodInfo-instance (signature ~ (m Gst.Enums.TaskState), MonadIO m, IsPad a) => O.MethodInfo PadGetTaskStateMethodInfo a signature where-    overloadedMethod _ = padGetTaskState--#endif---- method Pad::has_current_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a  #GstPad to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_has_current_caps" gst_pad_has_current_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Check if /@pad@/ has caps set on it with a @/GST_EVENT_CAPS/@ event.--}-padHasCurrentCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a  'GI.Gst.Objects.Pad.Pad' to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' when /@pad@/ has caps associated with it. -}-padHasCurrentCaps pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_has_current_caps pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadHasCurrentCapsMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPad a) => O.MethodInfo PadHasCurrentCapsMethodInfo a signature where-    overloadedMethod _ = padHasCurrentCaps--#endif---- method Pad::is_active--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_is_active" gst_pad_is_active :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Query if a pad is active--}-padIsActive ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to query -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad is active.--MT safe. -}-padIsActive pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_is_active pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadIsActiveMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPad a) => O.MethodInfo PadIsActiveMethodInfo a signature where-    overloadedMethod _ = padIsActive--#endif---- method Pad::is_blocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_is_blocked" gst_pad_is_blocked :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-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 'GI.Gst.Objects.Pad.padIsBlocking').--}-padIsBlocked ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to query -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad is blocked.--MT safe. -}-padIsBlocked pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_is_blocked pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadIsBlockedMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPad a) => O.MethodInfo PadIsBlockedMethodInfo a signature where-    overloadedMethod _ = padIsBlocked--#endif---- method Pad::is_blocking--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_is_blocking" gst_pad_is_blocking :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Checks if the pad is blocking or not. This is a guaranteed state-of whether the pad is actually blocking on a 'GI.Gst.Structs.Buffer.Buffer' or a 'GI.Gst.Structs.Event.Event'.--}-padIsBlocking ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to query -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad is blocking.--MT safe. -}-padIsBlocking pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_is_blocking pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadIsBlockingMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPad a) => O.MethodInfo PadIsBlockingMethodInfo a signature where-    overloadedMethod _ = padIsBlocking--#endif---- method Pad::is_linked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pad to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_is_linked" gst_pad_is_linked :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Checks if a /@pad@/ is linked to another pad or not.--}-padIsLinked ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: pad to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad is linked, 'False' otherwise.--MT safe. -}-padIsLinked pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_is_linked pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadIsLinkedMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPad a) => O.MethodInfo PadIsLinkedMethodInfo a signature where-    overloadedMethod _ = padIsLinked--#endif---- method Pad::iterate_internal_links--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the GstPad to get the internal links of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_iterate_internal_links" gst_pad_iterate_internal_links :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-Gets an iterator for the pads to which the given pad is linked to inside-of the parent element.--Each 'GI.Gst.Objects.Pad.Pad' element yielded by the iterator will have its refcount increased,-so unref after use.--Free-function: gst_iterator_free--}-padIterateInternalLinks ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the GstPad to get the internal links of. -}-    -> m (Maybe Gst.Iterator.Iterator)-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Pad.Pad'-    or 'Nothing' when the pad does not have an iterator function-    configured. Use 'GI.Gst.Structs.Iterator.iteratorFree' after usage. -}-padIterateInternalLinks pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_iterate_internal_links pad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Iterator.Iterator) result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data PadIterateInternalLinksMethodInfo-instance (signature ~ (m (Maybe Gst.Iterator.Iterator)), MonadIO m, IsPad a) => O.MethodInfo PadIterateInternalLinksMethodInfo a signature where-    overloadedMethod _ = padIterateInternalLinks--#endif---- method Pad::iterate_internal_links_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to get the internal links of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_iterate_internal_links_default" gst_pad_iterate_internal_links_default :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-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 'GI.Gst.Structs.Iterator.iteratorFree'.--}-padIterateInternalLinksDefault ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, Gst.Object.IsObject b) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to get the internal links of. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/ or 'Nothing' -}-    -> m (Maybe Gst.Iterator.Iterator)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Pad.Pad', or 'Nothing' if /@pad@/-has no parent. Unref each returned pad with 'GI.Gst.Objects.Object.objectUnref'. -}-padIterateInternalLinksDefault pad parent = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    result <- gst_pad_iterate_internal_links_default pad' maybeParent-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Iterator.Iterator) result'-        return result''-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-data PadIterateInternalLinksDefaultMethodInfo-instance (signature ~ (Maybe (b) -> m (Maybe Gst.Iterator.Iterator)), MonadIO m, IsPad a, Gst.Object.IsObject b) => O.MethodInfo PadIterateInternalLinksDefaultMethodInfo a signature where-    overloadedMethod _ = padIterateInternalLinksDefault--#endif---- method Pad::link--- method type : OrdinaryMethod--- Args : [Arg {argCName = "srcpad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GstPad to link.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sinkpad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink #GstPad to link.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadLinkReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_link" gst_pad_link :: -    Ptr Pad ->                              -- srcpad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Pad ->                              -- sinkpad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Links the source pad and the sink pad.--}-padLink ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, IsPad b) =>-    a-    {- ^ /@srcpad@/: the source 'GI.Gst.Objects.Pad.Pad' to link. -}-    -> b-    {- ^ /@sinkpad@/: the sink 'GI.Gst.Objects.Pad.Pad' to link. -}-    -> m Gst.Enums.PadLinkReturn-    {- ^ __Returns:__ A result code indicating if the connection worked or-         what went wrong.--MT Safe. -}-padLink srcpad sinkpad = liftIO $ do-    srcpad' <- unsafeManagedPtrCastPtr srcpad-    sinkpad' <- unsafeManagedPtrCastPtr sinkpad-    result <- gst_pad_link srcpad' sinkpad'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr srcpad-    touchManagedPtr sinkpad-    return result'--#if ENABLE_OVERLOADING-data PadLinkMethodInfo-instance (signature ~ (b -> m Gst.Enums.PadLinkReturn), MonadIO m, IsPad a, IsPad b) => O.MethodInfo PadLinkMethodInfo a signature where-    overloadedMethod _ = padLink--#endif---- method Pad::link_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "srcpad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GstPad to link.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sinkpad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink #GstPad to link.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "PadLinkCheck"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the checks to validate when linking", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadLinkReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_link_full" gst_pad_link_full :: -    Ptr Pad ->                              -- srcpad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Pad ->                              -- sinkpad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "PadLinkCheck"})-    IO CInt--{- |-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 'GI.Gst.Flags.PadLinkCheck'-for more information.--MT Safe.--}-padLinkFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, IsPad b) =>-    a-    {- ^ /@srcpad@/: the source 'GI.Gst.Objects.Pad.Pad' to link. -}-    -> b-    {- ^ /@sinkpad@/: the sink 'GI.Gst.Objects.Pad.Pad' to link. -}-    -> [Gst.Flags.PadLinkCheck]-    {- ^ /@flags@/: the checks to validate when linking -}-    -> m Gst.Enums.PadLinkReturn-    {- ^ __Returns:__ A result code indicating if the connection worked or-         what went wrong. -}-padLinkFull srcpad sinkpad flags = liftIO $ do-    srcpad' <- unsafeManagedPtrCastPtr srcpad-    sinkpad' <- unsafeManagedPtrCastPtr sinkpad-    let flags' = gflagsToWord flags-    result <- gst_pad_link_full srcpad' sinkpad' flags'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr srcpad-    touchManagedPtr sinkpad-    return result'--#if ENABLE_OVERLOADING-data PadLinkFullMethodInfo-instance (signature ~ (b -> [Gst.Flags.PadLinkCheck] -> m Gst.Enums.PadLinkReturn), MonadIO m, IsPad a, IsPad b) => O.MethodInfo PadLinkFullMethodInfo a signature where-    overloadedMethod _ = padLinkFull--#endif---- method Pad::link_maybe_ghosting--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sink", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_link_maybe_ghosting" gst_pad_link_maybe_ghosting :: -    Ptr Pad ->                              -- src : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Pad ->                              -- sink : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Links /@src@/ to /@sink@/, creating any 'GI.Gst.Objects.GhostPad.GhostPad'\'s in between as necessary.--This is a convenience function to save having to create and add intermediate-'GI.Gst.Objects.GhostPad.GhostPad'\'s as required for linking across 'GI.Gst.Objects.Bin.Bin' boundaries.--If /@src@/ or /@sink@/ pads don\'t have parent elements or do not share a common-ancestor, the link will fail.--/Since: 1.10/--}-padLinkMaybeGhosting ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, IsPad b) =>-    a-    {- ^ /@src@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> b-    {- ^ /@sink@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> m Bool-    {- ^ __Returns:__ whether the link succeeded. -}-padLinkMaybeGhosting src sink = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_pad_link_maybe_ghosting src' sink'-    let result' = (/= 0) result-    touchManagedPtr src-    touchManagedPtr sink-    return result'--#if ENABLE_OVERLOADING-data PadLinkMaybeGhostingMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsPad a, IsPad b) => O.MethodInfo PadLinkMaybeGhostingMethodInfo a signature where-    overloadedMethod _ = padLinkMaybeGhosting--#endif---- method Pad::link_maybe_ghosting_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sink", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "PadLinkCheck"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "some #GstPadLinkCheck flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_link_maybe_ghosting_full" gst_pad_link_maybe_ghosting_full :: -    Ptr Pad ->                              -- src : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Pad ->                              -- sink : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "PadLinkCheck"})-    IO CInt--{- |-Links /@src@/ to /@sink@/, creating any 'GI.Gst.Objects.GhostPad.GhostPad'\'s in between as necessary.--This is a convenience function to save having to create and add intermediate-'GI.Gst.Objects.GhostPad.GhostPad'\'s as required for linking across 'GI.Gst.Objects.Bin.Bin' boundaries.--If /@src@/ or /@sink@/ pads don\'t have parent elements or do not share a common-ancestor, the link will fail.--Calling 'GI.Gst.Objects.Pad.padLinkMaybeGhostingFull' with-/@flags@/ == 'GI.Gst.Flags.PadLinkCheckDefault' is the recommended way of linking-pads with safety checks applied.--/Since: 1.10/--}-padLinkMaybeGhostingFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, IsPad b) =>-    a-    {- ^ /@src@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> b-    {- ^ /@sink@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> [Gst.Flags.PadLinkCheck]-    {- ^ /@flags@/: some 'GI.Gst.Flags.PadLinkCheck' flags -}-    -> m Bool-    {- ^ __Returns:__ whether the link succeeded. -}-padLinkMaybeGhostingFull src sink flags = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    sink' <- unsafeManagedPtrCastPtr sink-    let flags' = gflagsToWord flags-    result <- gst_pad_link_maybe_ghosting_full src' sink' flags'-    let result' = (/= 0) result-    touchManagedPtr src-    touchManagedPtr sink-    return result'--#if ENABLE_OVERLOADING-data PadLinkMaybeGhostingFullMethodInfo-instance (signature ~ (b -> [Gst.Flags.PadLinkCheck] -> m Bool), MonadIO m, IsPad a, IsPad b) => O.MethodInfo PadLinkMaybeGhostingFullMethodInfo a signature where-    overloadedMethod _ = padLinkMaybeGhostingFull--#endif---- method Pad::mark_reconfigure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to mark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_mark_reconfigure" gst_pad_mark_reconfigure :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO ()--{- |-Mark a pad for needing reconfiguration. The next call to-'GI.Gst.Objects.Pad.padCheckReconfigure' will return 'True' after this call.--}-padMarkReconfigure ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to mark -}-    -> m ()-padMarkReconfigure pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    gst_pad_mark_reconfigure pad'-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadMarkReconfigureMethodInfo-instance (signature ~ (m ()), MonadIO m, IsPad a) => O.MethodInfo PadMarkReconfigureMethodInfo a signature where-    overloadedMethod _ = padMarkReconfigure--#endif---- method Pad::needs_reconfigure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_needs_reconfigure" gst_pad_needs_reconfigure :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Check the @/GST_PAD_FLAG_NEED_RECONFIGURE/@ flag on /@pad@/ and return 'True'-if the flag was set.--}-padNeedsReconfigure ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on /@pad@/. -}-padNeedsReconfigure pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_needs_reconfigure pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadNeedsReconfigureMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPad a) => O.MethodInfo PadNeedsReconfigureMethodInfo a signature where-    overloadedMethod _ = padNeedsReconfigure--#endif---- method Pad::pause_task--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to pause the task of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_pause_task" gst_pad_pause_task :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-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.--}-padPauseTask ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to pause the task of -}-    -> m Bool-    {- ^ __Returns:__ a 'True' if the task could be paused or 'False' when the pad-has no task. -}-padPauseTask pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_pause_task pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadPauseTaskMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPad a) => O.MethodInfo PadPauseTaskMethodInfo a signature where-    overloadedMethod _ = padPauseTask--#endif---- method Pad::peer_query--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to invoke the peer query on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstQuery to perform.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_peer_query" gst_pad_peer_query :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Query.Query ->                  -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO CInt--{- |-Performs 'GI.Gst.Objects.Pad.padQuery' on the peer of /@pad@/.--The caller is responsible for both the allocation and deallocation of-the query structure.--}-padPeerQuery ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to invoke the peer query on. -}-    -> Gst.Query.Query-    {- ^ /@query@/: the 'GI.Gst.Structs.Query.Query' to perform. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the query could be performed. This function returns 'False'-if /@pad@/ has no peer. -}-padPeerQuery pad query = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_pad_peer_query pad' query'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data PadPeerQueryMethodInfo-instance (signature ~ (Gst.Query.Query -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadPeerQueryMethodInfo a signature where-    overloadedMethod _ = padPeerQuery--#endif---- method Pad::peer_query_accept_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a  #GstPad to check the peer of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to check on the pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_peer_query_accept_caps" gst_pad_peer_query_accept_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Check if the peer of /@pad@/ accepts /@caps@/. If /@pad@/ has no peer, this function-returns 'True'.--}-padPeerQueryAcceptCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a  'GI.Gst.Objects.Pad.Pad' to check the peer of -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' to check on the pad -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the peer of /@pad@/ can accept the caps or /@pad@/ has no peer. -}-padPeerQueryAcceptCaps pad caps = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_pad_peer_query_accept_caps pad' caps'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data PadPeerQueryAcceptCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadPeerQueryAcceptCapsMethodInfo a signature where-    overloadedMethod _ = padPeerQueryAcceptCaps--#endif---- method Pad::peer_query_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a  #GstPad to get the capabilities of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstCaps filter, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_peer_query_caps" gst_pad_peer_query_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Caps.Caps ->                    -- filter : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Gst.Caps.Caps)--{- |-Gets the capabilities of the peer connected to this pad. Similar to-'GI.Gst.Objects.Pad.padQueryCaps'.--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 'Nothing' but-if it is not 'Nothing' the returned caps will be a subset of /@filter@/.--}-padPeerQueryCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a  'GI.Gst.Objects.Pad.Pad' to get the capabilities of. -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@filter@/: a 'GI.Gst.Structs.Caps.Caps' filter, or 'Nothing'. -}-    -> m Gst.Caps.Caps-    {- ^ __Returns:__ the caps of the peer pad with incremented-ref-count. When there is no peer pad, this function returns /@filter@/ or,-when /@filter@/ is 'Nothing', ANY caps. -}-padPeerQueryCaps pad filter = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeFilter <- case filter of-        Nothing -> return nullPtr-        Just jFilter -> do-            jFilter' <- unsafeManagedPtrGetPtr jFilter-            return jFilter'-    result <- gst_pad_peer_query_caps pad' maybeFilter-    checkUnexpectedReturnNULL "padPeerQueryCaps" result-    result' <- (wrapBoxed Gst.Caps.Caps) result-    touchManagedPtr pad-    whenJust filter touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-data PadPeerQueryCapsMethodInfo-instance (signature ~ (Maybe (Gst.Caps.Caps) -> m Gst.Caps.Caps), MonadIO m, IsPad a) => O.MethodInfo PadPeerQueryCapsMethodInfo a signature where-    overloadedMethod _ = padPeerQueryCaps--#endif---- method Pad::peer_query_convert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad, on whose peer pad to invoke the convert query on.\n      Must be a sink pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstFormat to convert from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to convert.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat to convert to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_val", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the result.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_peer_query_convert" gst_pad_peer_query_convert :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- src_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- src_val : TBasicType TInt64-    CUInt ->                                -- dest_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- dest_val : TBasicType TInt64-    IO CInt--{- |-Queries the peer pad of a given sink pad to convert /@srcVal@/ in /@srcFormat@/-to /@destFormat@/.--}-padPeerQueryConvert ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad', on whose peer pad to invoke the convert query on.-      Must be a sink pad. -}-    -> Gst.Enums.Format-    {- ^ /@srcFormat@/: a 'GI.Gst.Enums.Format' to convert from. -}-    -> Int64-    {- ^ /@srcVal@/: a value to convert. -}-    -> Gst.Enums.Format-    {- ^ /@destFormat@/: the 'GI.Gst.Enums.Format' to convert to. -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if the query could be performed. -}-padPeerQueryConvert pad srcFormat srcVal destFormat = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let srcFormat' = (fromIntegral . fromEnum) srcFormat-    let destFormat' = (fromIntegral . fromEnum) destFormat-    destVal <- allocMem :: IO (Ptr Int64)-    result <- gst_pad_peer_query_convert pad' srcFormat' srcVal destFormat' destVal-    let result' = (/= 0) result-    destVal' <- peek destVal-    touchManagedPtr pad-    freeMem destVal-    return (result', destVal')--#if ENABLE_OVERLOADING-data PadPeerQueryConvertMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsPad a) => O.MethodInfo PadPeerQueryConvertMethodInfo a signature where-    overloadedMethod _ = padPeerQueryConvert--#endif---- method Pad::peer_query_duration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad on whose peer pad to invoke the duration query on.\n      Must be a sink pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat requested", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location in which to store the total\n    duration, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_peer_query_duration" gst_pad_peer_query_duration :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- duration : TBasicType TInt64-    IO CInt--{- |-Queries the peer pad of a given sink pad for the total stream duration.--}-padPeerQueryDuration ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' on whose peer pad to invoke the duration query on.-      Must be a sink pad. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' requested -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if the query could be performed. -}-padPeerQueryDuration pad format = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let format' = (fromIntegral . fromEnum) format-    duration <- allocMem :: IO (Ptr Int64)-    result <- gst_pad_peer_query_duration pad' format' duration-    let result' = (/= 0) result-    duration' <- peek duration-    touchManagedPtr pad-    freeMem duration-    return (result', duration')--#if ENABLE_OVERLOADING-data PadPeerQueryDurationMethodInfo-instance (signature ~ (Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsPad a) => O.MethodInfo PadPeerQueryDurationMethodInfo a signature where-    overloadedMethod _ = padPeerQueryDuration--#endif---- method Pad::peer_query_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad on whose peer to invoke the position query on.\n      Must be a sink pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat requested", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cur", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location in which to store the current\n    position, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_peer_query_position" gst_pad_peer_query_position :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- cur : TBasicType TInt64-    IO CInt--{- |-Queries the peer of a given sink pad for the stream position.--}-padPeerQueryPosition ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' on whose peer to invoke the position query on.-      Must be a sink pad. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' requested -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if the query could be performed. -}-padPeerQueryPosition pad format = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let format' = (fromIntegral . fromEnum) format-    cur <- allocMem :: IO (Ptr Int64)-    result <- gst_pad_peer_query_position pad' format' cur-    let result' = (/= 0) result-    cur' <- peek cur-    touchManagedPtr pad-    freeMem cur-    return (result', cur')--#if ENABLE_OVERLOADING-data PadPeerQueryPositionMethodInfo-instance (signature ~ (Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsPad a) => O.MethodInfo PadPeerQueryPositionMethodInfo a signature where-    overloadedMethod _ = padPeerQueryPosition--#endif---- method Pad::proxy_query_accept_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to proxy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ACCEPT_CAPS #GstQuery.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_proxy_query_accept_caps" gst_pad_proxy_query_accept_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Query.Query ->                  -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO CInt--{- |-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.--}-padProxyQueryAcceptCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to proxy. -}-    -> Gst.Query.Query-    {- ^ /@query@/: an ACCEPT_CAPS 'GI.Gst.Structs.Query.Query'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@query@/ could be executed -}-padProxyQueryAcceptCaps pad query = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_pad_proxy_query_accept_caps pad' query'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data PadProxyQueryAcceptCapsMethodInfo-instance (signature ~ (Gst.Query.Query -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadProxyQueryAcceptCapsMethodInfo a signature where-    overloadedMethod _ = padProxyQueryAcceptCaps--#endif---- method Pad::proxy_query_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to proxy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a CAPS #GstQuery.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_proxy_query_caps" gst_pad_proxy_query_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Query.Query ->                  -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO CInt--{- |-Calls 'GI.Gst.Objects.Pad.padQueryCaps' 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.--}-padProxyQueryCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to proxy. -}-    -> Gst.Query.Query-    {- ^ /@query@/: a CAPS 'GI.Gst.Structs.Query.Query'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@query@/ could be executed -}-padProxyQueryCaps pad query = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_pad_proxy_query_caps pad' query'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data PadProxyQueryCapsMethodInfo-instance (signature ~ (Gst.Query.Query -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadProxyQueryCapsMethodInfo a signature where-    overloadedMethod _ = padProxyQueryCaps--#endif---- method Pad::pull_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a sink #GstPad, returns GST_FLOW_ERROR if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The start offset of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the #GstBuffer, returns\n    GST_FLOW_ERROR if %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_pull_range" gst_pad_pull_range :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word32 ->                               -- size : TBasicType TUInt-    Ptr (Ptr Gst.Buffer.Buffer) ->          -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO CInt--{- |-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 'GI.Gst.Objects.Pad.padGetRange' on the peer pad.-See 'GI.Gst.Objects.Pad.padGetRange' for a list of return values and for the-semantics of the arguments of this function.--If /@buffer@/ points to a variable holding 'Nothing', a valid new 'GI.Gst.Structs.Buffer.Buffer' 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 'Nothing'.--When /@buffer@/ points to a variable that points to a valid 'GI.Gst.Structs.Buffer.Buffer', 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.--}-padPullRange ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a sink 'GI.Gst.Objects.Pad.Pad', returns GST_FLOW_ERROR if not. -}-    -> Word64-    {- ^ /@offset@/: The start offset of the buffer -}-    -> Word32-    {- ^ /@size@/: The length of the buffer -}-    -> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' from the peer pad.--MT safe. -}-padPullRange pad offset size = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    buffer <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))-    result <- gst_pad_pull_range pad' offset size buffer-    let result' = (toEnum . fromIntegral) result-    buffer' <- peek buffer-    buffer'' <- (wrapBoxed Gst.Buffer.Buffer) buffer'-    touchManagedPtr pad-    freeMem buffer-    return (result', buffer'')--#if ENABLE_OVERLOADING-data PadPullRangeMethodInfo-instance (signature ~ (Word64 -> Word32 -> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))), MonadIO m, IsPad a) => O.MethodInfo PadPullRangeMethodInfo a signature where-    overloadedMethod _ = padPullRange--#endif---- method Pad::push--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a source #GstPad, returns #GST_FLOW_ERROR if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBuffer to push returns GST_FLOW_ERROR\n    if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_push" gst_pad_push :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Buffer.Buffer ->                -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO CInt--{- |-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 'GI.Gst.Objects.Pad.padChain' 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.--}-padPush ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a source 'GI.Gst.Objects.Pad.Pad', returns @/GST_FLOW_ERROR/@ if not. -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: the 'GI.Gst.Structs.Buffer.Buffer' to push returns GST_FLOW_ERROR-    if not. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' from the peer pad.--MT safe. -}-padPush pad buffer = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    buffer' <- B.ManagedPtr.disownBoxed buffer-    result <- gst_pad_push pad' buffer'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data PadPushMethodInfo-instance (signature ~ (Gst.Buffer.Buffer -> m Gst.Enums.FlowReturn), MonadIO m, IsPad a) => O.MethodInfo PadPushMethodInfo a signature where-    overloadedMethod _ = padPush--#endif---- method Pad::push_event--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to push the event to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstEvent to send to the pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_push_event" gst_pad_push_event :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Event.Event ->                  -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO CInt--{- |-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.--}-padPushEvent ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to push the event to. -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' to send to the pad. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the event was handled.--MT safe. -}-padPushEvent pad event = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    event' <- B.ManagedPtr.disownBoxed event-    result <- gst_pad_push_event pad' event'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr event-    return result'--#if ENABLE_OVERLOADING-data PadPushEventMethodInfo-instance (signature ~ (Gst.Event.Event -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadPushEventMethodInfo a signature where-    overloadedMethod _ = padPushEvent--#endif---- method Pad::push_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a source #GstPad, returns #GST_FLOW_ERROR if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBufferList to push returns GST_FLOW_ERROR\n    if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_push_list" gst_pad_push_list :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.BufferList.BufferList ->        -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    IO CInt--{- |-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 'GI.Gst.Structs.Buffer.Buffer' and-chained via 'GI.Gst.Objects.Pad.padChain'.--In all cases, success or failure, the caller loses its reference to /@list@/-after calling this function.--}-padPushList ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a source 'GI.Gst.Objects.Pad.Pad', returns @/GST_FLOW_ERROR/@ if not. -}-    -> Gst.BufferList.BufferList-    {- ^ /@list@/: the 'GI.Gst.Structs.BufferList.BufferList' to push returns GST_FLOW_ERROR-    if not. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' from the peer pad.--MT safe. -}-padPushList pad list = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    list' <- B.ManagedPtr.disownBoxed list-    result <- gst_pad_push_list pad' list'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    touchManagedPtr list-    return result'--#if ENABLE_OVERLOADING-data PadPushListMethodInfo-instance (signature ~ (Gst.BufferList.BufferList -> m Gst.Enums.FlowReturn), MonadIO m, IsPad a) => O.MethodInfo PadPushListMethodInfo a signature where-    overloadedMethod _ = padPushList--#endif---- method Pad::query--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to invoke the default query on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstQuery to perform.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_query" gst_pad_query :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Query.Query ->                  -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO CInt--{- |-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.--}-padQuery ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to invoke the default query on. -}-    -> Gst.Query.Query-    {- ^ /@query@/: the 'GI.Gst.Structs.Query.Query' to perform. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the query could be performed. -}-padQuery pad query = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_pad_query pad' query'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data PadQueryMethodInfo-instance (signature ~ (Gst.Query.Query -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadQueryMethodInfo a signature where-    overloadedMethod _ = padQuery--#endif---- method Pad::query_accept_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to check on the pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_query_accept_caps" gst_pad_query_accept_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Check if the given pad accepts the caps.--}-padQueryAcceptCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to check -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' to check on the pad -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad can accept the caps. -}-padQueryAcceptCaps pad caps = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_pad_query_accept_caps pad' caps'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data PadQueryAcceptCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadQueryAcceptCapsMethodInfo a signature where-    overloadedMethod _ = padQueryAcceptCaps--#endif---- method Pad::query_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a  #GstPad to get the capabilities of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "suggested #GstCaps, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_query_caps" gst_pad_query_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Caps.Caps ->                    -- filter : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Gst.Caps.Caps)--{- |-Gets the capabilities this pad can produce or consume.-Note that this method doesn\'t necessarily return the caps set by sending a-'GI.Gst.Structs.Event.eventNewCaps' - use 'GI.Gst.Objects.Pad.padGetCurrentCaps' 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 'Nothing', 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 'Nothing' but-if it is not 'Nothing' the returned caps will be a subset of /@filter@/.--Note that this function does not return writable 'GI.Gst.Structs.Caps.Caps', use-@/gst_caps_make_writable()/@ before modifying the caps.--}-padQueryCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a  'GI.Gst.Objects.Pad.Pad' to get the capabilities of. -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@filter@/: suggested 'GI.Gst.Structs.Caps.Caps', or 'Nothing' -}-    -> m Gst.Caps.Caps-    {- ^ __Returns:__ the caps of the pad with incremented ref-count. -}-padQueryCaps pad filter = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeFilter <- case filter of-        Nothing -> return nullPtr-        Just jFilter -> do-            jFilter' <- unsafeManagedPtrGetPtr jFilter-            return jFilter'-    result <- gst_pad_query_caps pad' maybeFilter-    checkUnexpectedReturnNULL "padQueryCaps" result-    result' <- (wrapBoxed Gst.Caps.Caps) result-    touchManagedPtr pad-    whenJust filter touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-data PadQueryCapsMethodInfo-instance (signature ~ (Maybe (Gst.Caps.Caps) -> m Gst.Caps.Caps), MonadIO m, IsPad a) => O.MethodInfo PadQueryCapsMethodInfo a signature where-    overloadedMethod _ = padQueryCaps--#endif---- method Pad::query_convert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to invoke the convert query on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstFormat to convert from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to convert.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat to convert to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_val", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the result.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_query_convert" gst_pad_query_convert :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- src_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- src_val : TBasicType TInt64-    CUInt ->                                -- dest_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- dest_val : TBasicType TInt64-    IO CInt--{- |-Queries a pad to convert /@srcVal@/ in /@srcFormat@/ to /@destFormat@/.--}-padQueryConvert ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to invoke the convert query on. -}-    -> Gst.Enums.Format-    {- ^ /@srcFormat@/: a 'GI.Gst.Enums.Format' to convert from. -}-    -> Int64-    {- ^ /@srcVal@/: a value to convert. -}-    -> Gst.Enums.Format-    {- ^ /@destFormat@/: the 'GI.Gst.Enums.Format' to convert to. -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if the query could be performed. -}-padQueryConvert pad srcFormat srcVal destFormat = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let srcFormat' = (fromIntegral . fromEnum) srcFormat-    let destFormat' = (fromIntegral . fromEnum) destFormat-    destVal <- allocMem :: IO (Ptr Int64)-    result <- gst_pad_query_convert pad' srcFormat' srcVal destFormat' destVal-    let result' = (/= 0) result-    destVal' <- peek destVal-    touchManagedPtr pad-    freeMem destVal-    return (result', destVal')--#if ENABLE_OVERLOADING-data PadQueryConvertMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsPad a) => O.MethodInfo PadQueryConvertMethodInfo a signature where-    overloadedMethod _ = padQueryConvert--#endif---- method Pad::query_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to call the default query handler on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstQuery to handle.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_query_default" gst_pad_query_default :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Query.Query ->                  -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO CInt--{- |-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.--}-padQueryDefault ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, Gst.Object.IsObject b) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to call the default query handler on. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/ or 'Nothing' -}-    -> Gst.Query.Query-    {- ^ /@query@/: the 'GI.Gst.Structs.Query.Query' to handle. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the query was performed successfully. -}-padQueryDefault pad parent query = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_pad_query_default pad' maybeParent query'-    let result' = (/= 0) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data PadQueryDefaultMethodInfo-instance (signature ~ (Maybe (b) -> Gst.Query.Query -> m Bool), MonadIO m, IsPad a, Gst.Object.IsObject b) => O.MethodInfo PadQueryDefaultMethodInfo a signature where-    overloadedMethod _ = padQueryDefault--#endif---- method Pad::query_duration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to invoke the duration query on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat requested", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location in which to store the total\n    duration, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_query_duration" gst_pad_query_duration :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- duration : TBasicType TInt64-    IO CInt--{- |-Queries a pad for the total stream duration.--}-padQueryDuration ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to invoke the duration query on. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' requested -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if the query could be performed. -}-padQueryDuration pad format = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let format' = (fromIntegral . fromEnum) format-    duration <- allocMem :: IO (Ptr Int64)-    result <- gst_pad_query_duration pad' format' duration-    let result' = (/= 0) result-    duration' <- peek duration-    touchManagedPtr pad-    freeMem duration-    return (result', duration')--#if ENABLE_OVERLOADING-data PadQueryDurationMethodInfo-instance (signature ~ (Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsPad a) => O.MethodInfo PadQueryDurationMethodInfo a signature where-    overloadedMethod _ = padQueryDuration--#endif---- method Pad::query_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to invoke the position query on.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat requested", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cur", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location in which to store the current position, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_query_position" gst_pad_query_position :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- cur : TBasicType TInt64-    IO CInt--{- |-Queries a pad for the stream position.--}-padQueryPosition ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to invoke the position query on. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' requested -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if the query could be performed. -}-padQueryPosition pad format = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let format' = (fromIntegral . fromEnum) format-    cur <- allocMem :: IO (Ptr Int64)-    result <- gst_pad_query_position pad' format' cur-    let result' = (/= 0) result-    cur' <- peek cur-    touchManagedPtr pad-    freeMem cur-    return (result', cur')--#if ENABLE_OVERLOADING-data PadQueryPositionMethodInfo-instance (signature ~ (Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsPad a) => O.MethodInfo PadQueryPositionMethodInfo a signature where-    overloadedMethod _ = padQueryPosition--#endif---- method Pad::remove_probe--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad with the probe", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the probe id to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_remove_probe" gst_pad_remove_probe :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CULong ->                               -- id : TBasicType TULong-    IO ()--{- |-Remove the probe with /@id@/ from /@pad@/.--MT safe.--}-padRemoveProbe ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' with the probe -}-    -> CULong-    {- ^ /@id@/: the probe id to remove -}-    -> m ()-padRemoveProbe pad id = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    gst_pad_remove_probe pad' id-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadRemoveProbeMethodInfo-instance (signature ~ (CULong -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadRemoveProbeMethodInfo a signature where-    overloadedMethod _ = padRemoveProbe--#endif---- method Pad::send_event--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad to send the event to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstEvent to send to the pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_send_event" gst_pad_send_event :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Event.Event ->                  -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO CInt--{- |-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 'GI.Gst.Flags.EventTypeFlags', 'GI.Gst.Functions.eventTypeGetFlags',-@/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.--}-padSendEvent ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' to send the event to. -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' to send to the pad. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the event was handled. -}-padSendEvent pad event = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    event' <- B.ManagedPtr.disownBoxed event-    result <- gst_pad_send_event pad' event'-    let result' = (/= 0) result-    touchManagedPtr pad-    touchManagedPtr event-    return result'--#if ENABLE_OVERLOADING-data PadSendEventMethodInfo-instance (signature ~ (Gst.Event.Event -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadSendEventMethodInfo a signature where-    overloadedMethod _ = padSendEvent--#endif---- method Pad::set_activate_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "activate", argType = TInterface (Name {namespace = "Gst", name = "PadActivateFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadActivateFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @activate will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_activate_function_full" gst_pad_set_activate_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadActivateFunction -> -- activate : TInterface (Name {namespace = "Gst", name = "PadActivateFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the given activate function for /@pad@/. The activate function will-dispatch to 'GI.Gst.Objects.Pad.padActivateMode' 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.--}-padSetActivateFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad'. -}-    -> Gst.Callbacks.PadActivateFunction-    {- ^ /@activate@/: the 'GI.Gst.Callbacks.PadActivateFunction' to set. -}-    -> m ()-padSetActivateFunctionFull pad activate = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    activate' <- Gst.Callbacks.mk_PadActivateFunction (Gst.Callbacks.wrap_PadActivateFunction Nothing activate)-    let userData = castFunPtrToPtr activate'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_activate_function_full pad' activate' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetActivateFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadActivateFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetActivateFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetActivateFunctionFull--#endif---- method Pad::set_activatemode_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "activatemode", argType = TInterface (Name {namespace = "Gst", name = "PadActivateModeFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadActivateModeFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @activatemode will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_activatemode_function_full" gst_pad_set_activatemode_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadActivateModeFunction -> -- activatemode : TInterface (Name {namespace = "Gst", name = "PadActivateModeFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the given activate_mode function for the pad. An activate_mode function-prepares the element for data passing.--}-padSetActivatemodeFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad'. -}-    -> Gst.Callbacks.PadActivateModeFunction-    {- ^ /@activatemode@/: the 'GI.Gst.Callbacks.PadActivateModeFunction' to set. -}-    -> m ()-padSetActivatemodeFunctionFull pad activatemode = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    activatemode' <- Gst.Callbacks.mk_PadActivateModeFunction (Gst.Callbacks.wrap_PadActivateModeFunction Nothing activatemode)-    let userData = castFunPtrToPtr activatemode'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_activatemode_function_full pad' activatemode' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetActivatemodeFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadActivateModeFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetActivatemodeFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetActivatemodeFunctionFull--#endif---- method Pad::set_active--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to activate or deactivate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not the pad should be active.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_active" gst_pad_set_active :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CInt ->                                 -- active : TBasicType TBoolean-    IO CInt--{- |-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 'GI.Gst.Objects.Pad.padActivateMode' with the pad\'s current mode-and a 'False' argument.--}-padSetActive ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to activate or deactivate. -}-    -> Bool-    {- ^ /@active@/: whether or not the pad should be active. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the operation was successful.--MT safe. -}-padSetActive pad active = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    let active' = (fromIntegral . fromEnum) active-    result <- gst_pad_set_active pad' active'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadSetActiveMethodInfo-instance (signature ~ (Bool -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadSetActiveMethodInfo a signature where-    overloadedMethod _ = padSetActive--#endif---- method Pad::set_chain_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a sink #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chain", argType = TInterface (Name {namespace = "Gst", name = "PadChainFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadChainFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @chain will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_chain_function_full" gst_pad_set_chain_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadChainFunction -> -- chain : TInterface (Name {namespace = "Gst", name = "PadChainFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the given chain function for the pad. The chain function is called to-process a 'GI.Gst.Structs.Buffer.Buffer' input buffer. see 'GI.Gst.Callbacks.PadChainFunction' for more details.--}-padSetChainFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a sink 'GI.Gst.Objects.Pad.Pad'. -}-    -> Gst.Callbacks.PadChainFunction-    {- ^ /@chain@/: the 'GI.Gst.Callbacks.PadChainFunction' to set. -}-    -> m ()-padSetChainFunctionFull pad chain = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    chain' <- Gst.Callbacks.mk_PadChainFunction (Gst.Callbacks.wrap_PadChainFunction Nothing chain)-    let userData = castFunPtrToPtr chain'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_chain_function_full pad' chain' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetChainFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadChainFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetChainFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetChainFunctionFull--#endif---- method Pad::set_chain_list_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a sink #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "chainlist", argType = TInterface (Name {namespace = "Gst", name = "PadChainListFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadChainListFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @chainlist will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_chain_list_function_full" gst_pad_set_chain_list_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadChainListFunction -> -- chainlist : TInterface (Name {namespace = "Gst", name = "PadChainListFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the given chain list function for the pad. The chainlist function is-called to process a 'GI.Gst.Structs.BufferList.BufferList' input buffer list. See-'GI.Gst.Callbacks.PadChainListFunction' for more details.--}-padSetChainListFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a sink 'GI.Gst.Objects.Pad.Pad'. -}-    -> Gst.Callbacks.PadChainListFunction-    {- ^ /@chainlist@/: the 'GI.Gst.Callbacks.PadChainListFunction' to set. -}-    -> m ()-padSetChainListFunctionFull pad chainlist = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    chainlist' <- Gst.Callbacks.mk_PadChainListFunction (Gst.Callbacks.wrap_PadChainListFunction Nothing chainlist)-    let userData = castFunPtrToPtr chainlist'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_chain_list_function_full pad' chainlist' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetChainListFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadChainListFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetChainListFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetChainListFunctionFull--#endif---- method Pad::set_element_private--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to set the private data of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priv", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The private data to attach to the pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_element_private" gst_pad_set_element_private :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr () ->                               -- priv : TBasicType TPtr-    IO ()--{- |-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.--}-padSetElementPrivate ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to set the private data of. -}-    -> Ptr ()-    {- ^ /@priv@/: The private data to attach to the pad. -}-    -> m ()-padSetElementPrivate pad priv = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    gst_pad_set_element_private pad' priv-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetElementPrivateMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetElementPrivateMethodInfo a signature where-    overloadedMethod _ = padSetElementPrivate--#endif---- method Pad::set_event_full_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad of either direction.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "PadEventFullFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadEventFullFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @event will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_event_full_function_full" gst_pad_set_event_full_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadEventFullFunction -> -- event : TInterface (Name {namespace = "Gst", name = "PadEventFullFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the given event handler for the pad.--/Since: 1.8/--}-padSetEventFullFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' of either direction. -}-    -> Gst.Callbacks.PadEventFullFunction-    {- ^ /@event@/: the 'GI.Gst.Callbacks.PadEventFullFunction' to set. -}-    -> m ()-padSetEventFullFunctionFull pad event = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    event' <- Gst.Callbacks.mk_PadEventFullFunction (Gst.Callbacks.wrap_PadEventFullFunction Nothing event)-    let userData = castFunPtrToPtr event'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_event_full_function_full pad' event' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetEventFullFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadEventFullFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetEventFullFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetEventFullFunctionFull--#endif---- method Pad::set_event_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad of either direction.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "PadEventFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadEventFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @event will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_event_function_full" gst_pad_set_event_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadEventFunction -> -- event : TInterface (Name {namespace = "Gst", name = "PadEventFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the given event handler for the pad.--}-padSetEventFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' of either direction. -}-    -> Gst.Callbacks.PadEventFunction-    {- ^ /@event@/: the 'GI.Gst.Callbacks.PadEventFunction' to set. -}-    -> m ()-padSetEventFunctionFull pad event = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    event' <- Gst.Callbacks.mk_PadEventFunction (Gst.Callbacks.wrap_PadEventFunction Nothing event)-    let userData = castFunPtrToPtr event'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_event_function_full pad' event' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetEventFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadEventFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetEventFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetEventFunctionFull--#endif---- method Pad::set_getrange_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a source #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "get", argType = TInterface (Name {namespace = "Gst", name = "PadGetRangeFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadGetRangeFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @get will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_getrange_function_full" gst_pad_set_getrange_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadGetRangeFunction -> -- get : TInterface (Name {namespace = "Gst", name = "PadGetRangeFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the given getrange function for the pad. The getrange function is-called to produce a new 'GI.Gst.Structs.Buffer.Buffer' to start the processing pipeline. see-'GI.Gst.Callbacks.PadGetRangeFunction' for a description of the getrange function.--}-padSetGetrangeFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a source 'GI.Gst.Objects.Pad.Pad'. -}-    -> Gst.Callbacks.PadGetRangeFunction-    {- ^ /@get@/: the 'GI.Gst.Callbacks.PadGetRangeFunction' to set. -}-    -> m ()-padSetGetrangeFunctionFull pad get = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    get' <- Gst.Callbacks.mk_PadGetRangeFunction (Gst.Callbacks.wrap_PadGetRangeFunction Nothing get)-    let userData = castFunPtrToPtr get'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_getrange_function_full pad' get' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetGetrangeFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadGetRangeFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetGetrangeFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetGetrangeFunctionFull--#endif---- method Pad::set_iterate_internal_links_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad of either direction.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iterintlink", argType = TInterface (Name {namespace = "Gst", name = "PadIterIntLinkFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadIterIntLinkFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @iterintlink will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_iterate_internal_links_function_full" gst_pad_set_iterate_internal_links_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadIterIntLinkFunction -> -- iterintlink : TInterface (Name {namespace = "Gst", name = "PadIterIntLinkFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the given internal link iterator function for the pad.--}-padSetIterateInternalLinksFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' of either direction. -}-    -> Gst.Callbacks.PadIterIntLinkFunction-    {- ^ /@iterintlink@/: the 'GI.Gst.Callbacks.PadIterIntLinkFunction' to set. -}-    -> m ()-padSetIterateInternalLinksFunctionFull pad iterintlink = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    iterintlink' <- Gst.Callbacks.mk_PadIterIntLinkFunction (Gst.Callbacks.wrap_PadIterIntLinkFunction Nothing iterintlink)-    let userData = castFunPtrToPtr iterintlink'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_iterate_internal_links_function_full pad' iterintlink' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetIterateInternalLinksFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadIterIntLinkFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetIterateInternalLinksFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetIterateInternalLinksFunctionFull--#endif---- method Pad::set_link_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "link", argType = TInterface (Name {namespace = "Gst", name = "PadLinkFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadLinkFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @link will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_link_function_full" gst_pad_set_link_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadLinkFunction -> -- link : TInterface (Name {namespace = "Gst", name = "PadLinkFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-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 'GI.Gst.Callbacks.PadLinkFunction'-of the peer sink pad, if present.--}-padSetLinkFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad'. -}-    -> Gst.Callbacks.PadLinkFunction-    {- ^ /@link@/: the 'GI.Gst.Callbacks.PadLinkFunction' to set. -}-    -> m ()-padSetLinkFunctionFull pad link = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    link' <- Gst.Callbacks.mk_PadLinkFunction (Gst.Callbacks.wrap_PadLinkFunction Nothing link)-    let userData = castFunPtrToPtr link'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_link_function_full pad' link' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetLinkFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadLinkFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetLinkFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetLinkFunctionFull--#endif---- method Pad::set_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_offset" gst_pad_set_offset :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Int64 ->                                -- offset : TBasicType TInt64-    IO ()--{- |-Set the offset that will be applied to the running time of /@pad@/.--}-padSetOffset ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> Int64-    {- ^ /@offset@/: the offset -}-    -> m ()-padSetOffset pad offset = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    gst_pad_set_offset pad' offset-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetOffsetMethodInfo-instance (signature ~ (Int64 -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetOffsetMethodInfo a signature where-    overloadedMethod _ = padSetOffset--#endif---- method Pad::set_query_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad of either direction.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "PadQueryFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadQueryFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @query will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_query_function_full" gst_pad_set_query_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadQueryFunction -> -- query : TInterface (Name {namespace = "Gst", name = "PadQueryFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Set the given query function for the pad.--}-padSetQueryFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' of either direction. -}-    -> Gst.Callbacks.PadQueryFunction-    {- ^ /@query@/: the 'GI.Gst.Callbacks.PadQueryFunction' to set. -}-    -> m ()-padSetQueryFunctionFull pad query = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    query' <- Gst.Callbacks.mk_PadQueryFunction (Gst.Callbacks.wrap_PadQueryFunction Nothing query)-    let userData = castFunPtrToPtr query'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_query_function_full pad' query' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetQueryFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadQueryFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetQueryFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetQueryFunctionFull--#endif---- method Pad::set_unlink_function_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unlink", argType = TInterface (Name {namespace = "Gst", name = "PadUnlinkFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadUnlinkFunction to set.", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data passed to @notify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notify called when @unlink will not be used anymore.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_set_unlink_function_full" gst_pad_set_unlink_function_full :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadUnlinkFunction -> -- unlink : TInterface (Name {namespace = "Gst", name = "PadUnlinkFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-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.--}-padSetUnlinkFunctionFull ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad'. -}-    -> Gst.Callbacks.PadUnlinkFunction-    {- ^ /@unlink@/: the 'GI.Gst.Callbacks.PadUnlinkFunction' to set. -}-    -> m ()-padSetUnlinkFunctionFull pad unlink = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    unlink' <- Gst.Callbacks.mk_PadUnlinkFunction (Gst.Callbacks.wrap_PadUnlinkFunction Nothing unlink)-    let userData = castFunPtrToPtr unlink'-    let notify = safeFreeFunPtrPtr-    gst_pad_set_unlink_function_full pad' unlink' userData notify-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadSetUnlinkFunctionFullMethodInfo-instance (signature ~ (Gst.Callbacks.PadUnlinkFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadSetUnlinkFunctionFullMethodInfo a signature where-    overloadedMethod _ = padSetUnlinkFunctionFull--#endif---- method Pad::start_task--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to start the task of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "TaskFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the task function to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the task function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "called when @user_data is no longer referenced", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_start_task" gst_pad_start_task :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_TaskFunction ->  -- func : TInterface (Name {namespace = "Gst", name = "TaskFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO CInt--{- |-Starts a task that repeatedly calls /@func@/ with /@userData@/. 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.--}-padStartTask ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to start the task of -}-    -> Gst.Callbacks.TaskFunction-    {- ^ /@func@/: the task function to call -}-    -> m Bool-    {- ^ __Returns:__ a 'True' if the task could be started. -}-padStartTask pad func = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    func' <- Gst.Callbacks.mk_TaskFunction (Gst.Callbacks.wrap_TaskFunction Nothing (Gst.Callbacks.drop_closures_TaskFunction func))-    let userData = castFunPtrToPtr func'-    let notify = safeFreeFunPtrPtr-    result <- gst_pad_start_task pad' func' userData notify-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadStartTaskMethodInfo-instance (signature ~ (Gst.Callbacks.TaskFunction -> m Bool), MonadIO m, IsPad a) => O.MethodInfo PadStartTaskMethodInfo a signature where-    overloadedMethod _ = padStartTask--#endif---- method Pad::sticky_events_foreach--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that should be used for iteration.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "foreach_func", argType = TInterface (Name {namespace = "Gst", name = "PadStickyEventsForeachFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadStickyEventsForeachFunction that\n               should be called for every event.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the optional user data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_sticky_events_foreach" gst_pad_sticky_events_foreach :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    FunPtr Gst.Callbacks.C_PadStickyEventsForeachFunction -> -- foreach_func : TInterface (Name {namespace = "Gst", name = "PadStickyEventsForeachFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Iterates all sticky events on /@pad@/ and calls /@foreachFunc@/ for every-event. If /@foreachFunc@/ returns 'False' the iteration is immediately stopped.--}-padStickyEventsForeach ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that should be used for iteration. -}-    -> Gst.Callbacks.PadStickyEventsForeachFunction-    {- ^ /@foreachFunc@/: the 'GI.Gst.Callbacks.PadStickyEventsForeachFunction' that-               should be called for every event. -}-    -> m ()-padStickyEventsForeach pad foreachFunc = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    foreachFunc' <- Gst.Callbacks.mk_PadStickyEventsForeachFunction (Gst.Callbacks.wrap_PadStickyEventsForeachFunction Nothing (Gst.Callbacks.drop_closures_PadStickyEventsForeachFunction foreachFunc))-    let userData = nullPtr-    gst_pad_sticky_events_foreach pad' foreachFunc' userData-    safeFreeFunPtr $ castFunPtrToPtr foreachFunc'-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadStickyEventsForeachMethodInfo-instance (signature ~ (Gst.Callbacks.PadStickyEventsForeachFunction -> m ()), MonadIO m, IsPad a) => O.MethodInfo PadStickyEventsForeachMethodInfo a signature where-    overloadedMethod _ = padStickyEventsForeach--#endif---- method Pad::stop_task--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to stop the task of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_stop_task" gst_pad_stop_task :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-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 'GI.Gst.Objects.Task.taskPause' 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.--}-padStopTask ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to stop the task of -}-    -> m Bool-    {- ^ __Returns:__ a 'True' if the task could be stopped or 'False' on error. -}-padStopTask pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_pad_stop_task pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data PadStopTaskMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPad a) => O.MethodInfo PadStopTaskMethodInfo a signature where-    overloadedMethod _ = padStopTask--#endif---- method Pad::store_sticky_event--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEvent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_store_sticky_event" gst_pad_store_sticky_event :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Event.Event ->                  -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO CInt--{- |-Store the sticky /@event@/ on /@pad@/--/Since: 1.2/--}-padStoreStickyEvent ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: a 'GI.Gst.Objects.Pad.Pad' -}-    -> Gst.Event.Event-    {- ^ /@event@/: a 'GI.Gst.Structs.Event.Event' -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ @/GST_FLOW_OK/@ on success, @/GST_FLOW_FLUSHING/@ when the pad-was flushing or @/GST_FLOW_EOS/@ when the pad was EOS. -}-padStoreStickyEvent pad event = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    event' <- unsafeManagedPtrGetPtr event-    result <- gst_pad_store_sticky_event pad' event'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    touchManagedPtr event-    return result'--#if ENABLE_OVERLOADING-data PadStoreStickyEventMethodInfo-instance (signature ~ (Gst.Event.Event -> m Gst.Enums.FlowReturn), MonadIO m, IsPad a) => O.MethodInfo PadStoreStickyEventMethodInfo a signature where-    overloadedMethod _ = padStoreStickyEvent--#endif---- method Pad::unlink--- method type : OrdinaryMethod--- Args : [Arg {argCName = "srcpad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GstPad to unlink.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sinkpad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink #GstPad to unlink.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_unlink" gst_pad_unlink :: -    Ptr Pad ->                              -- srcpad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Pad ->                              -- sinkpad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Unlinks the source pad from the sink pad. Will emit the 'GI.Gst.Objects.Pad.Pad'::@/unlinked/@-signal on both pads.--}-padUnlink ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a, IsPad b) =>-    a-    {- ^ /@srcpad@/: the source 'GI.Gst.Objects.Pad.Pad' to unlink. -}-    -> b-    {- ^ /@sinkpad@/: the sink 'GI.Gst.Objects.Pad.Pad' to unlink. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pads were unlinked. This function returns 'False' if-the pads were not linked together.--MT safe. -}-padUnlink srcpad sinkpad = liftIO $ do-    srcpad' <- unsafeManagedPtrCastPtr srcpad-    sinkpad' <- unsafeManagedPtrCastPtr sinkpad-    result <- gst_pad_unlink srcpad' sinkpad'-    let result' = (/= 0) result-    touchManagedPtr srcpad-    touchManagedPtr sinkpad-    return result'--#if ENABLE_OVERLOADING-data PadUnlinkMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsPad a, IsPad b) => O.MethodInfo PadUnlinkMethodInfo a signature where-    overloadedMethod _ = padUnlink--#endif---- method Pad::use_fixed_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pad to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_use_fixed_caps" gst_pad_use_fixed_caps :: -    Ptr Pad ->                              -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO ()--{- |-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.--}-padUseFixedCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPad a) =>-    a-    {- ^ /@pad@/: the pad to use -}-    -> m ()-padUseFixedCaps pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    gst_pad_use_fixed_caps pad'-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadUseFixedCapsMethodInfo-instance (signature ~ (m ()), MonadIO m, IsPad a) => O.MethodInfo PadUseFixedCapsMethodInfo a signature where-    overloadedMethod _ = padUseFixedCaps--#endif---- method Pad::link_get_name--- method type : MemberFunction--- Args : [Arg {argCName = "ret", argType = TInterface (Name {namespace = "Gst", name = "PadLinkReturn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadLinkReturn to get the name of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_pad_link_get_name" gst_pad_link_get_name :: -    CInt ->                                 -- ret : TInterface (Name {namespace = "Gst", name = "PadLinkReturn"})-    IO CString--{- |-Gets a string representing the given pad-link return.--/Since: 1.4/--}-padLinkGetName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.PadLinkReturn-    {- ^ /@ret@/: a 'GI.Gst.Enums.PadLinkReturn' to get the name of. -}-    -> m T.Text-    {- ^ __Returns:__ a static string with the name of the pad-link return. -}-padLinkGetName ret = liftIO $ do-    let ret' = (fromIntegral . fromEnum) ret-    result <- gst_pad_link_get_name ret'-    checkUnexpectedReturnNULL "padLinkGetName" result-    result' <- cstringToText result-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/Pad.hs-boot
@@ -1,284 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Pad where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Pad = Pad (ManagedPtr Pad)-instance GObject Pad where-class (GObject o, O.IsDescendantOf Pad o) => IsPad o-instance (GObject o, O.IsDescendantOf Pad o) => IsPad o-instance O.HasParentTypes Pad-#if ENABLE_OVERLOADING-data PadCapsPropertyInfo-#endif-#if ENABLE_OVERLOADING-data PadDirectionPropertyInfo-#endif-#if ENABLE_OVERLOADING-data PadOffsetPropertyInfo-#endif-#if ENABLE_OVERLOADING-data PadTemplatePropertyInfo-#endif-#if ENABLE_OVERLOADING-data PadLinkedSignalInfo-#endif-#if ENABLE_OVERLOADING-data PadUnlinkedSignalInfo-#endif-#if ENABLE_OVERLOADING-data PadActivateModeMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadAddProbeMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadCanLinkMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadChainMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadChainListMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadCheckReconfigureMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadCreateStreamIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadEventDefaultMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadForwardMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetAllowedCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetCurrentCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetDirectionMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetElementPrivateMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetLastFlowReturnMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetPadTemplateMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetPadTemplateCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetParentElementMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetPeerMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetStickyEventMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetStreamMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetStreamIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadGetTaskStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadHasCurrentCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadIsActiveMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadIsBlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadIsBlockingMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadIsLinkedMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadIterateInternalLinksMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadIterateInternalLinksDefaultMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadLinkMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadLinkFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadLinkMaybeGhostingMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadLinkMaybeGhostingFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadMarkReconfigureMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadNeedsReconfigureMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPauseTaskMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPeerQueryMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPeerQueryAcceptCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPeerQueryCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPeerQueryConvertMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPeerQueryDurationMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPeerQueryPositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadProxyQueryAcceptCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadProxyQueryCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPullRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPushMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPushEventMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadPushListMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadQueryMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadQueryAcceptCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadQueryCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadQueryConvertMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadQueryDefaultMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadQueryDurationMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadQueryPositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadRemoveProbeMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSendEventMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetActivateFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetActivatemodeFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetActiveMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetChainFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetChainListFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetElementPrivateMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetEventFullFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetEventFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetGetrangeFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetIterateInternalLinksFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetLinkFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetQueryFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadSetUnlinkFunctionFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadStartTaskMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadStickyEventsForeachMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadStopTaskMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadStoreStickyEventMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadUnlinkMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadUseFixedCapsMethodInfo-#endif
− GI/Gst/Objects/PadTemplate.hs
@@ -1,826 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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 'GI.Gst.Structs.Caps.Caps' attached to it to describe the media type-they are capable of dealing with. 'GI.Gst.Objects.PadTemplate.padTemplateGetCaps' 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 'GI.Gst.Enums.PadPresence' 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 'GI.Gst.Objects.PadTemplate.PadTemplate' 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 'GI.Gst.Objects.Element.elementGetRequestPad'-call to instantiate a pad from this template.--Padtemplates can be created with 'GI.Gst.Objects.PadTemplate.padTemplateNew' or with-gst_static_pad_template_get (), which creates a 'GI.Gst.Objects.PadTemplate.PadTemplate' from a-'GI.Gst.Structs.StaticPadTemplate.StaticPadTemplate' that can be filled with the-convenient @/GST_STATIC_PAD_TEMPLATE()/@ macro.--A padtemplate can be used to create a pad (see 'GI.Gst.Objects.Pad.padNewFromTemplate'-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.--=== /C code/->->  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;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:--=== /C code/->->  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;my_template);->  }---}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.PadTemplate-    ( ---- * Exported types-    PadTemplate(..)                         ,-    IsPadTemplate                           ,-    toPadTemplate                           ,-    noPadTemplate                           ,--- -- * Methods--- ** getCaps #method:getCaps#--#if ENABLE_OVERLOADING-    PadTemplateGetCapsMethodInfo            ,-#endif-    padTemplateGetCaps                      ,----- ** new #method:new#--    padTemplateNew                          ,----- ** newFromStaticPadTemplateWithGtype #method:newFromStaticPadTemplateWithGtype#--    padTemplateNewFromStaticPadTemplateWithGtype,----- ** newWithGtype #method:newWithGtype#--    padTemplateNewWithGtype                 ,----- ** padCreated #method:padCreated#--#if ENABLE_OVERLOADING-    PadTemplatePadCreatedMethodInfo         ,-#endif-    padTemplatePadCreated                   ,----- -- * Properties--- ** caps #attr:caps#-{- | The capabilities of the pad described by the pad template.--}-#if ENABLE_OVERLOADING-    PadTemplateCapsPropertyInfo             ,-#endif-    constructPadTemplateCaps                ,-    getPadTemplateCaps                      ,-#if ENABLE_OVERLOADING-    padTemplateCaps                         ,-#endif----- ** direction #attr:direction#-{- | The direction of the pad described by the pad template.--}-#if ENABLE_OVERLOADING-    PadTemplateDirectionPropertyInfo        ,-#endif-    constructPadTemplateDirection           ,-    getPadTemplateDirection                 ,-#if ENABLE_OVERLOADING-    padTemplateDirection                    ,-#endif----- ** gtype #attr:gtype#-{- | The type of the pad described by the pad template.--/Since: 1.14/--}-#if ENABLE_OVERLOADING-    PadTemplateGtypePropertyInfo            ,-#endif-    constructPadTemplateGtype               ,-    getPadTemplateGtype                     ,-#if ENABLE_OVERLOADING-    padTemplateGtype                        ,-#endif----- ** nameTemplate #attr:nameTemplate#-{- | The name template of the pad template.--}-#if ENABLE_OVERLOADING-    PadTemplateNameTemplatePropertyInfo     ,-#endif-    constructPadTemplateNameTemplate        ,-    getPadTemplateNameTemplate              ,-#if ENABLE_OVERLOADING-    padTemplateNameTemplate                 ,-#endif----- ** presence #attr:presence#-{- | When the pad described by the pad template will become available.--}-#if ENABLE_OVERLOADING-    PadTemplatePresencePropertyInfo         ,-#endif-    constructPadTemplatePresence            ,-    getPadTemplatePresence                  ,-#if ENABLE_OVERLOADING-    padTemplatePresence                     ,-#endif----- -- * Signals--- ** padCreated #signal:padCreated#--    C_PadTemplatePadCreatedCallback         ,-    PadTemplatePadCreatedCallback           ,-#if ENABLE_OVERLOADING-    PadTemplatePadCreatedSignalInfo         ,-#endif-    afterPadTemplatePadCreated              ,-    genClosure_PadTemplatePadCreated        ,-    mk_PadTemplatePadCreatedCallback        ,-    noPadTemplatePadCreatedCallback         ,-    onPadTemplatePadCreated                 ,-    wrap_PadTemplatePadCreatedCallback      ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Pad as Gst.Pad-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.StaticPadTemplate as Gst.StaticPadTemplate---- | Memory-managed wrapper type.-newtype PadTemplate = PadTemplate (ManagedPtr PadTemplate)-foreign import ccall "gst_pad_template_get_type"-    c_gst_pad_template_get_type :: IO GType--instance GObject PadTemplate where-    gobjectType = c_gst_pad_template_get_type-    ---- | Type class for types which can be safely cast to `PadTemplate`, for instance with `toPadTemplate`.-class (GObject o, O.IsDescendantOf PadTemplate o) => IsPadTemplate o-instance (GObject o, O.IsDescendantOf PadTemplate o) => IsPadTemplate o--instance O.HasParentTypes PadTemplate-type instance O.ParentTypes PadTemplate = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `PadTemplate`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toPadTemplate :: (MonadIO m, IsPadTemplate o) => o -> m PadTemplate-toPadTemplate = liftIO . unsafeCastTo PadTemplate---- | A convenience alias for `Nothing` :: `Maybe` `PadTemplate`.-noPadTemplate :: Maybe PadTemplate-noPadTemplate = Nothing--#if ENABLE_OVERLOADING-type family ResolvePadTemplateMethod (t :: Symbol) (o :: *) :: * where-    ResolvePadTemplateMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolvePadTemplateMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolvePadTemplateMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolvePadTemplateMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolvePadTemplateMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolvePadTemplateMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolvePadTemplateMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolvePadTemplateMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolvePadTemplateMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolvePadTemplateMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolvePadTemplateMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolvePadTemplateMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolvePadTemplateMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolvePadTemplateMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolvePadTemplateMethod "padCreated" o = PadTemplatePadCreatedMethodInfo-    ResolvePadTemplateMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolvePadTemplateMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolvePadTemplateMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolvePadTemplateMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolvePadTemplateMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolvePadTemplateMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolvePadTemplateMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolvePadTemplateMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolvePadTemplateMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolvePadTemplateMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolvePadTemplateMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolvePadTemplateMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolvePadTemplateMethod "getCaps" o = PadTemplateGetCapsMethodInfo-    ResolvePadTemplateMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolvePadTemplateMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolvePadTemplateMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolvePadTemplateMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolvePadTemplateMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolvePadTemplateMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolvePadTemplateMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolvePadTemplateMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolvePadTemplateMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolvePadTemplateMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolvePadTemplateMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolvePadTemplateMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolvePadTemplateMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolvePadTemplateMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolvePadTemplateMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolvePadTemplateMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolvePadTemplateMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolvePadTemplateMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePadTemplateMethod t PadTemplate, O.MethodInfo info PadTemplate p) => OL.IsLabel t (PadTemplate -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal PadTemplate::pad-created-{- |-This signal is fired when an element creates a pad from this template.--}-type PadTemplatePadCreatedCallback =-    Gst.Pad.Pad-    {- ^ /@pad@/: the pad that was created. -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `PadTemplatePadCreatedCallback`@.-noPadTemplatePadCreatedCallback :: Maybe PadTemplatePadCreatedCallback-noPadTemplatePadCreatedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_PadTemplatePadCreatedCallback =-    Ptr () ->                               -- object-    Ptr Gst.Pad.Pad ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_PadTemplatePadCreatedCallback`.-foreign import ccall "wrapper"-    mk_PadTemplatePadCreatedCallback :: C_PadTemplatePadCreatedCallback -> IO (FunPtr C_PadTemplatePadCreatedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_PadTemplatePadCreated :: MonadIO m => PadTemplatePadCreatedCallback -> m (GClosure C_PadTemplatePadCreatedCallback)-genClosure_PadTemplatePadCreated cb = liftIO $ do-    let cb' = wrap_PadTemplatePadCreatedCallback cb-    mk_PadTemplatePadCreatedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `PadTemplatePadCreatedCallback` into a `C_PadTemplatePadCreatedCallback`.-wrap_PadTemplatePadCreatedCallback ::-    PadTemplatePadCreatedCallback ->-    C_PadTemplatePadCreatedCallback-wrap_PadTemplatePadCreatedCallback _cb _ pad _ = do-    pad' <- (newObject Gst.Pad.Pad) pad-    _cb  pad'---{- |-Connect a signal handler for the “@pad-created@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' padTemplate #padCreated callback-@--}-onPadTemplatePadCreated :: (IsPadTemplate a, MonadIO m) => a -> PadTemplatePadCreatedCallback -> m SignalHandlerId-onPadTemplatePadCreated obj cb = liftIO $ do-    let cb' = wrap_PadTemplatePadCreatedCallback cb-    cb'' <- mk_PadTemplatePadCreatedCallback cb'-    connectSignalFunPtr obj "pad-created" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@pad-created@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' padTemplate #padCreated callback-@--}-afterPadTemplatePadCreated :: (IsPadTemplate a, MonadIO m) => a -> PadTemplatePadCreatedCallback -> m SignalHandlerId-afterPadTemplatePadCreated obj cb = liftIO $ do-    let cb' = wrap_PadTemplatePadCreatedCallback cb-    cb'' <- mk_PadTemplatePadCreatedCallback cb'-    connectSignalFunPtr obj "pad-created" cb'' SignalConnectAfter----- VVV Prop "caps"-   -- Type: TInterface (Name {namespace = "Gst", name = "Caps"})-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@caps@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padTemplate #caps-@--}-getPadTemplateCaps :: (MonadIO m, IsPadTemplate o) => o -> m (Maybe Gst.Caps.Caps)-getPadTemplateCaps obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "caps" Gst.Caps.Caps--{- |-Construct a `GValueConstruct` with valid value for the “@caps@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPadTemplateCaps :: (IsPadTemplate o) => Gst.Caps.Caps -> IO (GValueConstruct o)-constructPadTemplateCaps val = B.Properties.constructObjectPropertyBoxed "caps" (Just val)--#if ENABLE_OVERLOADING-data PadTemplateCapsPropertyInfo-instance AttrInfo PadTemplateCapsPropertyInfo where-    type AttrAllowedOps PadTemplateCapsPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PadTemplateCapsPropertyInfo = (~) Gst.Caps.Caps-    type AttrBaseTypeConstraint PadTemplateCapsPropertyInfo = IsPadTemplate-    type AttrGetType PadTemplateCapsPropertyInfo = (Maybe Gst.Caps.Caps)-    type AttrLabel PadTemplateCapsPropertyInfo = "caps"-    type AttrOrigin PadTemplateCapsPropertyInfo = PadTemplate-    attrGet _ = getPadTemplateCaps-    attrSet _ = undefined-    attrConstruct _ = constructPadTemplateCaps-    attrClear _ = undefined-#endif---- VVV Prop "direction"-   -- Type: TInterface (Name {namespace = "Gst", name = "PadDirection"})-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@direction@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padTemplate #direction-@--}-getPadTemplateDirection :: (MonadIO m, IsPadTemplate o) => o -> m Gst.Enums.PadDirection-getPadTemplateDirection obj = liftIO $ B.Properties.getObjectPropertyEnum obj "direction"--{- |-Construct a `GValueConstruct` with valid value for the “@direction@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPadTemplateDirection :: (IsPadTemplate o) => Gst.Enums.PadDirection -> IO (GValueConstruct o)-constructPadTemplateDirection val = B.Properties.constructObjectPropertyEnum "direction" val--#if ENABLE_OVERLOADING-data PadTemplateDirectionPropertyInfo-instance AttrInfo PadTemplateDirectionPropertyInfo where-    type AttrAllowedOps PadTemplateDirectionPropertyInfo = '[ 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint PadTemplateDirectionPropertyInfo = (~) Gst.Enums.PadDirection-    type AttrBaseTypeConstraint PadTemplateDirectionPropertyInfo = IsPadTemplate-    type AttrGetType PadTemplateDirectionPropertyInfo = Gst.Enums.PadDirection-    type AttrLabel PadTemplateDirectionPropertyInfo = "direction"-    type AttrOrigin PadTemplateDirectionPropertyInfo = PadTemplate-    attrGet _ = getPadTemplateDirection-    attrSet _ = undefined-    attrConstruct _ = constructPadTemplateDirection-    attrClear _ = undefined-#endif---- VVV Prop "gtype"-   -- Type: TBasicType TGType-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@gtype@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padTemplate #gtype-@--}-getPadTemplateGtype :: (MonadIO m, IsPadTemplate o) => o -> m GType-getPadTemplateGtype obj = liftIO $ B.Properties.getObjectPropertyGType obj "gtype"--{- |-Construct a `GValueConstruct` with valid value for the “@gtype@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPadTemplateGtype :: (IsPadTemplate o) => GType -> IO (GValueConstruct o)-constructPadTemplateGtype val = B.Properties.constructObjectPropertyGType "gtype" val--#if ENABLE_OVERLOADING-data PadTemplateGtypePropertyInfo-instance AttrInfo PadTemplateGtypePropertyInfo where-    type AttrAllowedOps PadTemplateGtypePropertyInfo = '[ 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint PadTemplateGtypePropertyInfo = (~) GType-    type AttrBaseTypeConstraint PadTemplateGtypePropertyInfo = IsPadTemplate-    type AttrGetType PadTemplateGtypePropertyInfo = GType-    type AttrLabel PadTemplateGtypePropertyInfo = "gtype"-    type AttrOrigin PadTemplateGtypePropertyInfo = PadTemplate-    attrGet _ = getPadTemplateGtype-    attrSet _ = undefined-    attrConstruct _ = constructPadTemplateGtype-    attrClear _ = undefined-#endif---- VVV Prop "name-template"-   -- Type: TBasicType TUTF8-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@name-template@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padTemplate #nameTemplate-@--}-getPadTemplateNameTemplate :: (MonadIO m, IsPadTemplate o) => o -> m (Maybe T.Text)-getPadTemplateNameTemplate obj = liftIO $ B.Properties.getObjectPropertyString obj "name-template"--{- |-Construct a `GValueConstruct` with valid value for the “@name-template@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPadTemplateNameTemplate :: (IsPadTemplate o) => T.Text -> IO (GValueConstruct o)-constructPadTemplateNameTemplate val = B.Properties.constructObjectPropertyString "name-template" (Just val)--#if ENABLE_OVERLOADING-data PadTemplateNameTemplatePropertyInfo-instance AttrInfo PadTemplateNameTemplatePropertyInfo where-    type AttrAllowedOps PadTemplateNameTemplatePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PadTemplateNameTemplatePropertyInfo = (~) T.Text-    type AttrBaseTypeConstraint PadTemplateNameTemplatePropertyInfo = IsPadTemplate-    type AttrGetType PadTemplateNameTemplatePropertyInfo = (Maybe T.Text)-    type AttrLabel PadTemplateNameTemplatePropertyInfo = "name-template"-    type AttrOrigin PadTemplateNameTemplatePropertyInfo = PadTemplate-    attrGet _ = getPadTemplateNameTemplate-    attrSet _ = undefined-    attrConstruct _ = constructPadTemplateNameTemplate-    attrClear _ = undefined-#endif---- VVV Prop "presence"-   -- Type: TInterface (Name {namespace = "Gst", name = "PadPresence"})-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@presence@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padTemplate #presence-@--}-getPadTemplatePresence :: (MonadIO m, IsPadTemplate o) => o -> m Gst.Enums.PadPresence-getPadTemplatePresence obj = liftIO $ B.Properties.getObjectPropertyEnum obj "presence"--{- |-Construct a `GValueConstruct` with valid value for the “@presence@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPadTemplatePresence :: (IsPadTemplate o) => Gst.Enums.PadPresence -> IO (GValueConstruct o)-constructPadTemplatePresence val = B.Properties.constructObjectPropertyEnum "presence" val--#if ENABLE_OVERLOADING-data PadTemplatePresencePropertyInfo-instance AttrInfo PadTemplatePresencePropertyInfo where-    type AttrAllowedOps PadTemplatePresencePropertyInfo = '[ 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint PadTemplatePresencePropertyInfo = (~) Gst.Enums.PadPresence-    type AttrBaseTypeConstraint PadTemplatePresencePropertyInfo = IsPadTemplate-    type AttrGetType PadTemplatePresencePropertyInfo = Gst.Enums.PadPresence-    type AttrLabel PadTemplatePresencePropertyInfo = "presence"-    type AttrOrigin PadTemplatePresencePropertyInfo = PadTemplate-    attrGet _ = getPadTemplatePresence-    attrSet _ = undefined-    attrConstruct _ = constructPadTemplatePresence-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList PadTemplate-type instance O.AttributeList PadTemplate = PadTemplateAttributeList-type PadTemplateAttributeList = ('[ '("caps", PadTemplateCapsPropertyInfo), '("direction", PadTemplateDirectionPropertyInfo), '("gtype", PadTemplateGtypePropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("nameTemplate", PadTemplateNameTemplatePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("presence", PadTemplatePresencePropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-padTemplateCaps :: AttrLabelProxy "caps"-padTemplateCaps = AttrLabelProxy--padTemplateDirection :: AttrLabelProxy "direction"-padTemplateDirection = AttrLabelProxy--padTemplateGtype :: AttrLabelProxy "gtype"-padTemplateGtype = AttrLabelProxy--padTemplateNameTemplate :: AttrLabelProxy "nameTemplate"-padTemplateNameTemplate = AttrLabelProxy--padTemplatePresence :: AttrLabelProxy "presence"-padTemplatePresence = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-data PadTemplatePadCreatedSignalInfo-instance SignalInfo PadTemplatePadCreatedSignalInfo where-    type HaskellCallbackType PadTemplatePadCreatedSignalInfo = PadTemplatePadCreatedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_PadTemplatePadCreatedCallback cb-        cb'' <- mk_PadTemplatePadCreatedCallback cb'-        connectSignalFunPtr obj "pad-created" cb'' connectMode--type instance O.SignalList PadTemplate = PadTemplateSignalList-type PadTemplateSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padCreated", PadTemplatePadCreatedSignalInfo)] :: [(Symbol, *)])--#endif---- method PadTemplate::new--- method type : Constructor--- Args : [Arg {argCName = "name_template", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name template.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gst", name = "PadDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadDirection of the template.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "presence", argType = TInterface (Name {namespace = "Gst", name = "PadPresence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadPresence of the pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps set for the template.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadTemplate"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_template_new" gst_pad_template_new :: -    CString ->                              -- name_template : TBasicType TUTF8-    CUInt ->                                -- direction : TInterface (Name {namespace = "Gst", name = "PadDirection"})-    CUInt ->                                -- presence : TInterface (Name {namespace = "Gst", name = "PadPresence"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr PadTemplate)--{- |-Creates a new pad template with a name according to the given template-and with the given arguments.--}-padTemplateNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@nameTemplate@/: the name template. -}-    -> Gst.Enums.PadDirection-    {- ^ /@direction@/: the 'GI.Gst.Enums.PadDirection' of the template. -}-    -> Gst.Enums.PadPresence-    {- ^ /@presence@/: the 'GI.Gst.Enums.PadPresence' of the pad. -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' set for the template. -}-    -> m (Maybe PadTemplate)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.PadTemplate.PadTemplate'. -}-padTemplateNew nameTemplate direction presence caps = liftIO $ do-    nameTemplate' <- textToCString nameTemplate-    let direction' = (fromIntegral . fromEnum) direction-    let presence' = (fromIntegral . fromEnum) presence-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_pad_template_new nameTemplate' direction' presence' caps'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject PadTemplate) result'-        return result''-    touchManagedPtr caps-    freeMem nameTemplate'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method PadTemplate::new_from_static_pad_template_with_gtype--- method type : Constructor--- Args : [Arg {argCName = "pad_template", argType = TInterface (Name {namespace = "Gst", name = "StaticPadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the static pad template", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GType of the pad to create", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadTemplate"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_template_new_from_static_pad_template_with_gtype" gst_pad_template_new_from_static_pad_template_with_gtype :: -    Ptr Gst.StaticPadTemplate.StaticPadTemplate -> -- pad_template : TInterface (Name {namespace = "Gst", name = "StaticPadTemplate"})-    CGType ->                               -- pad_type : TBasicType TGType-    IO (Ptr PadTemplate)--{- |-Converts a 'GI.Gst.Structs.StaticPadTemplate.StaticPadTemplate' into a 'GI.Gst.Objects.PadTemplate.PadTemplate' with a type.--/Since: 1.14/--}-padTemplateNewFromStaticPadTemplateWithGtype ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.StaticPadTemplate.StaticPadTemplate-    {- ^ /@padTemplate@/: the static pad template -}-    -> GType-    {- ^ /@padType@/: The 'GType' of the pad to create -}-    -> m (Maybe PadTemplate)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.PadTemplate.PadTemplate'. -}-padTemplateNewFromStaticPadTemplateWithGtype padTemplate padType = liftIO $ do-    padTemplate' <- unsafeManagedPtrGetPtr padTemplate-    let padType' = gtypeToCGType padType-    result <- gst_pad_template_new_from_static_pad_template_with_gtype padTemplate' padType'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject PadTemplate) result'-        return result''-    touchManagedPtr padTemplate-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method PadTemplate::new_with_gtype--- method type : Constructor--- Args : [Arg {argCName = "name_template", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name template.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "direction", argType = TInterface (Name {namespace = "Gst", name = "PadDirection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadDirection of the template.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "presence", argType = TInterface (Name {namespace = "Gst", name = "PadPresence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPadPresence of the pad.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps set for the template.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GType of the pad to create", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadTemplate"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_template_new_with_gtype" gst_pad_template_new_with_gtype :: -    CString ->                              -- name_template : TBasicType TUTF8-    CUInt ->                                -- direction : TInterface (Name {namespace = "Gst", name = "PadDirection"})-    CUInt ->                                -- presence : TInterface (Name {namespace = "Gst", name = "PadPresence"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    CGType ->                               -- pad_type : TBasicType TGType-    IO (Ptr PadTemplate)--{- |-Creates a new pad template with a name according to the given template-and with the given arguments.--/Since: 1.14/--}-padTemplateNewWithGtype ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@nameTemplate@/: the name template. -}-    -> Gst.Enums.PadDirection-    {- ^ /@direction@/: the 'GI.Gst.Enums.PadDirection' of the template. -}-    -> Gst.Enums.PadPresence-    {- ^ /@presence@/: the 'GI.Gst.Enums.PadPresence' of the pad. -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' set for the template. -}-    -> GType-    {- ^ /@padType@/: The 'GType' of the pad to create -}-    -> m (Maybe PadTemplate)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.PadTemplate.PadTemplate'. -}-padTemplateNewWithGtype nameTemplate direction presence caps padType = liftIO $ do-    nameTemplate' <- textToCString nameTemplate-    let direction' = (fromIntegral . fromEnum) direction-    let presence' = (fromIntegral . fromEnum) presence-    caps' <- unsafeManagedPtrGetPtr caps-    let padType' = gtypeToCGType padType-    result <- gst_pad_template_new_with_gtype nameTemplate' direction' presence' caps' padType'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject PadTemplate) result'-        return result''-    touchManagedPtr caps-    freeMem nameTemplate'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method PadTemplate::get_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "templ", argType = TInterface (Name {namespace = "Gst", name = "PadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadTemplate to get capabilities of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_template_get_caps" gst_pad_template_get_caps :: -    Ptr PadTemplate ->                      -- templ : TInterface (Name {namespace = "Gst", name = "PadTemplate"})-    IO (Ptr Gst.Caps.Caps)--{- |-Gets the capabilities of the pad template.--}-padTemplateGetCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsPadTemplate a) =>-    a-    {- ^ /@templ@/: a 'GI.Gst.Objects.PadTemplate.PadTemplate' to get capabilities of. -}-    -> m Gst.Caps.Caps-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' of the pad template.-Unref after usage. -}-padTemplateGetCaps templ = liftIO $ do-    templ' <- unsafeManagedPtrCastPtr templ-    result <- gst_pad_template_get_caps templ'-    checkUnexpectedReturnNULL "padTemplateGetCaps" result-    result' <- (wrapBoxed Gst.Caps.Caps) result-    touchManagedPtr templ-    return result'--#if ENABLE_OVERLOADING-data PadTemplateGetCapsMethodInfo-instance (signature ~ (m Gst.Caps.Caps), MonadIO m, IsPadTemplate a) => O.MethodInfo PadTemplateGetCapsMethodInfo a signature where-    overloadedMethod _ = padTemplateGetCaps--#endif---- method PadTemplate::pad_created--- method type : OrdinaryMethod--- Args : [Arg {argCName = "templ", argType = TInterface (Name {namespace = "Gst", name = "PadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadTemplate that has been created", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that created it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pad_template_pad_created" gst_pad_template_pad_created :: -    Ptr PadTemplate ->                      -- templ : TInterface (Name {namespace = "Gst", name = "PadTemplate"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO ()--{- |-Emit the pad-created signal for this template when created by this pad.--}-padTemplatePadCreated ::-    (B.CallStack.HasCallStack, MonadIO m, IsPadTemplate a, Gst.Pad.IsPad b) =>-    a-    {- ^ /@templ@/: a 'GI.Gst.Objects.PadTemplate.PadTemplate' that has been created -}-    -> b-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that created it -}-    -> m ()-padTemplatePadCreated templ pad = liftIO $ do-    templ' <- unsafeManagedPtrCastPtr templ-    pad' <- unsafeManagedPtrCastPtr pad-    gst_pad_template_pad_created templ' pad'-    touchManagedPtr templ-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data PadTemplatePadCreatedMethodInfo-instance (signature ~ (b -> m ()), MonadIO m, IsPadTemplate a, Gst.Pad.IsPad b) => O.MethodInfo PadTemplatePadCreatedMethodInfo a signature where-    overloadedMethod _ = padTemplatePadCreated--#endif--
− GI/Gst/Objects/PadTemplate.hs-boot
@@ -1,53 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.PadTemplate where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype PadTemplate = PadTemplate (ManagedPtr PadTemplate)-instance GObject PadTemplate where-class (GObject o, O.IsDescendantOf PadTemplate o) => IsPadTemplate o-instance (GObject o, O.IsDescendantOf PadTemplate o) => IsPadTemplate o-instance O.HasParentTypes PadTemplate-#if ENABLE_OVERLOADING-data PadTemplateCapsPropertyInfo-#endif-#if ENABLE_OVERLOADING-data PadTemplateDirectionPropertyInfo-#endif-#if ENABLE_OVERLOADING-data PadTemplateGtypePropertyInfo-#endif-#if ENABLE_OVERLOADING-data PadTemplateNameTemplatePropertyInfo-#endif-#if ENABLE_OVERLOADING-data PadTemplatePresencePropertyInfo-#endif-#if ENABLE_OVERLOADING-data PadTemplatePadCreatedSignalInfo-#endif-#if ENABLE_OVERLOADING-data PadTemplateGetCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadTemplatePadCreatedMethodInfo-#endif
− GI/Gst/Objects/ParamArray.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.ParamArray () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "ParamArray" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/ParamFraction.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.ParamFraction () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "ParamFraction" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/Pipeline.hs
@@ -1,1038 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A 'GI.Gst.Objects.Pipeline.Pipeline' is a special 'GI.Gst.Objects.Bin.Bin' used as the toplevel container for-the filter graph. The 'GI.Gst.Objects.Pipeline.Pipeline' will manage the selection and-distribution of a global 'GI.Gst.Objects.Clock.Clock' as well as provide a 'GI.Gst.Objects.Bus.Bus' to the-application.--'GI.Gst.Objects.Pipeline.pipelineNew' is used to create a pipeline. when you are done with-the pipeline, use 'GI.Gst.Objects.Object.objectUnref' to free its resources including all-added 'GI.Gst.Objects.Element.Element' objects (if not otherwise referenced).--Elements are added and removed from the pipeline using the 'GI.Gst.Objects.Bin.Bin'-methods like 'GI.Gst.Objects.Bin.binAdd' and 'GI.Gst.Objects.Bin.binRemove' (see 'GI.Gst.Objects.Bin.Bin').--Before changing the state of the 'GI.Gst.Objects.Pipeline.Pipeline' (see 'GI.Gst.Objects.Element.Element') a 'GI.Gst.Objects.Bus.Bus'-can be retrieved with 'GI.Gst.Objects.Pipeline.pipelineGetBus'. This bus can then be-used to receive 'GI.Gst.Structs.Message.Message' from the elements in the pipeline.--By default, a 'GI.Gst.Objects.Pipeline.Pipeline' will automatically flush the pending 'GI.Gst.Objects.Bus.Bus'-messages when going to the NULL state to ensure that no circular-references exist when no messages are read from the 'GI.Gst.Objects.Bus.Bus'. This-behaviour can be changed with 'GI.Gst.Objects.Pipeline.pipelineSetAutoFlushBus'.--When the 'GI.Gst.Objects.Pipeline.Pipeline' 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 'GI.Gst.Objects.Element.elementSetState' 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 'GI.Gst.Objects.SystemClock.SystemClock' is used.--The clock selection can be controlled with the 'GI.Gst.Objects.Pipeline.pipelineUseClock'-method, which will enforce a given clock on the pipeline. With-'GI.Gst.Objects.Pipeline.pipelineAutoClock' the default clock selection algorithm can be-restored.--A 'GI.Gst.Objects.Pipeline.Pipeline' 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-'GI.Gst.Objects.Element.elementSetStartTime' method.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Pipeline-    ( ---- * Exported types-    Pipeline(..)                            ,-    IsPipeline                              ,-    toPipeline                              ,-    noPipeline                              ,--- -- * Methods--- ** autoClock #method:autoClock#--#if ENABLE_OVERLOADING-    PipelineAutoClockMethodInfo             ,-#endif-    pipelineAutoClock                       ,----- ** getAutoFlushBus #method:getAutoFlushBus#--#if ENABLE_OVERLOADING-    PipelineGetAutoFlushBusMethodInfo       ,-#endif-    pipelineGetAutoFlushBus                 ,----- ** getBus #method:getBus#--#if ENABLE_OVERLOADING-    PipelineGetBusMethodInfo                ,-#endif-    pipelineGetBus                          ,----- ** getDelay #method:getDelay#--#if ENABLE_OVERLOADING-    PipelineGetDelayMethodInfo              ,-#endif-    pipelineGetDelay                        ,----- ** getLatency #method:getLatency#--#if ENABLE_OVERLOADING-    PipelineGetLatencyMethodInfo            ,-#endif-    pipelineGetLatency                      ,----- ** getPipelineClock #method:getPipelineClock#--#if ENABLE_OVERLOADING-    PipelineGetPipelineClockMethodInfo      ,-#endif-    pipelineGetPipelineClock                ,----- ** new #method:new#--    pipelineNew                             ,----- ** setAutoFlushBus #method:setAutoFlushBus#--#if ENABLE_OVERLOADING-    PipelineSetAutoFlushBusMethodInfo       ,-#endif-    pipelineSetAutoFlushBus                 ,----- ** setDelay #method:setDelay#--#if ENABLE_OVERLOADING-    PipelineSetDelayMethodInfo              ,-#endif-    pipelineSetDelay                        ,----- ** setLatency #method:setLatency#--#if ENABLE_OVERLOADING-    PipelineSetLatencyMethodInfo            ,-#endif-    pipelineSetLatency                      ,----- ** useClock #method:useClock#--#if ENABLE_OVERLOADING-    PipelineUseClockMethodInfo              ,-#endif-    pipelineUseClock                        ,----- -- * Properties--- ** autoFlushBus #attr:autoFlushBus#-{- | Whether or not to automatically flush all messages on the-pipeline\'s bus when going from READY to NULL state. Please see-'GI.Gst.Objects.Pipeline.pipelineSetAutoFlushBus' for more information on this option.--}-#if ENABLE_OVERLOADING-    PipelineAutoFlushBusPropertyInfo        ,-#endif-    constructPipelineAutoFlushBus           ,-    getPipelineAutoFlushBus                 ,-#if ENABLE_OVERLOADING-    pipelineAutoFlushBus                    ,-#endif-    setPipelineAutoFlushBus                 ,----- ** delay #attr:delay#-{- | The expected delay needed for elements to spin up to the-PLAYING state expressed in nanoseconds.-see 'GI.Gst.Objects.Pipeline.pipelineSetDelay' for more information on this option.--}-#if ENABLE_OVERLOADING-    PipelineDelayPropertyInfo               ,-#endif-    constructPipelineDelay                  ,-    getPipelineDelay                        ,-#if ENABLE_OVERLOADING-    pipelineDelay                           ,-#endif-    setPipelineDelay                        ,----- ** latency #attr:latency#-{- | Latency to configure on the pipeline. See 'GI.Gst.Objects.Pipeline.pipelineSetLatency'.--/Since: 1.6/--}-#if ENABLE_OVERLOADING-    PipelineLatencyPropertyInfo             ,-#endif-    constructPipelineLatency                ,-    getPipelineLatency                      ,-#if ENABLE_OVERLOADING-    pipelineLatency                         ,-#endif-    setPipelineLatency                      ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Interfaces.ChildProxy as Gst.ChildProxy-import {-# SOURCE #-} qualified GI.Gst.Objects.Bin as Gst.Bin-import {-# SOURCE #-} qualified GI.Gst.Objects.Bus as Gst.Bus-import {-# SOURCE #-} qualified GI.Gst.Objects.Clock as Gst.Clock-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype Pipeline = Pipeline (ManagedPtr Pipeline)-foreign import ccall "gst_pipeline_get_type"-    c_gst_pipeline_get_type :: IO GType--instance GObject Pipeline where-    gobjectType = c_gst_pipeline_get_type-    ---- | Type class for types which can be safely cast to `Pipeline`, for instance with `toPipeline`.-class (GObject o, O.IsDescendantOf Pipeline o) => IsPipeline o-instance (GObject o, O.IsDescendantOf Pipeline o) => IsPipeline o--instance O.HasParentTypes Pipeline-type instance O.ParentTypes Pipeline = '[Gst.Bin.Bin, Gst.Element.Element, Gst.Object.Object, GObject.Object.Object, Gst.ChildProxy.ChildProxy]---- | Cast to `Pipeline`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toPipeline :: (MonadIO m, IsPipeline o) => o -> m Pipeline-toPipeline = liftIO . unsafeCastTo Pipeline---- | A convenience alias for `Nothing` :: `Maybe` `Pipeline`.-noPipeline :: Maybe Pipeline-noPipeline = Nothing--#if ENABLE_OVERLOADING-type family ResolvePipelineMethod (t :: Symbol) (o :: *) :: * where-    ResolvePipelineMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolvePipelineMethod "add" o = Gst.Bin.BinAddMethodInfo-    ResolvePipelineMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolvePipelineMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolvePipelineMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolvePipelineMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolvePipelineMethod "autoClock" o = PipelineAutoClockMethodInfo-    ResolvePipelineMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolvePipelineMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolvePipelineMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolvePipelineMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolvePipelineMethod "childAdded" o = Gst.ChildProxy.ChildProxyChildAddedMethodInfo-    ResolvePipelineMethod "childRemoved" o = Gst.ChildProxy.ChildProxyChildRemovedMethodInfo-    ResolvePipelineMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolvePipelineMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolvePipelineMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolvePipelineMethod "findUnlinkedPad" o = Gst.Bin.BinFindUnlinkedPadMethodInfo-    ResolvePipelineMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolvePipelineMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolvePipelineMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolvePipelineMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolvePipelineMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolvePipelineMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolvePipelineMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolvePipelineMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolvePipelineMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolvePipelineMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolvePipelineMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolvePipelineMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolvePipelineMethod "iterateAllByInterface" o = Gst.Bin.BinIterateAllByInterfaceMethodInfo-    ResolvePipelineMethod "iterateElements" o = Gst.Bin.BinIterateElementsMethodInfo-    ResolvePipelineMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolvePipelineMethod "iterateRecurse" o = Gst.Bin.BinIterateRecurseMethodInfo-    ResolvePipelineMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolvePipelineMethod "iterateSinks" o = Gst.Bin.BinIterateSinksMethodInfo-    ResolvePipelineMethod "iterateSorted" o = Gst.Bin.BinIterateSortedMethodInfo-    ResolvePipelineMethod "iterateSources" o = Gst.Bin.BinIterateSourcesMethodInfo-    ResolvePipelineMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolvePipelineMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolvePipelineMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolvePipelineMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolvePipelineMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolvePipelineMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolvePipelineMethod "lookup" o = Gst.ChildProxy.ChildProxyLookupMethodInfo-    ResolvePipelineMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolvePipelineMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolvePipelineMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolvePipelineMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolvePipelineMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolvePipelineMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolvePipelineMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolvePipelineMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolvePipelineMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolvePipelineMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolvePipelineMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolvePipelineMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolvePipelineMethod "recalculateLatency" o = Gst.Bin.BinRecalculateLatencyMethodInfo-    ResolvePipelineMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolvePipelineMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolvePipelineMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolvePipelineMethod "remove" o = Gst.Bin.BinRemoveMethodInfo-    ResolvePipelineMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolvePipelineMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolvePipelineMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolvePipelineMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolvePipelineMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolvePipelineMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolvePipelineMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolvePipelineMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolvePipelineMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolvePipelineMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolvePipelineMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolvePipelineMethod "syncChildrenStates" o = Gst.Bin.BinSyncChildrenStatesMethodInfo-    ResolvePipelineMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolvePipelineMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolvePipelineMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolvePipelineMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolvePipelineMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolvePipelineMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolvePipelineMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolvePipelineMethod "useClock" o = PipelineUseClockMethodInfo-    ResolvePipelineMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolvePipelineMethod "getAutoFlushBus" o = PipelineGetAutoFlushBusMethodInfo-    ResolvePipelineMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolvePipelineMethod "getBus" o = PipelineGetBusMethodInfo-    ResolvePipelineMethod "getByInterface" o = Gst.Bin.BinGetByInterfaceMethodInfo-    ResolvePipelineMethod "getByName" o = Gst.Bin.BinGetByNameMethodInfo-    ResolvePipelineMethod "getByNameRecurseUp" o = Gst.Bin.BinGetByNameRecurseUpMethodInfo-    ResolvePipelineMethod "getChildByIndex" o = Gst.ChildProxy.ChildProxyGetChildByIndexMethodInfo-    ResolvePipelineMethod "getChildByName" o = Gst.ChildProxy.ChildProxyGetChildByNameMethodInfo-    ResolvePipelineMethod "getChildrenCount" o = Gst.ChildProxy.ChildProxyGetChildrenCountMethodInfo-    ResolvePipelineMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolvePipelineMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolvePipelineMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolvePipelineMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolvePipelineMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolvePipelineMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolvePipelineMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolvePipelineMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolvePipelineMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolvePipelineMethod "getDelay" o = PipelineGetDelayMethodInfo-    ResolvePipelineMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolvePipelineMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolvePipelineMethod "getLatency" o = PipelineGetLatencyMethodInfo-    ResolvePipelineMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolvePipelineMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolvePipelineMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolvePipelineMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolvePipelineMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolvePipelineMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolvePipelineMethod "getPipelineClock" o = PipelineGetPipelineClockMethodInfo-    ResolvePipelineMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolvePipelineMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolvePipelineMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolvePipelineMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolvePipelineMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolvePipelineMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolvePipelineMethod "getSuppressedFlags" o = Gst.Bin.BinGetSuppressedFlagsMethodInfo-    ResolvePipelineMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolvePipelineMethod "setAutoFlushBus" o = PipelineSetAutoFlushBusMethodInfo-    ResolvePipelineMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolvePipelineMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolvePipelineMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolvePipelineMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolvePipelineMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolvePipelineMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolvePipelineMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolvePipelineMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolvePipelineMethod "setDelay" o = PipelineSetDelayMethodInfo-    ResolvePipelineMethod "setLatency" o = PipelineSetLatencyMethodInfo-    ResolvePipelineMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolvePipelineMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolvePipelineMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolvePipelineMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolvePipelineMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolvePipelineMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolvePipelineMethod "setSuppressedFlags" o = Gst.Bin.BinSetSuppressedFlagsMethodInfo-    ResolvePipelineMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePipelineMethod t Pipeline, O.MethodInfo info Pipeline p) => OL.IsLabel t (Pipeline -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- VVV Prop "auto-flush-bus"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@auto-flush-bus@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pipeline #autoFlushBus-@--}-getPipelineAutoFlushBus :: (MonadIO m, IsPipeline o) => o -> m Bool-getPipelineAutoFlushBus obj = liftIO $ B.Properties.getObjectPropertyBool obj "auto-flush-bus"--{- |-Set the value of the “@auto-flush-bus@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pipeline [ #autoFlushBus 'Data.GI.Base.Attributes.:=' value ]-@--}-setPipelineAutoFlushBus :: (MonadIO m, IsPipeline o) => o -> Bool -> m ()-setPipelineAutoFlushBus obj val = liftIO $ B.Properties.setObjectPropertyBool obj "auto-flush-bus" val--{- |-Construct a `GValueConstruct` with valid value for the “@auto-flush-bus@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPipelineAutoFlushBus :: (IsPipeline o) => Bool -> IO (GValueConstruct o)-constructPipelineAutoFlushBus val = B.Properties.constructObjectPropertyBool "auto-flush-bus" val--#if ENABLE_OVERLOADING-data PipelineAutoFlushBusPropertyInfo-instance AttrInfo PipelineAutoFlushBusPropertyInfo where-    type AttrAllowedOps PipelineAutoFlushBusPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint PipelineAutoFlushBusPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint PipelineAutoFlushBusPropertyInfo = IsPipeline-    type AttrGetType PipelineAutoFlushBusPropertyInfo = Bool-    type AttrLabel PipelineAutoFlushBusPropertyInfo = "auto-flush-bus"-    type AttrOrigin PipelineAutoFlushBusPropertyInfo = Pipeline-    attrGet _ = getPipelineAutoFlushBus-    attrSet _ = setPipelineAutoFlushBus-    attrConstruct _ = constructPipelineAutoFlushBus-    attrClear _ = undefined-#endif---- VVV Prop "delay"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@delay@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pipeline #delay-@--}-getPipelineDelay :: (MonadIO m, IsPipeline o) => o -> m Word64-getPipelineDelay obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "delay"--{- |-Set the value of the “@delay@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pipeline [ #delay 'Data.GI.Base.Attributes.:=' value ]-@--}-setPipelineDelay :: (MonadIO m, IsPipeline o) => o -> Word64 -> m ()-setPipelineDelay obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "delay" val--{- |-Construct a `GValueConstruct` with valid value for the “@delay@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPipelineDelay :: (IsPipeline o) => Word64 -> IO (GValueConstruct o)-constructPipelineDelay val = B.Properties.constructObjectPropertyUInt64 "delay" val--#if ENABLE_OVERLOADING-data PipelineDelayPropertyInfo-instance AttrInfo PipelineDelayPropertyInfo where-    type AttrAllowedOps PipelineDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint PipelineDelayPropertyInfo = (~) Word64-    type AttrBaseTypeConstraint PipelineDelayPropertyInfo = IsPipeline-    type AttrGetType PipelineDelayPropertyInfo = Word64-    type AttrLabel PipelineDelayPropertyInfo = "delay"-    type AttrOrigin PipelineDelayPropertyInfo = Pipeline-    attrGet _ = getPipelineDelay-    attrSet _ = setPipelineDelay-    attrConstruct _ = constructPipelineDelay-    attrClear _ = undefined-#endif---- VVV Prop "latency"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@latency@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pipeline #latency-@--}-getPipelineLatency :: (MonadIO m, IsPipeline o) => o -> m Word64-getPipelineLatency obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "latency"--{- |-Set the value of the “@latency@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pipeline [ #latency 'Data.GI.Base.Attributes.:=' value ]-@--}-setPipelineLatency :: (MonadIO m, IsPipeline o) => o -> Word64 -> m ()-setPipelineLatency obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "latency" val--{- |-Construct a `GValueConstruct` with valid value for the “@latency@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructPipelineLatency :: (IsPipeline o) => Word64 -> IO (GValueConstruct o)-constructPipelineLatency val = B.Properties.constructObjectPropertyUInt64 "latency" val--#if ENABLE_OVERLOADING-data PipelineLatencyPropertyInfo-instance AttrInfo PipelineLatencyPropertyInfo where-    type AttrAllowedOps PipelineLatencyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint PipelineLatencyPropertyInfo = (~) Word64-    type AttrBaseTypeConstraint PipelineLatencyPropertyInfo = IsPipeline-    type AttrGetType PipelineLatencyPropertyInfo = Word64-    type AttrLabel PipelineLatencyPropertyInfo = "latency"-    type AttrOrigin PipelineLatencyPropertyInfo = Pipeline-    attrGet _ = getPipelineLatency-    attrSet _ = setPipelineLatency-    attrConstruct _ = constructPipelineLatency-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Pipeline-type instance O.AttributeList Pipeline = PipelineAttributeList-type PipelineAttributeList = ('[ '("asyncHandling", Gst.Bin.BinAsyncHandlingPropertyInfo), '("autoFlushBus", PipelineAutoFlushBusPropertyInfo), '("delay", PipelineDelayPropertyInfo), '("latency", PipelineLatencyPropertyInfo), '("messageForward", Gst.Bin.BinMessageForwardPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-pipelineAutoFlushBus :: AttrLabelProxy "autoFlushBus"-pipelineAutoFlushBus = AttrLabelProxy--pipelineDelay :: AttrLabelProxy "delay"-pipelineDelay = AttrLabelProxy--pipelineLatency :: AttrLabelProxy "latency"-pipelineLatency = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList Pipeline = PipelineSignalList-type PipelineSignalList = ('[ '("childAdded", Gst.ChildProxy.ChildProxyChildAddedSignalInfo), '("childRemoved", Gst.ChildProxy.ChildProxyChildRemovedSignalInfo), '("deepElementAdded", Gst.Bin.BinDeepElementAddedSignalInfo), '("deepElementRemoved", Gst.Bin.BinDeepElementRemovedSignalInfo), '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("doLatency", Gst.Bin.BinDoLatencySignalInfo), '("elementAdded", Gst.Bin.BinElementAddedSignalInfo), '("elementRemoved", Gst.Bin.BinElementRemovedSignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif---- method Pipeline::new--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "name of new pipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Pipeline"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_new" gst_pipeline_new :: -    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Pipeline)--{- |-Create a new pipeline with the given name.--}-pipelineNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@name@/: name of new pipeline -}-    -> m Pipeline-    {- ^ __Returns:__ newly created GstPipeline--MT safe. -}-pipelineNew name = liftIO $ do-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    result <- gst_pipeline_new maybeName-    checkUnexpectedReturnNULL "pipelineNew" result-    result' <- (newObject Pipeline) result-    freeMem maybeName-    return result'--#if ENABLE_OVERLOADING-#endif---- method Pipeline::auto_clock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_auto_clock" gst_pipeline_auto_clock :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    IO ()--{- |-Let /@pipeline@/ select a clock automatically. This is the default-behaviour.--Use this function if you previous forced a fixed clock with-'GI.Gst.Objects.Pipeline.pipelineUseClock' and want to restore the default-pipeline clock selection algorithm.--MT safe.--}-pipelineAutoClock ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> m ()-pipelineAutoClock pipeline = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    gst_pipeline_auto_clock pipeline'-    touchManagedPtr pipeline-    return ()--#if ENABLE_OVERLOADING-data PipelineAutoClockMethodInfo-instance (signature ~ (m ()), MonadIO m, IsPipeline a) => O.MethodInfo PipelineAutoClockMethodInfo a signature where-    overloadedMethod _ = pipelineAutoClock--#endif---- method Pipeline::get_auto_flush_bus--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_get_auto_flush_bus" gst_pipeline_get_auto_flush_bus :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    IO CInt--{- |-Check if /@pipeline@/ will automatically flush messages when going to-the NULL state.--}-pipelineGetAutoFlushBus ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> m Bool-    {- ^ __Returns:__ whether the pipeline will automatically flush its bus when-going from READY to NULL state or not.--MT safe. -}-pipelineGetAutoFlushBus pipeline = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    result <- gst_pipeline_get_auto_flush_bus pipeline'-    let result' = (/= 0) result-    touchManagedPtr pipeline-    return result'--#if ENABLE_OVERLOADING-data PipelineGetAutoFlushBusMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetAutoFlushBusMethodInfo a signature where-    overloadedMethod _ = pipelineGetAutoFlushBus--#endif---- method Pipeline::get_bus--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Bus"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_get_bus" gst_pipeline_get_bus :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    IO (Ptr Gst.Bus.Bus)--{- |-Gets the 'GI.Gst.Objects.Bus.Bus' of /@pipeline@/. The bus allows applications to receive-'GI.Gst.Structs.Message.Message' packets.--}-pipelineGetBus ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> m Gst.Bus.Bus-    {- ^ __Returns:__ a 'GI.Gst.Objects.Bus.Bus', unref after usage.--MT safe. -}-pipelineGetBus pipeline = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    result <- gst_pipeline_get_bus pipeline'-    checkUnexpectedReturnNULL "pipelineGetBus" result-    result' <- (wrapObject Gst.Bus.Bus) result-    touchManagedPtr pipeline-    return result'--#if ENABLE_OVERLOADING-data PipelineGetBusMethodInfo-instance (signature ~ (m Gst.Bus.Bus), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetBusMethodInfo a signature where-    overloadedMethod _ = pipelineGetBus--#endif---- method Pipeline::get_delay--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_get_delay" gst_pipeline_get_delay :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    IO Word64--{- |-Get the configured delay (see 'GI.Gst.Objects.Pipeline.pipelineSetDelay').--}-pipelineGetDelay ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> m Word64-    {- ^ __Returns:__ The configured delay.--MT safe. -}-pipelineGetDelay pipeline = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    result <- gst_pipeline_get_delay pipeline'-    touchManagedPtr pipeline-    return result--#if ENABLE_OVERLOADING-data PipelineGetDelayMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetDelayMethodInfo a signature where-    overloadedMethod _ = pipelineGetDelay--#endif---- method Pipeline::get_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_get_latency" gst_pipeline_get_latency :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    IO Word64--{- |-Gets the latency that should be configured on the pipeline. See-'GI.Gst.Objects.Pipeline.pipelineSetLatency'.--/Since: 1.6/--}-pipelineGetLatency ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> m Word64-    {- ^ __Returns:__ Latency to configure on the pipeline or GST_CLOCK_TIME_NONE -}-pipelineGetLatency pipeline = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    result <- gst_pipeline_get_latency pipeline'-    touchManagedPtr pipeline-    return result--#if ENABLE_OVERLOADING-data PipelineGetLatencyMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetLatencyMethodInfo a signature where-    overloadedMethod _ = pipelineGetLatency--#endif---- method Pipeline::get_pipeline_clock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Clock"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_get_pipeline_clock" gst_pipeline_get_pipeline_clock :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    IO (Ptr Gst.Clock.Clock)--{- |-Gets the current clock used by /@pipeline@/.--Unlike 'GI.Gst.Objects.Element.elementGetClock', this function will always return a-clock, even if the pipeline is not in the PLAYING state.--/Since: 1.6/--}-pipelineGetPipelineClock ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> m Gst.Clock.Clock-    {- ^ __Returns:__ a 'GI.Gst.Objects.Clock.Clock', unref after usage. -}-pipelineGetPipelineClock pipeline = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    result <- gst_pipeline_get_pipeline_clock pipeline'-    checkUnexpectedReturnNULL "pipelineGetPipelineClock" result-    result' <- (wrapObject Gst.Clock.Clock) result-    touchManagedPtr pipeline-    return result'--#if ENABLE_OVERLOADING-data PipelineGetPipelineClockMethodInfo-instance (signature ~ (m Gst.Clock.Clock), MonadIO m, IsPipeline a) => O.MethodInfo PipelineGetPipelineClockMethodInfo a signature where-    overloadedMethod _ = pipelineGetPipelineClock--#endif---- method Pipeline::set_auto_flush_bus--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "auto_flush", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether or not to automatically flush the bus when\nthe pipeline goes from READY to NULL state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_set_auto_flush_bus" gst_pipeline_set_auto_flush_bus :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    CInt ->                                 -- auto_flush : TBasicType TBoolean-    IO ()--{- |-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.--}-pipelineSetAutoFlushBus ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> Bool-    {- ^ /@autoFlush@/: whether or not to automatically flush the bus when-the pipeline goes from READY to NULL state -}-    -> m ()-pipelineSetAutoFlushBus pipeline autoFlush = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    let autoFlush' = (fromIntegral . fromEnum) autoFlush-    gst_pipeline_set_auto_flush_bus pipeline' autoFlush'-    touchManagedPtr pipeline-    return ()--#if ENABLE_OVERLOADING-data PipelineSetAutoFlushBusMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsPipeline a) => O.MethodInfo PipelineSetAutoFlushBusMethodInfo a signature where-    overloadedMethod _ = pipelineSetAutoFlushBus--#endif---- method Pipeline::set_delay--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delay", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the delay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_set_delay" gst_pipeline_set_delay :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    Word64 ->                               -- delay : TBasicType TUInt64-    IO ()--{- |-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-'GI.Gst.Constants.CLOCK_TIME_NONE'.--This option is used for tuning purposes and should normally not be-used.--MT safe.--}-pipelineSetDelay ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> Word64-    {- ^ /@delay@/: the delay -}-    -> m ()-pipelineSetDelay pipeline delay = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    gst_pipeline_set_delay pipeline' delay-    touchManagedPtr pipeline-    return ()--#if ENABLE_OVERLOADING-data PipelineSetDelayMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsPipeline a) => O.MethodInfo PipelineSetDelayMethodInfo a signature where-    overloadedMethod _ = pipelineSetDelay--#endif---- method Pipeline::set_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "latency", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "latency to configure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_set_latency" gst_pipeline_set_latency :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    Word64 ->                               -- latency : TBasicType TUInt64-    IO ()--{- |-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.--/Since: 1.6/--}-pipelineSetLatency ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> Word64-    {- ^ /@latency@/: latency to configure -}-    -> m ()-pipelineSetLatency pipeline latency = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    gst_pipeline_set_latency pipeline' latency-    touchManagedPtr pipeline-    return ()--#if ENABLE_OVERLOADING-data PipelineSetLatencyMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsPipeline a) => O.MethodInfo PipelineSetLatencyMethodInfo a signature where-    overloadedMethod _ = pipelineSetLatency--#endif---- method Pipeline::use_clock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pipeline", argType = TInterface (Name {namespace = "Gst", name = "Pipeline"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPipeline", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the clock to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_pipeline_use_clock" gst_pipeline_use_clock :: -    Ptr Pipeline ->                         -- pipeline : TInterface (Name {namespace = "Gst", name = "Pipeline"})-    Ptr Gst.Clock.Clock ->                  -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO ()--{- |-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 'Nothing' all clocking will be disabled which will make-the pipeline run as fast as possible.--MT safe.--}-pipelineUseClock ::-    (B.CallStack.HasCallStack, MonadIO m, IsPipeline a, Gst.Clock.IsClock b) =>-    a-    {- ^ /@pipeline@/: a 'GI.Gst.Objects.Pipeline.Pipeline' -}-    -> Maybe (b)-    {- ^ /@clock@/: the clock to use -}-    -> m ()-pipelineUseClock pipeline clock = liftIO $ do-    pipeline' <- unsafeManagedPtrCastPtr pipeline-    maybeClock <- case clock of-        Nothing -> return nullPtr-        Just jClock -> do-            jClock' <- unsafeManagedPtrCastPtr jClock-            return jClock'-    gst_pipeline_use_clock pipeline' maybeClock-    touchManagedPtr pipeline-    whenJust clock touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data PipelineUseClockMethodInfo-instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsPipeline a, Gst.Clock.IsClock b) => O.MethodInfo PipelineUseClockMethodInfo a signature where-    overloadedMethod _ = pipelineUseClock--#endif--
− GI/Gst/Objects/Pipeline.hs-boot
@@ -1,68 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Pipeline where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Pipeline = Pipeline (ManagedPtr Pipeline)-instance GObject Pipeline where-class (GObject o, O.IsDescendantOf Pipeline o) => IsPipeline o-instance (GObject o, O.IsDescendantOf Pipeline o) => IsPipeline o-instance O.HasParentTypes Pipeline-#if ENABLE_OVERLOADING-data PipelineAutoFlushBusPropertyInfo-#endif-#if ENABLE_OVERLOADING-data PipelineDelayPropertyInfo-#endif-#if ENABLE_OVERLOADING-data PipelineLatencyPropertyInfo-#endif-#if ENABLE_OVERLOADING-data PipelineAutoClockMethodInfo-#endif-#if ENABLE_OVERLOADING-data PipelineGetAutoFlushBusMethodInfo-#endif-#if ENABLE_OVERLOADING-data PipelineGetBusMethodInfo-#endif-#if ENABLE_OVERLOADING-data PipelineGetDelayMethodInfo-#endif-#if ENABLE_OVERLOADING-data PipelineGetLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data PipelineGetPipelineClockMethodInfo-#endif-#if ENABLE_OVERLOADING-data PipelineSetAutoFlushBusMethodInfo-#endif-#if ENABLE_OVERLOADING-data PipelineSetDelayMethodInfo-#endif-#if ENABLE_OVERLOADING-data PipelineSetLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data PipelineUseClockMethodInfo-#endif
− GI/Gst/Objects/Plugin.hs
@@ -1,1257 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--GStreamer is extensible, so 'GI.Gst.Objects.Element.Element' instances can be loaded at runtime.-A plugin system can provide one or more of the basic-\<application>GStreamer\<\/application> 'GI.Gst.Objects.PluginFeature.PluginFeature' subclasses.--A plugin should export a symbol \<symbol>gst_plugin_desc\<\/symbol> that is a-struct of type 'GI.Gst.Structs.PluginDesc.PluginDesc'.-the plugin loader will check the version of the core library the plugin was-linked against and will create a new 'GI.Gst.Objects.Plugin.Plugin'. It will then call the-'GI.Gst.Callbacks.PluginInitFunc' function that was provided in the-\<symbol>gst_plugin_desc\<\/symbol>.--Once you have a handle to a 'GI.Gst.Objects.Plugin.Plugin' (e.g. from the 'GI.Gst.Objects.Registry.Registry'), you-can add any object that subclasses 'GI.Gst.Objects.PluginFeature.PluginFeature'.--Usually plugins are always automatically loaded so you don\'t need to call-'GI.Gst.Objects.Plugin.pluginLoad' 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 'GI.Gst.Objects.Plugin.pluginLoad' can be needed to bring the plugin-into memory.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Plugin-    ( ---- * Exported types-    Plugin(..)                              ,-    IsPlugin                                ,-    toPlugin                                ,-    noPlugin                                ,--- -- * Methods--- ** addDependency #method:addDependency#--#if ENABLE_OVERLOADING-    PluginAddDependencyMethodInfo           ,-#endif-    pluginAddDependency                     ,----- ** addDependencySimple #method:addDependencySimple#--#if ENABLE_OVERLOADING-    PluginAddDependencySimpleMethodInfo     ,-#endif-    pluginAddDependencySimple               ,----- ** getCacheData #method:getCacheData#--#if ENABLE_OVERLOADING-    PluginGetCacheDataMethodInfo            ,-#endif-    pluginGetCacheData                      ,----- ** getDescription #method:getDescription#--#if ENABLE_OVERLOADING-    PluginGetDescriptionMethodInfo          ,-#endif-    pluginGetDescription                    ,----- ** getFilename #method:getFilename#--#if ENABLE_OVERLOADING-    PluginGetFilenameMethodInfo             ,-#endif-    pluginGetFilename                       ,----- ** getLicense #method:getLicense#--#if ENABLE_OVERLOADING-    PluginGetLicenseMethodInfo              ,-#endif-    pluginGetLicense                        ,----- ** getName #method:getName#--#if ENABLE_OVERLOADING-    PluginGetNameMethodInfo                 ,-#endif-    pluginGetName                           ,----- ** getOrigin #method:getOrigin#--#if ENABLE_OVERLOADING-    PluginGetOriginMethodInfo               ,-#endif-    pluginGetOrigin                         ,----- ** getPackage #method:getPackage#--#if ENABLE_OVERLOADING-    PluginGetPackageMethodInfo              ,-#endif-    pluginGetPackage                        ,----- ** getReleaseDateString #method:getReleaseDateString#--#if ENABLE_OVERLOADING-    PluginGetReleaseDateStringMethodInfo    ,-#endif-    pluginGetReleaseDateString              ,----- ** getSource #method:getSource#--#if ENABLE_OVERLOADING-    PluginGetSourceMethodInfo               ,-#endif-    pluginGetSource                         ,----- ** getVersion #method:getVersion#--#if ENABLE_OVERLOADING-    PluginGetVersionMethodInfo              ,-#endif-    pluginGetVersion                        ,----- ** isLoaded #method:isLoaded#--#if ENABLE_OVERLOADING-    PluginIsLoadedMethodInfo                ,-#endif-    pluginIsLoaded                          ,----- ** listFree #method:listFree#--    pluginListFree                          ,----- ** load #method:load#--#if ENABLE_OVERLOADING-    PluginLoadMethodInfo                    ,-#endif-    pluginLoad                              ,----- ** loadByName #method:loadByName#--    pluginLoadByName                        ,----- ** loadFile #method:loadFile#--    pluginLoadFile                          ,----- ** registerStatic #method:registerStatic#--    pluginRegisterStatic                    ,----- ** registerStaticFull #method:registerStaticFull#--    pluginRegisterStaticFull                ,----- ** setCacheData #method:setCacheData#--#if ENABLE_OVERLOADING-    PluginSetCacheDataMethodInfo            ,-#endif-    pluginSetCacheData                      ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype Plugin = Plugin (ManagedPtr Plugin)-foreign import ccall "gst_plugin_get_type"-    c_gst_plugin_get_type :: IO GType--instance GObject Plugin where-    gobjectType = c_gst_plugin_get_type-    ---- | Type class for types which can be safely cast to `Plugin`, for instance with `toPlugin`.-class (GObject o, O.IsDescendantOf Plugin o) => IsPlugin o-instance (GObject o, O.IsDescendantOf Plugin o) => IsPlugin o--instance O.HasParentTypes Plugin-type instance O.ParentTypes Plugin = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Plugin`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toPlugin :: (MonadIO m, IsPlugin o) => o -> m Plugin-toPlugin = liftIO . unsafeCastTo Plugin---- | A convenience alias for `Nothing` :: `Maybe` `Plugin`.-noPlugin :: Maybe Plugin-noPlugin = Nothing--#if ENABLE_OVERLOADING-type family ResolvePluginMethod (t :: Symbol) (o :: *) :: * where-    ResolvePluginMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolvePluginMethod "addDependency" o = PluginAddDependencyMethodInfo-    ResolvePluginMethod "addDependencySimple" o = PluginAddDependencySimpleMethodInfo-    ResolvePluginMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolvePluginMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolvePluginMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolvePluginMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolvePluginMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolvePluginMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolvePluginMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolvePluginMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolvePluginMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolvePluginMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolvePluginMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolvePluginMethod "isLoaded" o = PluginIsLoadedMethodInfo-    ResolvePluginMethod "load" o = PluginLoadMethodInfo-    ResolvePluginMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolvePluginMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolvePluginMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolvePluginMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolvePluginMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolvePluginMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolvePluginMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolvePluginMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolvePluginMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolvePluginMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolvePluginMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolvePluginMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolvePluginMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolvePluginMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolvePluginMethod "getCacheData" o = PluginGetCacheDataMethodInfo-    ResolvePluginMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolvePluginMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolvePluginMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolvePluginMethod "getDescription" o = PluginGetDescriptionMethodInfo-    ResolvePluginMethod "getFilename" o = PluginGetFilenameMethodInfo-    ResolvePluginMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolvePluginMethod "getLicense" o = PluginGetLicenseMethodInfo-    ResolvePluginMethod "getName" o = PluginGetNameMethodInfo-    ResolvePluginMethod "getOrigin" o = PluginGetOriginMethodInfo-    ResolvePluginMethod "getPackage" o = PluginGetPackageMethodInfo-    ResolvePluginMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolvePluginMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolvePluginMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolvePluginMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolvePluginMethod "getReleaseDateString" o = PluginGetReleaseDateStringMethodInfo-    ResolvePluginMethod "getSource" o = PluginGetSourceMethodInfo-    ResolvePluginMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolvePluginMethod "getVersion" o = PluginGetVersionMethodInfo-    ResolvePluginMethod "setCacheData" o = PluginSetCacheDataMethodInfo-    ResolvePluginMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolvePluginMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolvePluginMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolvePluginMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolvePluginMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolvePluginMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolvePluginMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolvePluginMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePluginMethod t Plugin, O.MethodInfo info Plugin p) => OL.IsLabel t (Plugin -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Plugin-type instance O.AttributeList Plugin = PluginAttributeList-type PluginAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList Plugin = PluginSignalList-type PluginSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method Plugin::add_dependency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "env_vars", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "%NULL-terminated array of environment variables affecting the\n    feature set of the plugin (e.g. an environment variable containing\n    paths where to look for additional modules/plugins of a library),\n    or %NULL. Environment variable names may be followed by a path component\n     which will be added to the content of the environment variable, e.g.\n     \"HOME/.mystuff/plugins\".", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "paths", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "%NULL-terminated array of directories/paths where dependent files\n    may be, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "names", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "%NULL-terminated array of file names (or file name suffixes,\n    depending on @flags) to be used in combination with the paths from\n    @paths and/or the paths extracted from the environment variables in\n    @env_vars, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "PluginDependencyFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_add_dependency" gst_plugin_add_dependency :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    Ptr CString ->                          -- env_vars : TCArray True (-1) (-1) (TBasicType TUTF8)-    Ptr CString ->                          -- paths : TCArray True (-1) (-1) (TBasicType TUTF8)-    Ptr CString ->                          -- names : TCArray True (-1) (-1) (TBasicType TUTF8)-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "PluginDependencyFlags"})-    IO ()--{- |-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.--}-pluginAddDependency ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: a 'GI.Gst.Objects.Plugin.Plugin' -}-    -> Maybe ([T.Text])-    {- ^ /@envVars@/: 'Nothing'-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 'Nothing'. 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\". -}-    -> Maybe ([T.Text])-    {- ^ /@paths@/: 'Nothing'-terminated array of directories\/paths where dependent files-    may be, or 'Nothing'. -}-    -> Maybe ([T.Text])-    {- ^ /@names@/: 'Nothing'-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-    /@envVars@/, or 'Nothing'. -}-    -> [Gst.Flags.PluginDependencyFlags]-    {- ^ /@flags@/: optional flags, or @/GST_PLUGIN_DEPENDENCY_FLAG_NONE/@ -}-    -> m ()-pluginAddDependency plugin envVars paths names flags = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    maybeEnvVars <- case envVars of-        Nothing -> return nullPtr-        Just jEnvVars -> do-            jEnvVars' <- packZeroTerminatedUTF8CArray jEnvVars-            return jEnvVars'-    maybePaths <- case paths of-        Nothing -> return nullPtr-        Just jPaths -> do-            jPaths' <- packZeroTerminatedUTF8CArray jPaths-            return jPaths'-    maybeNames <- case names of-        Nothing -> return nullPtr-        Just jNames -> do-            jNames' <- packZeroTerminatedUTF8CArray jNames-            return jNames'-    let flags' = gflagsToWord flags-    gst_plugin_add_dependency plugin' maybeEnvVars maybePaths maybeNames flags'-    touchManagedPtr plugin-    mapZeroTerminatedCArray freeMem maybeEnvVars-    freeMem maybeEnvVars-    mapZeroTerminatedCArray freeMem maybePaths-    freeMem maybePaths-    mapZeroTerminatedCArray freeMem maybeNames-    freeMem maybeNames-    return ()--#if ENABLE_OVERLOADING-data PluginAddDependencyMethodInfo-instance (signature ~ (Maybe ([T.Text]) -> Maybe ([T.Text]) -> Maybe ([T.Text]) -> [Gst.Flags.PluginDependencyFlags] -> m ()), MonadIO m, IsPlugin a) => O.MethodInfo PluginAddDependencyMethodInfo a signature where-    overloadedMethod _ = pluginAddDependency--#endif---- method Plugin::add_dependency_simple--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "env_vars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "one or more environment variables (separated by ':', ';' or ','),\n     or %NULL. Environment variable names may be followed by a path component\n     which will be added to the content of the environment variable, e.g.\n     \"HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "paths", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "one ore more directory paths (separated by ':' or ';' or ','),\n     or %NULL. Example: \"/usr/lib/mystuff/plugins\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "names", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "one or more file names or file name suffixes (separated by commas),\n     or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "PluginDependencyFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_add_dependency_simple" gst_plugin_add_dependency_simple :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    CString ->                              -- env_vars : TBasicType TUTF8-    CString ->                              -- paths : TBasicType TUTF8-    CString ->                              -- names : TBasicType TUTF8-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "PluginDependencyFlags"})-    IO ()--{- |-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 'GI.Gst.Objects.Plugin.pluginAddDependency' which-takes simple strings as arguments instead of string arrays, with multiple-arguments separated by predefined delimiters (see above).--}-pluginAddDependencySimple ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: the 'GI.Gst.Objects.Plugin.Plugin' -}-    -> Maybe (T.Text)-    {- ^ /@envVars@/: one or more environment variables (separated by \':\', \';\' or \',\'),-     or 'Nothing'. 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\" -}-    -> Maybe (T.Text)-    {- ^ /@paths@/: one ore more directory paths (separated by \':\' or \';\' or \',\'),-     or 'Nothing'. Example: \"\/usr\/lib\/mystuff\/plugins\" -}-    -> Maybe (T.Text)-    {- ^ /@names@/: one or more file names or file name suffixes (separated by commas),-     or 'Nothing' -}-    -> [Gst.Flags.PluginDependencyFlags]-    {- ^ /@flags@/: optional flags, or @/GST_PLUGIN_DEPENDENCY_FLAG_NONE/@ -}-    -> m ()-pluginAddDependencySimple plugin envVars paths names flags = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    maybeEnvVars <- case envVars of-        Nothing -> return nullPtr-        Just jEnvVars -> do-            jEnvVars' <- textToCString jEnvVars-            return jEnvVars'-    maybePaths <- case paths of-        Nothing -> return nullPtr-        Just jPaths -> do-            jPaths' <- textToCString jPaths-            return jPaths'-    maybeNames <- case names of-        Nothing -> return nullPtr-        Just jNames -> do-            jNames' <- textToCString jNames-            return jNames'-    let flags' = gflagsToWord flags-    gst_plugin_add_dependency_simple plugin' maybeEnvVars maybePaths maybeNames flags'-    touchManagedPtr plugin-    freeMem maybeEnvVars-    freeMem maybePaths-    freeMem maybeNames-    return ()--#if ENABLE_OVERLOADING-data PluginAddDependencySimpleMethodInfo-instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> Maybe (T.Text) -> [Gst.Flags.PluginDependencyFlags] -> m ()), MonadIO m, IsPlugin a) => O.MethodInfo PluginAddDependencySimpleMethodInfo a signature where-    overloadedMethod _ = pluginAddDependencySimple--#endif---- method Plugin::get_cache_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a plugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_cache_data" gst_plugin_get_cache_data :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO (Ptr Gst.Structure.Structure)--{- |-Gets the plugin specific data cache. If it is 'Nothing' there is no cached data-stored. This is the case when the registry is getting rebuilt.--}-pluginGetCacheData ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: a plugin -}-    -> m (Maybe Gst.Structure.Structure)-    {- ^ __Returns:__ The cached data as a-'GI.Gst.Structs.Structure.Structure' or 'Nothing'. -}-pluginGetCacheData plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_cache_data plugin'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Structure.Structure) result'-        return result''-    touchManagedPtr plugin-    return maybeResult--#if ENABLE_OVERLOADING-data PluginGetCacheDataMethodInfo-instance (signature ~ (m (Maybe Gst.Structure.Structure)), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetCacheDataMethodInfo a signature where-    overloadedMethod _ = pluginGetCacheData--#endif---- method Plugin::get_description--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to get long name of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_description" gst_plugin_get_description :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CString--{- |-Get the long descriptive name of the plugin--}-pluginGetDescription ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to get long name of -}-    -> m T.Text-    {- ^ __Returns:__ the long name of the plugin -}-pluginGetDescription plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_description plugin'-    checkUnexpectedReturnNULL "pluginGetDescription" result-    result' <- cstringToText result-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data PluginGetDescriptionMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetDescriptionMethodInfo a signature where-    overloadedMethod _ = pluginGetDescription--#endif---- method Plugin::get_filename--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to get the filename of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_filename" gst_plugin_get_filename :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CString--{- |-get the filename of the plugin--}-pluginGetFilename ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to get the filename of -}-    -> m [Char]-    {- ^ __Returns:__ the filename of the plugin -}-pluginGetFilename plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_filename plugin'-    checkUnexpectedReturnNULL "pluginGetFilename" result-    result' <- cstringToString result-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data PluginGetFilenameMethodInfo-instance (signature ~ (m [Char]), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetFilenameMethodInfo a signature where-    overloadedMethod _ = pluginGetFilename--#endif---- method Plugin::get_license--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to get the license of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_license" gst_plugin_get_license :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CString--{- |-get the license of the plugin--}-pluginGetLicense ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to get the license of -}-    -> m T.Text-    {- ^ __Returns:__ the license of the plugin -}-pluginGetLicense plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_license plugin'-    checkUnexpectedReturnNULL "pluginGetLicense" result-    result' <- cstringToText result-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data PluginGetLicenseMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetLicenseMethodInfo a signature where-    overloadedMethod _ = pluginGetLicense--#endif---- method Plugin::get_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to get the name of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_name" gst_plugin_get_name :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CString--{- |-Get the short name of the plugin--}-pluginGetName ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to get the name of -}-    -> m T.Text-    {- ^ __Returns:__ the name of the plugin -}-pluginGetName plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_name plugin'-    checkUnexpectedReturnNULL "pluginGetName" result-    result' <- cstringToText result-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data PluginGetNameMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetNameMethodInfo a signature where-    overloadedMethod _ = pluginGetName--#endif---- method Plugin::get_origin--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to get the origin of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_origin" gst_plugin_get_origin :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CString--{- |-get the URL where the plugin comes from--}-pluginGetOrigin ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to get the origin of -}-    -> m T.Text-    {- ^ __Returns:__ the origin of the plugin -}-pluginGetOrigin plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_origin plugin'-    checkUnexpectedReturnNULL "pluginGetOrigin" result-    result' <- cstringToText result-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data PluginGetOriginMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetOriginMethodInfo a signature where-    overloadedMethod _ = pluginGetOrigin--#endif---- method Plugin::get_package--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to get the package of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_package" gst_plugin_get_package :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CString--{- |-get the package the plugin belongs to.--}-pluginGetPackage ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to get the package of -}-    -> m T.Text-    {- ^ __Returns:__ the package of the plugin -}-pluginGetPackage plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_package plugin'-    checkUnexpectedReturnNULL "pluginGetPackage" result-    result' <- cstringToText result-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data PluginGetPackageMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetPackageMethodInfo a signature where-    overloadedMethod _ = pluginGetPackage--#endif---- method Plugin::get_release_date_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to get the release date of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_release_date_string" gst_plugin_get_release_date_string :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CString--{- |-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.--}-pluginGetReleaseDateString ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to get the release date of -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the date string of the plugin, or 'Nothing' if not-available. -}-pluginGetReleaseDateString plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_release_date_string plugin'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr plugin-    return maybeResult--#if ENABLE_OVERLOADING-data PluginGetReleaseDateStringMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetReleaseDateStringMethodInfo a signature where-    overloadedMethod _ = pluginGetReleaseDateString--#endif---- method Plugin::get_source--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to get the source of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_source" gst_plugin_get_source :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CString--{- |-get the source module the plugin belongs to.--}-pluginGetSource ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to get the source of -}-    -> m T.Text-    {- ^ __Returns:__ the source of the plugin -}-pluginGetSource plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_source plugin'-    checkUnexpectedReturnNULL "pluginGetSource" result-    result' <- cstringToText result-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data PluginGetSourceMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetSourceMethodInfo a signature where-    overloadedMethod _ = pluginGetSource--#endif---- method Plugin::get_version--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to get the version of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_get_version" gst_plugin_get_version :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CString--{- |-get the version of the plugin--}-pluginGetVersion ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to get the version of -}-    -> m T.Text-    {- ^ __Returns:__ the version of the plugin -}-pluginGetVersion plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_get_version plugin'-    checkUnexpectedReturnNULL "pluginGetVersion" result-    result' <- cstringToText result-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data PluginGetVersionMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsPlugin a) => O.MethodInfo PluginGetVersionMethodInfo a signature where-    overloadedMethod _ = pluginGetVersion--#endif---- method Plugin::is_loaded--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_is_loaded" gst_plugin_is_loaded :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CInt--{- |-queries if the plugin is loaded into memory--}-pluginIsLoaded ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to query -}-    -> m Bool-    {- ^ __Returns:__ 'True' is loaded, 'False' otherwise -}-pluginIsLoaded plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_is_loaded plugin'-    let result' = (/= 0) result-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data PluginIsLoadedMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsPlugin a) => O.MethodInfo PluginIsLoadedMethodInfo a signature where-    overloadedMethod _ = pluginIsLoaded--#endif---- method Plugin::load--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plugin to load", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Plugin"}))--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_load" gst_plugin_load :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO (Ptr Plugin)--{- |-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;--}-pluginLoad ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: plugin to load -}-    -> m (Maybe Plugin)-    {- ^ __Returns:__ a reference to a loaded plugin, or-'Nothing' on error. -}-pluginLoad plugin = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_plugin_load plugin'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Plugin) result'-        return result''-    touchManagedPtr plugin-    return maybeResult--#if ENABLE_OVERLOADING-data PluginLoadMethodInfo-instance (signature ~ (m (Maybe Plugin)), MonadIO m, IsPlugin a) => O.MethodInfo PluginLoadMethodInfo a signature where-    overloadedMethod _ = pluginLoad--#endif---- method Plugin::set_cache_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a plugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cache_data", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a structure containing the data to cache", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_set_cache_data" gst_plugin_set_cache_data :: -    Ptr Plugin ->                           -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    Ptr Gst.Structure.Structure ->          -- cache_data : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-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.--}-pluginSetCacheData ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    a-    {- ^ /@plugin@/: a plugin -}-    -> Gst.Structure.Structure-    {- ^ /@cacheData@/: a structure containing the data to cache -}-    -> m ()-pluginSetCacheData plugin cacheData = liftIO $ do-    plugin' <- unsafeManagedPtrCastPtr plugin-    cacheData' <- B.ManagedPtr.disownBoxed cacheData-    gst_plugin_set_cache_data plugin' cacheData'-    touchManagedPtr plugin-    touchManagedPtr cacheData-    return ()--#if ENABLE_OVERLOADING-data PluginSetCacheDataMethodInfo-instance (signature ~ (Gst.Structure.Structure -> m ()), MonadIO m, IsPlugin a) => O.MethodInfo PluginSetCacheDataMethodInfo a signature where-    overloadedMethod _ = pluginSetCacheData--#endif---- method Plugin::list_free--- method type : MemberFunction--- Args : [Arg {argCName = "list", argType = TGList (TInterface (Name {namespace = "Gst", name = "Plugin"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list of #GstPlugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_list_free" gst_plugin_list_free :: -    Ptr (GList (Ptr Plugin)) ->             -- list : TGList (TInterface (Name {namespace = "Gst", name = "Plugin"}))-    IO ()--{- |-Unrefs each member of /@list@/, then frees the list.--}-pluginListFree ::-    (B.CallStack.HasCallStack, MonadIO m, IsPlugin a) =>-    [a]-    {- ^ /@list@/: list of 'GI.Gst.Objects.Plugin.Plugin' -}-    -> m ()-pluginListFree list = liftIO $ do-    list' <- mapM B.ManagedPtr.disownObject list-    list'' <- packGList list'-    gst_plugin_list_free list''-    mapM_ touchManagedPtr list-    return ()--#if ENABLE_OVERLOADING-#endif---- method Plugin::load_by_name--- method type : MemberFunction--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of plugin to load", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Plugin"}))--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_load_by_name" gst_plugin_load_by_name :: -    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Plugin)--{- |-Load the named plugin. Refs the plugin.--}-pluginLoadByName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: name of plugin to load -}-    -> m (Maybe Plugin)-    {- ^ __Returns:__ a reference to a loaded plugin, or-'Nothing' on error. -}-pluginLoadByName name = liftIO $ do-    name' <- textToCString name-    result <- gst_plugin_load_by_name name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Plugin) result'-        return result''-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Plugin::load_file--- method type : MemberFunction--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the plugin filename to load", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Plugin"}))--- throws : True--- Skip return : False--foreign import ccall "gst_plugin_load_file" gst_plugin_load_file :: -    CString ->                              -- filename : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Plugin)--{- |-Loads the given plugin and refs it.  Caller needs to unref after use.--}-pluginLoadFile ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: the plugin filename to load -}-    -> m Plugin-    {- ^ __Returns:__ a reference to the existing loaded GstPlugin, a-reference to the newly-loaded GstPlugin, or 'Nothing' if an error occurred. /(Can throw 'Data.GI.Base.GError.GError')/ -}-pluginLoadFile filename = liftIO $ do-    filename' <- stringToCString filename-    onException (do-        result <- propagateGError $ gst_plugin_load_file filename'-        checkUnexpectedReturnNULL "pluginLoadFile" result-        result' <- (wrapObject Plugin) result-        freeMem filename'-        return result'-     ) (do-        freeMem filename'-     )--#if ENABLE_OVERLOADING-#endif---- method Plugin::register_static--- method type : MemberFunction--- Args : [Arg {argCName = "major_version", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the major version number of the GStreamer core that the\n    plugin was compiled for, you can just use GST_VERSION_MAJOR here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minor_version", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minor version number of the GStreamer core that the\n    plugin was compiled for, you can just use GST_VERSION_MINOR here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a unique name of the plugin (ideally prefixed with an application- or\n    library-specific namespace prefix in order to avoid name conflicts in\n    case a similar plugin with the same name ever gets added to GStreamer)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the plugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "init_func", argType = TInterface (Name {namespace = "Gst", name = "PluginInitFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the init function of this plugin.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "version string of the plugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "license", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "effective license of plugin. Must be one of the approved licenses\n    (see #GstPluginDesc above) or the plugin will not be registered.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "source module plugin belongs to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "package", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "shipped package plugin belongs to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "URL to provider of plugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_register_static" gst_plugin_register_static :: -    Int32 ->                                -- major_version : TBasicType TInt-    Int32 ->                                -- minor_version : TBasicType TInt-    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- description : TBasicType TUTF8-    FunPtr Gst.Callbacks.C_PluginInitFunc -> -- init_func : TInterface (Name {namespace = "Gst", name = "PluginInitFunc"})-    CString ->                              -- version : TBasicType TUTF8-    CString ->                              -- license : TBasicType TUTF8-    CString ->                              -- source : TBasicType TUTF8-    CString ->                              -- package : TBasicType TUTF8-    CString ->                              -- origin : TBasicType TUTF8-    IO CInt--{- |-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 'GI.Gst.Functions.init' or-via @/gst_init_get_option_group()/@) before calling this function.--}-pluginRegisterStatic ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@majorVersion@/: the major version number of the GStreamer core that the-    plugin was compiled for, you can just use GST_VERSION_MAJOR here -}-    -> Int32-    {- ^ /@minorVersion@/: the minor version number of the GStreamer core that the-    plugin was compiled for, you can just use GST_VERSION_MINOR here -}-    -> T.Text-    {- ^ /@name@/: 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) -}-    -> T.Text-    {- ^ /@description@/: description of the plugin -}-    -> Gst.Callbacks.PluginInitFunc-    {- ^ /@initFunc@/: pointer to the init function of this plugin. -}-    -> T.Text-    {- ^ /@version@/: version string of the plugin -}-    -> T.Text-    {- ^ /@license@/: effective license of plugin. Must be one of the approved licenses-    (see 'GI.Gst.Structs.PluginDesc.PluginDesc' above) or the plugin will not be registered. -}-    -> T.Text-    {- ^ /@source@/: source module plugin belongs to -}-    -> T.Text-    {- ^ /@package@/: shipped package plugin belongs to -}-    -> T.Text-    {- ^ /@origin@/: URL to provider of plugin -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the plugin was registered correctly, otherwise 'False'. -}-pluginRegisterStatic majorVersion minorVersion name description initFunc version license source package origin = liftIO $ do-    name' <- textToCString name-    description' <- textToCString description-    initFunc' <- Gst.Callbacks.mk_PluginInitFunc (Gst.Callbacks.wrap_PluginInitFunc Nothing initFunc)-    version' <- textToCString version-    license' <- textToCString license-    source' <- textToCString source-    package' <- textToCString package-    origin' <- textToCString origin-    result <- gst_plugin_register_static majorVersion minorVersion name' description' initFunc' version' license' source' package' origin'-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr initFunc'-    freeMem name'-    freeMem description'-    freeMem version'-    freeMem license'-    freeMem source'-    freeMem package'-    freeMem origin'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Plugin::register_static_full--- method type : MemberFunction--- Args : [Arg {argCName = "major_version", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the major version number of the GStreamer core that the\n    plugin was compiled for, you can just use GST_VERSION_MAJOR here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minor_version", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minor version number of the GStreamer core that the\n    plugin was compiled for, you can just use GST_VERSION_MINOR here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a unique name of the plugin (ideally prefixed with an application- or\n    library-specific namespace prefix in order to avoid name conflicts in\n    case a similar plugin with the same name ever gets added to GStreamer)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the plugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "init_full_func", argType = TInterface (Name {namespace = "Gst", name = "PluginInitFullFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the init function with user data\n    of this plugin.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 10, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "version string of the plugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "license", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "effective license of plugin. Must be one of the approved licenses\n    (see #GstPluginDesc above) or the plugin will not be registered.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "source module plugin belongs to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "package", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "shipped package plugin belongs to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "URL to provider of plugin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "gpointer to user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_register_static_full" gst_plugin_register_static_full :: -    Int32 ->                                -- major_version : TBasicType TInt-    Int32 ->                                -- minor_version : TBasicType TInt-    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- description : TBasicType TUTF8-    FunPtr Gst.Callbacks.C_PluginInitFullFunc -> -- init_full_func : TInterface (Name {namespace = "Gst", name = "PluginInitFullFunc"})-    CString ->                              -- version : TBasicType TUTF8-    CString ->                              -- license : TBasicType TUTF8-    CString ->                              -- source : TBasicType TUTF8-    CString ->                              -- package : TBasicType TUTF8-    CString ->                              -- origin : TBasicType TUTF8-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-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 'GI.Gst.Callbacks.PluginInitFullFunc'-which allows user data to be passed to the callback function (useful-for bindings).--You must make sure that GStreamer has been initialised (with 'GI.Gst.Functions.init' or-via @/gst_init_get_option_group()/@) before calling this function.--}-pluginRegisterStaticFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@majorVersion@/: the major version number of the GStreamer core that the-    plugin was compiled for, you can just use GST_VERSION_MAJOR here -}-    -> Int32-    {- ^ /@minorVersion@/: the minor version number of the GStreamer core that the-    plugin was compiled for, you can just use GST_VERSION_MINOR here -}-    -> T.Text-    {- ^ /@name@/: 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) -}-    -> T.Text-    {- ^ /@description@/: description of the plugin -}-    -> Gst.Callbacks.PluginInitFullFunc-    {- ^ /@initFullFunc@/: pointer to the init function with user data-    of this plugin. -}-    -> T.Text-    {- ^ /@version@/: version string of the plugin -}-    -> T.Text-    {- ^ /@license@/: effective license of plugin. Must be one of the approved licenses-    (see 'GI.Gst.Structs.PluginDesc.PluginDesc' above) or the plugin will not be registered. -}-    -> T.Text-    {- ^ /@source@/: source module plugin belongs to -}-    -> T.Text-    {- ^ /@package@/: shipped package plugin belongs to -}-    -> T.Text-    {- ^ /@origin@/: URL to provider of plugin -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the plugin was registered correctly, otherwise 'False'. -}-pluginRegisterStaticFull majorVersion minorVersion name description initFullFunc version license source package origin = liftIO $ do-    name' <- textToCString name-    description' <- textToCString description-    initFullFunc' <- Gst.Callbacks.mk_PluginInitFullFunc (Gst.Callbacks.wrap_PluginInitFullFunc Nothing (Gst.Callbacks.drop_closures_PluginInitFullFunc initFullFunc))-    version' <- textToCString version-    license' <- textToCString license-    source' <- textToCString source-    package' <- textToCString package-    origin' <- textToCString origin-    let userData = nullPtr-    result <- gst_plugin_register_static_full majorVersion minorVersion name' description' initFullFunc' version' license' source' package' origin' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr initFullFunc'-    freeMem name'-    freeMem description'-    freeMem version'-    freeMem license'-    freeMem source'-    freeMem package'-    freeMem origin'-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/Plugin.hs-boot
@@ -1,74 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Plugin where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Plugin = Plugin (ManagedPtr Plugin)-instance GObject Plugin where-class (GObject o, O.IsDescendantOf Plugin o) => IsPlugin o-instance (GObject o, O.IsDescendantOf Plugin o) => IsPlugin o-instance O.HasParentTypes Plugin-#if ENABLE_OVERLOADING-data PluginAddDependencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginAddDependencySimpleMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetCacheDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetDescriptionMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetFilenameMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetLicenseMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetOriginMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetPackageMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetReleaseDateStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetSourceMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginGetVersionMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginIsLoadedMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginLoadMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginSetCacheDataMethodInfo-#endif
− GI/Gst/Objects/PluginFeature.hs
@@ -1,605 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--This is a base class for anything that can be added to a 'GI.Gst.Objects.Plugin.Plugin'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.PluginFeature-    ( ---- * Exported types-    PluginFeature(..)                       ,-    IsPluginFeature                         ,-    toPluginFeature                         ,-    noPluginFeature                         ,--- -- * Methods--- ** checkVersion #method:checkVersion#--#if ENABLE_OVERLOADING-    PluginFeatureCheckVersionMethodInfo     ,-#endif-    pluginFeatureCheckVersion               ,----- ** getPlugin #method:getPlugin#--#if ENABLE_OVERLOADING-    PluginFeatureGetPluginMethodInfo        ,-#endif-    pluginFeatureGetPlugin                  ,----- ** getPluginName #method:getPluginName#--#if ENABLE_OVERLOADING-    PluginFeatureGetPluginNameMethodInfo    ,-#endif-    pluginFeatureGetPluginName              ,----- ** getRank #method:getRank#--#if ENABLE_OVERLOADING-    PluginFeatureGetRankMethodInfo          ,-#endif-    pluginFeatureGetRank                    ,----- ** listCopy #method:listCopy#--    pluginFeatureListCopy                   ,----- ** listDebug #method:listDebug#--    pluginFeatureListDebug                  ,----- ** listFree #method:listFree#--    pluginFeatureListFree                   ,----- ** load #method:load#--#if ENABLE_OVERLOADING-    PluginFeatureLoadMethodInfo             ,-#endif-    pluginFeatureLoad                       ,----- ** rankCompareFunc #method:rankCompareFunc#--    pluginFeatureRankCompareFunc            ,----- ** setRank #method:setRank#--#if ENABLE_OVERLOADING-    PluginFeatureSetRankMethodInfo          ,-#endif-    pluginFeatureSetRank                    ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Plugin as Gst.Plugin---- | Memory-managed wrapper type.-newtype PluginFeature = PluginFeature (ManagedPtr PluginFeature)-foreign import ccall "gst_plugin_feature_get_type"-    c_gst_plugin_feature_get_type :: IO GType--instance GObject PluginFeature where-    gobjectType = c_gst_plugin_feature_get_type-    ---- | Type class for types which can be safely cast to `PluginFeature`, for instance with `toPluginFeature`.-class (GObject o, O.IsDescendantOf PluginFeature o) => IsPluginFeature o-instance (GObject o, O.IsDescendantOf PluginFeature o) => IsPluginFeature o--instance O.HasParentTypes PluginFeature-type instance O.ParentTypes PluginFeature = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `PluginFeature`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toPluginFeature :: (MonadIO m, IsPluginFeature o) => o -> m PluginFeature-toPluginFeature = liftIO . unsafeCastTo PluginFeature---- | A convenience alias for `Nothing` :: `Maybe` `PluginFeature`.-noPluginFeature :: Maybe PluginFeature-noPluginFeature = Nothing--#if ENABLE_OVERLOADING-type family ResolvePluginFeatureMethod (t :: Symbol) (o :: *) :: * where-    ResolvePluginFeatureMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolvePluginFeatureMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolvePluginFeatureMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolvePluginFeatureMethod "checkVersion" o = PluginFeatureCheckVersionMethodInfo-    ResolvePluginFeatureMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolvePluginFeatureMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolvePluginFeatureMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolvePluginFeatureMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolvePluginFeatureMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolvePluginFeatureMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolvePluginFeatureMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolvePluginFeatureMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolvePluginFeatureMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolvePluginFeatureMethod "load" o = PluginFeatureLoadMethodInfo-    ResolvePluginFeatureMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolvePluginFeatureMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolvePluginFeatureMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolvePluginFeatureMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolvePluginFeatureMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolvePluginFeatureMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolvePluginFeatureMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolvePluginFeatureMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolvePluginFeatureMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolvePluginFeatureMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolvePluginFeatureMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolvePluginFeatureMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolvePluginFeatureMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolvePluginFeatureMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolvePluginFeatureMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolvePluginFeatureMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolvePluginFeatureMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolvePluginFeatureMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolvePluginFeatureMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolvePluginFeatureMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolvePluginFeatureMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolvePluginFeatureMethod "getPlugin" o = PluginFeatureGetPluginMethodInfo-    ResolvePluginFeatureMethod "getPluginName" o = PluginFeatureGetPluginNameMethodInfo-    ResolvePluginFeatureMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolvePluginFeatureMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolvePluginFeatureMethod "getRank" o = PluginFeatureGetRankMethodInfo-    ResolvePluginFeatureMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolvePluginFeatureMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolvePluginFeatureMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolvePluginFeatureMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolvePluginFeatureMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolvePluginFeatureMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolvePluginFeatureMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolvePluginFeatureMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolvePluginFeatureMethod "setRank" o = PluginFeatureSetRankMethodInfo-    ResolvePluginFeatureMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePluginFeatureMethod t PluginFeature, O.MethodInfo info PluginFeature p) => OL.IsLabel t (PluginFeature -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList PluginFeature-type instance O.AttributeList PluginFeature = PluginFeatureAttributeList-type PluginFeatureAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList PluginFeature = PluginFeatureSignalList-type PluginFeatureSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method PluginFeature::check_version--- method type : OrdinaryMethod--- Args : [Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_major", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum required major version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_minor", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum required minor version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_micro", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum required micro version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_check_version" gst_plugin_feature_check_version :: -    Ptr PluginFeature ->                    -- feature : TInterface (Name {namespace = "Gst", name = "PluginFeature"})-    Word32 ->                               -- min_major : TBasicType TUInt-    Word32 ->                               -- min_minor : TBasicType TUInt-    Word32 ->                               -- min_micro : TBasicType TUInt-    IO CInt--{- |-Checks whether the given plugin feature is at least- the required version--}-pluginFeatureCheckVersion ::-    (B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>-    a-    {- ^ /@feature@/: a feature -}-    -> Word32-    {- ^ /@minMajor@/: minimum required major version -}-    -> Word32-    {- ^ /@minMinor@/: minimum required minor version -}-    -> Word32-    {- ^ /@minMicro@/: minimum required micro version -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the plugin feature has at least- the required version, otherwise 'False'. -}-pluginFeatureCheckVersion feature minMajor minMinor minMicro = liftIO $ do-    feature' <- unsafeManagedPtrCastPtr feature-    result <- gst_plugin_feature_check_version feature' minMajor minMinor minMicro-    let result' = (/= 0) result-    touchManagedPtr feature-    return result'--#if ENABLE_OVERLOADING-data PluginFeatureCheckVersionMethodInfo-instance (signature ~ (Word32 -> Word32 -> Word32 -> m Bool), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureCheckVersionMethodInfo a signature where-    overloadedMethod _ = pluginFeatureCheckVersion--#endif---- method PluginFeature::get_plugin--- method type : OrdinaryMethod--- Args : [Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Plugin"}))--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_get_plugin" gst_plugin_feature_get_plugin :: -    Ptr PluginFeature ->                    -- feature : TInterface (Name {namespace = "Gst", name = "PluginFeature"})-    IO (Ptr Gst.Plugin.Plugin)--{- |-Get the plugin that provides this feature.--}-pluginFeatureGetPlugin ::-    (B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>-    a-    {- ^ /@feature@/: a feature -}-    -> m (Maybe Gst.Plugin.Plugin)-    {- ^ __Returns:__ the plugin that provides this-    feature, or 'Nothing'.  Unref with 'GI.Gst.Objects.Object.objectUnref' when no-    longer needed. -}-pluginFeatureGetPlugin feature = liftIO $ do-    feature' <- unsafeManagedPtrCastPtr feature-    result <- gst_plugin_feature_get_plugin feature'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Plugin.Plugin) result'-        return result''-    touchManagedPtr feature-    return maybeResult--#if ENABLE_OVERLOADING-data PluginFeatureGetPluginMethodInfo-instance (signature ~ (m (Maybe Gst.Plugin.Plugin)), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureGetPluginMethodInfo a signature where-    overloadedMethod _ = pluginFeatureGetPlugin--#endif---- method PluginFeature::get_plugin_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_get_plugin_name" gst_plugin_feature_get_plugin_name :: -    Ptr PluginFeature ->                    -- feature : TInterface (Name {namespace = "Gst", name = "PluginFeature"})-    IO CString--{- |-Get the name of the plugin that provides this feature.--/Since: 1.2/--}-pluginFeatureGetPluginName ::-    (B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>-    a-    {- ^ /@feature@/: a feature -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the name of the plugin that provides this-    feature, or 'Nothing' if the feature is not associated with a-    plugin. -}-pluginFeatureGetPluginName feature = liftIO $ do-    feature' <- unsafeManagedPtrCastPtr feature-    result <- gst_plugin_feature_get_plugin_name feature'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr feature-    return maybeResult--#if ENABLE_OVERLOADING-data PluginFeatureGetPluginNameMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureGetPluginNameMethodInfo a signature where-    overloadedMethod _ = pluginFeatureGetPluginName--#endif---- method PluginFeature::get_rank--- method type : OrdinaryMethod--- Args : [Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_get_rank" gst_plugin_feature_get_rank :: -    Ptr PluginFeature ->                    -- feature : TInterface (Name {namespace = "Gst", name = "PluginFeature"})-    IO Word32--{- |-Gets the rank of a plugin feature.--}-pluginFeatureGetRank ::-    (B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>-    a-    {- ^ /@feature@/: a feature -}-    -> m Word32-    {- ^ __Returns:__ The rank of the feature -}-pluginFeatureGetRank feature = liftIO $ do-    feature' <- unsafeManagedPtrCastPtr feature-    result <- gst_plugin_feature_get_rank feature'-    touchManagedPtr feature-    return result--#if ENABLE_OVERLOADING-data PluginFeatureGetRankMethodInfo-instance (signature ~ (m Word32), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureGetRankMethodInfo a signature where-    overloadedMethod _ = pluginFeatureGetRank--#endif---- method PluginFeature::load--- method type : OrdinaryMethod--- Args : [Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the plugin feature to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PluginFeature"}))--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_load" gst_plugin_feature_load :: -    Ptr PluginFeature ->                    -- feature : TInterface (Name {namespace = "Gst", name = "PluginFeature"})-    IO (Ptr PluginFeature)--{- |-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:--=== /C code/->->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;--}-pluginFeatureLoad ::-    (B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>-    a-    {- ^ /@feature@/: the plugin feature to check -}-    -> m (Maybe PluginFeature)-    {- ^ __Returns:__ a reference to the loaded-feature, or 'Nothing' on error -}-pluginFeatureLoad feature = liftIO $ do-    feature' <- unsafeManagedPtrCastPtr feature-    result <- gst_plugin_feature_load feature'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject PluginFeature) result'-        return result''-    touchManagedPtr feature-    return maybeResult--#if ENABLE_OVERLOADING-data PluginFeatureLoadMethodInfo-instance (signature ~ (m (Maybe PluginFeature)), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureLoadMethodInfo a signature where-    overloadedMethod _ = pluginFeatureLoad--#endif---- method PluginFeature::set_rank--- method type : OrdinaryMethod--- Args : [Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "feature to rank", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rank", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "rank value - higher number means more priority rank", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_set_rank" gst_plugin_feature_set_rank :: -    Ptr PluginFeature ->                    -- feature : TInterface (Name {namespace = "Gst", name = "PluginFeature"})-    Word32 ->                               -- rank : TBasicType TUInt-    IO ()--{- |-Specifies a rank for a plugin feature, so that autoplugging uses-the most appropriate feature.--}-pluginFeatureSetRank ::-    (B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>-    a-    {- ^ /@feature@/: feature to rank -}-    -> Word32-    {- ^ /@rank@/: rank value - higher number means more priority rank -}-    -> m ()-pluginFeatureSetRank feature rank = liftIO $ do-    feature' <- unsafeManagedPtrCastPtr feature-    gst_plugin_feature_set_rank feature' rank-    touchManagedPtr feature-    return ()--#if ENABLE_OVERLOADING-data PluginFeatureSetRankMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureSetRankMethodInfo a signature where-    overloadedMethod _ = pluginFeatureSetRank--#endif---- method PluginFeature::list_copy--- method type : MemberFunction--- Args : [Arg {argCName = "list", argType = TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list\n    of #GstPluginFeature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"})))--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_list_copy" gst_plugin_feature_list_copy :: -    Ptr (GList (Ptr PluginFeature)) ->      -- list : TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"}))-    IO (Ptr (GList (Ptr PluginFeature)))--{- |-Copies the list of features. Caller should call /@gstPluginFeatureListFree@/-when done with the list.--}-pluginFeatureListCopy ::-    (B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>-    [a]-    {- ^ /@list@/: list-    of 'GI.Gst.Objects.PluginFeature.PluginFeature' -}-    -> m [PluginFeature]-    {- ^ __Returns:__ a copy of /@list@/,-    with each feature\'s reference count incremented. -}-pluginFeatureListCopy list = liftIO $ do-    list' <- mapM unsafeManagedPtrCastPtr list-    list'' <- packGList list'-    result <- gst_plugin_feature_list_copy list''-    result' <- unpackGList result-    result'' <- mapM (wrapObject PluginFeature) result'-    g_list_free result-    mapM_ touchManagedPtr list-    g_list_free list''-    return result''--#if ENABLE_OVERLOADING-#endif---- method PluginFeature::list_debug--- method type : MemberFunction--- Args : [Arg {argCName = "list", argType = TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GList of\n    plugin features", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_list_debug" gst_plugin_feature_list_debug :: -    Ptr (GList (Ptr PluginFeature)) ->      -- list : TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"}))-    IO ()--{- |-Debug the plugin feature names in /@list@/.--}-pluginFeatureListDebug ::-    (B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>-    [a]-    {- ^ /@list@/: a 'GI.GLib.Structs.List.List' of-    plugin features -}-    -> m ()-pluginFeatureListDebug list = liftIO $ do-    list' <- mapM unsafeManagedPtrCastPtr list-    list'' <- packGList list'-    gst_plugin_feature_list_debug list''-    mapM_ touchManagedPtr list-    g_list_free list''-    return ()--#if ENABLE_OVERLOADING-#endif---- method PluginFeature::list_free--- method type : MemberFunction--- Args : [Arg {argCName = "list", argType = TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list\n    of #GstPluginFeature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_list_free" gst_plugin_feature_list_free :: -    Ptr (GList (Ptr PluginFeature)) ->      -- list : TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"}))-    IO ()--{- |-Unrefs each member of /@list@/, then frees the list.--}-pluginFeatureListFree ::-    (B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>-    [a]-    {- ^ /@list@/: list-    of 'GI.Gst.Objects.PluginFeature.PluginFeature' -}-    -> m ()-pluginFeatureListFree list = liftIO $ do-    list' <- mapM B.ManagedPtr.disownObject list-    list'' <- packGList list'-    gst_plugin_feature_list_free list''-    mapM_ touchManagedPtr list-    return ()--#if ENABLE_OVERLOADING-#endif---- method PluginFeature::rank_compare_func--- method type : MemberFunction--- Args : [Arg {argCName = "p1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstPluginFeature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "p2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstPluginFeature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_plugin_feature_rank_compare_func" gst_plugin_feature_rank_compare_func :: -    Ptr () ->                               -- p1 : TBasicType TPtr-    Ptr () ->                               -- p2 : TBasicType TPtr-    IO Int32--{- |-Compares the two given 'GI.Gst.Objects.PluginFeature.PluginFeature' instances. This function can be-used as a 'GI.GLib.Callbacks.CompareFunc' when sorting by rank and then by name.--}-pluginFeatureRankCompareFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@p1@/: a 'GI.Gst.Objects.PluginFeature.PluginFeature' -}-    -> Ptr ()-    {- ^ /@p2@/: a 'GI.Gst.Objects.PluginFeature.PluginFeature' -}-    -> m Int32-    {- ^ __Returns:__ negative value if the rank of p1 > 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 \< the rank of p2 or the-ranks are equal but the name of p2 comes before the name of p1 -}-pluginFeatureRankCompareFunc p1 p2 = liftIO $ do-    result <- gst_plugin_feature_rank_compare_func p1 p2-    return result--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/PluginFeature.hs-boot
@@ -1,47 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.PluginFeature where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype PluginFeature = PluginFeature (ManagedPtr PluginFeature)-instance GObject PluginFeature where-class (GObject o, O.IsDescendantOf PluginFeature o) => IsPluginFeature o-instance (GObject o, O.IsDescendantOf PluginFeature o) => IsPluginFeature o-instance O.HasParentTypes PluginFeature-#if ENABLE_OVERLOADING-data PluginFeatureCheckVersionMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginFeatureGetPluginMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginFeatureGetPluginNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginFeatureGetRankMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginFeatureLoadMethodInfo-#endif-#if ENABLE_OVERLOADING-data PluginFeatureSetRankMethodInfo-#endif
− GI/Gst/Objects/ProxyPad.hs
@@ -1,482 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--/No description available in the introspection data./--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.ProxyPad-    ( ---- * Exported types-    ProxyPad(..)                            ,-    IsProxyPad                              ,-    toProxyPad                              ,-    noProxyPad                              ,--- -- * Methods--- ** chainDefault #method:chainDefault#--    proxyPadChainDefault                    ,----- ** chainListDefault #method:chainListDefault#--    proxyPadChainListDefault                ,----- ** getInternal #method:getInternal#--#if ENABLE_OVERLOADING-    ProxyPadGetInternalMethodInfo           ,-#endif-    proxyPadGetInternal                     ,----- ** getrangeDefault #method:getrangeDefault#--    proxyPadGetrangeDefault                 ,----- ** iterateInternalLinksDefault #method:iterateInternalLinksDefault#--    proxyPadIterateInternalLinksDefault     ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Pad as Gst.Pad-import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.Gst.Structs.BufferList as Gst.BufferList-import {-# SOURCE #-} qualified GI.Gst.Structs.Iterator as Gst.Iterator---- | Memory-managed wrapper type.-newtype ProxyPad = ProxyPad (ManagedPtr ProxyPad)-foreign import ccall "gst_proxy_pad_get_type"-    c_gst_proxy_pad_get_type :: IO GType--instance GObject ProxyPad where-    gobjectType = c_gst_proxy_pad_get_type-    ---- | Type class for types which can be safely cast to `ProxyPad`, for instance with `toProxyPad`.-class (GObject o, O.IsDescendantOf ProxyPad o) => IsProxyPad o-instance (GObject o, O.IsDescendantOf ProxyPad o) => IsProxyPad o--instance O.HasParentTypes ProxyPad-type instance O.ParentTypes ProxyPad = '[Gst.Pad.Pad, Gst.Object.Object, GObject.Object.Object]---- | Cast to `ProxyPad`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toProxyPad :: (MonadIO m, IsProxyPad o) => o -> m ProxyPad-toProxyPad = liftIO . unsafeCastTo ProxyPad---- | A convenience alias for `Nothing` :: `Maybe` `ProxyPad`.-noProxyPad :: Maybe ProxyPad-noProxyPad = Nothing--#if ENABLE_OVERLOADING-type family ResolveProxyPadMethod (t :: Symbol) (o :: *) :: * where-    ResolveProxyPadMethod "activateMode" o = Gst.Pad.PadActivateModeMethodInfo-    ResolveProxyPadMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveProxyPadMethod "addProbe" o = Gst.Pad.PadAddProbeMethodInfo-    ResolveProxyPadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveProxyPadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveProxyPadMethod "canLink" o = Gst.Pad.PadCanLinkMethodInfo-    ResolveProxyPadMethod "chain" o = Gst.Pad.PadChainMethodInfo-    ResolveProxyPadMethod "chainList" o = Gst.Pad.PadChainListMethodInfo-    ResolveProxyPadMethod "checkReconfigure" o = Gst.Pad.PadCheckReconfigureMethodInfo-    ResolveProxyPadMethod "createStreamId" o = Gst.Pad.PadCreateStreamIdMethodInfo-    ResolveProxyPadMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveProxyPadMethod "eventDefault" o = Gst.Pad.PadEventDefaultMethodInfo-    ResolveProxyPadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveProxyPadMethod "forward" o = Gst.Pad.PadForwardMethodInfo-    ResolveProxyPadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveProxyPadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveProxyPadMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveProxyPadMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveProxyPadMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveProxyPadMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveProxyPadMethod "hasCurrentCaps" o = Gst.Pad.PadHasCurrentCapsMethodInfo-    ResolveProxyPadMethod "isActive" o = Gst.Pad.PadIsActiveMethodInfo-    ResolveProxyPadMethod "isBlocked" o = Gst.Pad.PadIsBlockedMethodInfo-    ResolveProxyPadMethod "isBlocking" o = Gst.Pad.PadIsBlockingMethodInfo-    ResolveProxyPadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveProxyPadMethod "isLinked" o = Gst.Pad.PadIsLinkedMethodInfo-    ResolveProxyPadMethod "iterateInternalLinks" o = Gst.Pad.PadIterateInternalLinksMethodInfo-    ResolveProxyPadMethod "link" o = Gst.Pad.PadLinkMethodInfo-    ResolveProxyPadMethod "linkFull" o = Gst.Pad.PadLinkFullMethodInfo-    ResolveProxyPadMethod "linkMaybeGhosting" o = Gst.Pad.PadLinkMaybeGhostingMethodInfo-    ResolveProxyPadMethod "linkMaybeGhostingFull" o = Gst.Pad.PadLinkMaybeGhostingFullMethodInfo-    ResolveProxyPadMethod "markReconfigure" o = Gst.Pad.PadMarkReconfigureMethodInfo-    ResolveProxyPadMethod "needsReconfigure" o = Gst.Pad.PadNeedsReconfigureMethodInfo-    ResolveProxyPadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveProxyPadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveProxyPadMethod "pauseTask" o = Gst.Pad.PadPauseTaskMethodInfo-    ResolveProxyPadMethod "peerQuery" o = Gst.Pad.PadPeerQueryMethodInfo-    ResolveProxyPadMethod "peerQueryAcceptCaps" o = Gst.Pad.PadPeerQueryAcceptCapsMethodInfo-    ResolveProxyPadMethod "peerQueryCaps" o = Gst.Pad.PadPeerQueryCapsMethodInfo-    ResolveProxyPadMethod "peerQueryConvert" o = Gst.Pad.PadPeerQueryConvertMethodInfo-    ResolveProxyPadMethod "peerQueryDuration" o = Gst.Pad.PadPeerQueryDurationMethodInfo-    ResolveProxyPadMethod "peerQueryPosition" o = Gst.Pad.PadPeerQueryPositionMethodInfo-    ResolveProxyPadMethod "proxyQueryAcceptCaps" o = Gst.Pad.PadProxyQueryAcceptCapsMethodInfo-    ResolveProxyPadMethod "proxyQueryCaps" o = Gst.Pad.PadProxyQueryCapsMethodInfo-    ResolveProxyPadMethod "pullRange" o = Gst.Pad.PadPullRangeMethodInfo-    ResolveProxyPadMethod "push" o = Gst.Pad.PadPushMethodInfo-    ResolveProxyPadMethod "pushEvent" o = Gst.Pad.PadPushEventMethodInfo-    ResolveProxyPadMethod "pushList" o = Gst.Pad.PadPushListMethodInfo-    ResolveProxyPadMethod "query" o = Gst.Pad.PadQueryMethodInfo-    ResolveProxyPadMethod "queryAcceptCaps" o = Gst.Pad.PadQueryAcceptCapsMethodInfo-    ResolveProxyPadMethod "queryCaps" o = Gst.Pad.PadQueryCapsMethodInfo-    ResolveProxyPadMethod "queryConvert" o = Gst.Pad.PadQueryConvertMethodInfo-    ResolveProxyPadMethod "queryDefault" o = Gst.Pad.PadQueryDefaultMethodInfo-    ResolveProxyPadMethod "queryDuration" o = Gst.Pad.PadQueryDurationMethodInfo-    ResolveProxyPadMethod "queryPosition" o = Gst.Pad.PadQueryPositionMethodInfo-    ResolveProxyPadMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveProxyPadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveProxyPadMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveProxyPadMethod "removeProbe" o = Gst.Pad.PadRemoveProbeMethodInfo-    ResolveProxyPadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveProxyPadMethod "sendEvent" o = Gst.Pad.PadSendEventMethodInfo-    ResolveProxyPadMethod "startTask" o = Gst.Pad.PadStartTaskMethodInfo-    ResolveProxyPadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveProxyPadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveProxyPadMethod "stickyEventsForeach" o = Gst.Pad.PadStickyEventsForeachMethodInfo-    ResolveProxyPadMethod "stopTask" o = Gst.Pad.PadStopTaskMethodInfo-    ResolveProxyPadMethod "storeStickyEvent" o = Gst.Pad.PadStoreStickyEventMethodInfo-    ResolveProxyPadMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveProxyPadMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveProxyPadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveProxyPadMethod "unlink" o = Gst.Pad.PadUnlinkMethodInfo-    ResolveProxyPadMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveProxyPadMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveProxyPadMethod "useFixedCaps" o = Gst.Pad.PadUseFixedCapsMethodInfo-    ResolveProxyPadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveProxyPadMethod "getAllowedCaps" o = Gst.Pad.PadGetAllowedCapsMethodInfo-    ResolveProxyPadMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveProxyPadMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveProxyPadMethod "getCurrentCaps" o = Gst.Pad.PadGetCurrentCapsMethodInfo-    ResolveProxyPadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveProxyPadMethod "getDirection" o = Gst.Pad.PadGetDirectionMethodInfo-    ResolveProxyPadMethod "getElementPrivate" o = Gst.Pad.PadGetElementPrivateMethodInfo-    ResolveProxyPadMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveProxyPadMethod "getInternal" o = ProxyPadGetInternalMethodInfo-    ResolveProxyPadMethod "getLastFlowReturn" o = Gst.Pad.PadGetLastFlowReturnMethodInfo-    ResolveProxyPadMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveProxyPadMethod "getOffset" o = Gst.Pad.PadGetOffsetMethodInfo-    ResolveProxyPadMethod "getPadTemplate" o = Gst.Pad.PadGetPadTemplateMethodInfo-    ResolveProxyPadMethod "getPadTemplateCaps" o = Gst.Pad.PadGetPadTemplateCapsMethodInfo-    ResolveProxyPadMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveProxyPadMethod "getParentElement" o = Gst.Pad.PadGetParentElementMethodInfo-    ResolveProxyPadMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveProxyPadMethod "getPeer" o = Gst.Pad.PadGetPeerMethodInfo-    ResolveProxyPadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveProxyPadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveProxyPadMethod "getRange" o = Gst.Pad.PadGetRangeMethodInfo-    ResolveProxyPadMethod "getStickyEvent" o = Gst.Pad.PadGetStickyEventMethodInfo-    ResolveProxyPadMethod "getStream" o = Gst.Pad.PadGetStreamMethodInfo-    ResolveProxyPadMethod "getStreamId" o = Gst.Pad.PadGetStreamIdMethodInfo-    ResolveProxyPadMethod "getTaskState" o = Gst.Pad.PadGetTaskStateMethodInfo-    ResolveProxyPadMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveProxyPadMethod "setActivateFunctionFull" o = Gst.Pad.PadSetActivateFunctionFullMethodInfo-    ResolveProxyPadMethod "setActivatemodeFunctionFull" o = Gst.Pad.PadSetActivatemodeFunctionFullMethodInfo-    ResolveProxyPadMethod "setActive" o = Gst.Pad.PadSetActiveMethodInfo-    ResolveProxyPadMethod "setChainFunctionFull" o = Gst.Pad.PadSetChainFunctionFullMethodInfo-    ResolveProxyPadMethod "setChainListFunctionFull" o = Gst.Pad.PadSetChainListFunctionFullMethodInfo-    ResolveProxyPadMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveProxyPadMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveProxyPadMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveProxyPadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveProxyPadMethod "setElementPrivate" o = Gst.Pad.PadSetElementPrivateMethodInfo-    ResolveProxyPadMethod "setEventFullFunctionFull" o = Gst.Pad.PadSetEventFullFunctionFullMethodInfo-    ResolveProxyPadMethod "setEventFunctionFull" o = Gst.Pad.PadSetEventFunctionFullMethodInfo-    ResolveProxyPadMethod "setGetrangeFunctionFull" o = Gst.Pad.PadSetGetrangeFunctionFullMethodInfo-    ResolveProxyPadMethod "setIterateInternalLinksFunctionFull" o = Gst.Pad.PadSetIterateInternalLinksFunctionFullMethodInfo-    ResolveProxyPadMethod "setLinkFunctionFull" o = Gst.Pad.PadSetLinkFunctionFullMethodInfo-    ResolveProxyPadMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveProxyPadMethod "setOffset" o = Gst.Pad.PadSetOffsetMethodInfo-    ResolveProxyPadMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveProxyPadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveProxyPadMethod "setQueryFunctionFull" o = Gst.Pad.PadSetQueryFunctionFullMethodInfo-    ResolveProxyPadMethod "setUnlinkFunctionFull" o = Gst.Pad.PadSetUnlinkFunctionFullMethodInfo-    ResolveProxyPadMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveProxyPadMethod t ProxyPad, O.MethodInfo info ProxyPad p) => OL.IsLabel t (ProxyPad -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList ProxyPad-type instance O.AttributeList ProxyPad = ProxyPadAttributeList-type ProxyPadAttributeList = ('[ '("caps", Gst.Pad.PadCapsPropertyInfo), '("direction", Gst.Pad.PadDirectionPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("offset", Gst.Pad.PadOffsetPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("template", Gst.Pad.PadTemplatePropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList ProxyPad = ProxyPadSignalList-type ProxyPadSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("linked", Gst.Pad.PadLinkedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("unlinked", Gst.Pad.PadUnlinkedSignalInfo)] :: [(Symbol, *)])--#endif---- method ProxyPad::get_internal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "ProxyPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstProxyPad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ProxyPad"}))--- throws : False--- Skip return : False--foreign import ccall "gst_proxy_pad_get_internal" gst_proxy_pad_get_internal :: -    Ptr ProxyPad ->                         -- pad : TInterface (Name {namespace = "Gst", name = "ProxyPad"})-    IO (Ptr ProxyPad)--{- |-Get the internal pad of /@pad@/. Unref target pad after usage.--The internal pad of a 'GI.Gst.Objects.GhostPad.GhostPad' is the internally used-pad of opposite direction, which is used to link to the target.--}-proxyPadGetInternal ::-    (B.CallStack.HasCallStack, MonadIO m, IsProxyPad a) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.ProxyPad.ProxyPad' -}-    -> m (Maybe ProxyPad)-    {- ^ __Returns:__ the target 'GI.Gst.Objects.ProxyPad.ProxyPad', can-be 'Nothing'.  Unref target pad after usage. -}-proxyPadGetInternal pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_proxy_pad_get_internal pad'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject ProxyPad) result'-        return result''-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data ProxyPadGetInternalMethodInfo-instance (signature ~ (m (Maybe ProxyPad)), MonadIO m, IsProxyPad a) => O.MethodInfo ProxyPadGetInternalMethodInfo a signature where-    overloadedMethod _ = proxyPadGetInternal--#endif---- method ProxyPad::chain_default--- method type : MemberFunction--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a sink #GstPad, returns GST_FLOW_ERROR if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBuffer to send, return GST_FLOW_ERROR\n    if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_proxy_pad_chain_default" gst_proxy_pad_chain_default :: -    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Buffer.Buffer ->                -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO CInt--{- |-Invoke the default chain function of the proxy pad.--}-proxyPadChainDefault ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    a-    {- ^ /@pad@/: a sink 'GI.Gst.Objects.Pad.Pad', returns GST_FLOW_ERROR if not. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/ or 'Nothing' -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: the 'GI.Gst.Structs.Buffer.Buffer' to send, return GST_FLOW_ERROR-    if not. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' from the pad. -}-proxyPadChainDefault pad parent buffer = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    buffer' <- B.ManagedPtr.disownBoxed buffer-    result <- gst_proxy_pad_chain_default pad' maybeParent buffer'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-#endif---- method ProxyPad::chain_list_default--- method type : MemberFunction--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a sink #GstPad, returns GST_FLOW_ERROR if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBufferList to send, return GST_FLOW_ERROR\n    if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_proxy_pad_chain_list_default" gst_proxy_pad_chain_list_default :: -    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.BufferList.BufferList ->        -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    IO CInt--{- |-Invoke the default chain list function of the proxy pad.--}-proxyPadChainListDefault ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    a-    {- ^ /@pad@/: a sink 'GI.Gst.Objects.Pad.Pad', returns GST_FLOW_ERROR if not. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/ or 'Nothing' -}-    -> Gst.BufferList.BufferList-    {- ^ /@list@/: the 'GI.Gst.Structs.BufferList.BufferList' to send, return GST_FLOW_ERROR-    if not. -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' from the pad. -}-proxyPadChainListDefault pad parent list = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    list' <- B.ManagedPtr.disownBoxed list-    result <- gst_proxy_pad_chain_list_default pad' maybeParent list'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    touchManagedPtr list-    return result'--#if ENABLE_OVERLOADING-#endif---- method ProxyPad::getrange_default--- method type : MemberFunction--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a src #GstPad, returns #GST_FLOW_ERROR if not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the parent of @pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The start offset of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the #GstBuffer,\n    returns #GST_FLOW_ERROR if %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"}))--- throws : False--- Skip return : False--foreign import ccall "gst_proxy_pad_getrange_default" gst_proxy_pad_getrange_default :: -    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word32 ->                               -- size : TBasicType TUInt-    Ptr (Ptr Gst.Buffer.Buffer) ->          -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO CInt--{- |-Invoke the default getrange function of the proxy pad.--}-proxyPadGetrangeDefault ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    a-    {- ^ /@pad@/: a src 'GI.Gst.Objects.Pad.Pad', returns @/GST_FLOW_ERROR/@ if not. -}-    -> b-    {- ^ /@parent@/: the parent of /@pad@/ -}-    -> Word64-    {- ^ /@offset@/: The start offset of the buffer -}-    -> Word32-    {- ^ /@size@/: The length of the buffer -}-    -> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' from the pad. -}-proxyPadGetrangeDefault pad parent offset size = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    parent' <- unsafeManagedPtrCastPtr parent-    buffer <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))-    result <- gst_proxy_pad_getrange_default pad' parent' offset size buffer-    let result' = (toEnum . fromIntegral) result-    buffer' <- peek buffer-    buffer'' <- (wrapBoxed Gst.Buffer.Buffer) buffer'-    touchManagedPtr pad-    touchManagedPtr parent-    freeMem buffer-    return (result', buffer'')--#if ENABLE_OVERLOADING-#endif---- method ProxyPad::iterate_internal_links_default--- method type : MemberFunction--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "Gst", name = "Pad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad to get the internal links of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the parent of @pad or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_proxy_pad_iterate_internal_links_default" gst_proxy_pad_iterate_internal_links_default :: -    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Gst.Iterator.Iterator)--{- |-Invoke the default iterate internal links function of the proxy pad.--}-proxyPadIterateInternalLinksDefault ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>-    a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to get the internal links of. -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@pad@/ or 'Nothing' -}-    -> m (Maybe Gst.Iterator.Iterator)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Iterator.Iterator' of 'GI.Gst.Objects.Pad.Pad', or 'Nothing' if /@pad@/-has no parent. Unref each returned pad with 'GI.Gst.Objects.Object.objectUnref'. -}-proxyPadIterateInternalLinksDefault pad parent = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    result <- gst_proxy_pad_iterate_internal_links_default pad' maybeParent-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Iterator.Iterator) result'-        return result''-    touchManagedPtr pad-    whenJust parent touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/ProxyPad.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.ProxyPad where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ProxyPad = ProxyPad (ManagedPtr ProxyPad)-instance GObject ProxyPad where-class (GObject o, O.IsDescendantOf ProxyPad o) => IsProxyPad o-instance (GObject o, O.IsDescendantOf ProxyPad o) => IsProxyPad o-instance O.HasParentTypes ProxyPad-#if ENABLE_OVERLOADING-data ProxyPadGetInternalMethodInfo-#endif
− GI/Gst/Objects/Registry.hs
@@ -1,1366 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--One registry holds the metadata of a set of plugins.--\<emphasis role=\"bold\">Design:\<\/emphasis>--The 'GI.Gst.Objects.Registry.Registry' object is a list of plugins and some functions for dealing-with them. Each 'GI.Gst.Objects.Plugin.Plugin' 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\/@.-  <http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html $XDG_DATA_HOME> 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 'GI.Gst.Flags.PluginFlagsCached' bit. These plugins are-removed at the end of initialization.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Registry-    ( ---- * Exported types-    Registry(..)                            ,-    IsRegistry                              ,-    toRegistry                              ,-    noRegistry                              ,--- -- * Methods--- ** addFeature #method:addFeature#--#if ENABLE_OVERLOADING-    RegistryAddFeatureMethodInfo            ,-#endif-    registryAddFeature                      ,----- ** addPlugin #method:addPlugin#--#if ENABLE_OVERLOADING-    RegistryAddPluginMethodInfo             ,-#endif-    registryAddPlugin                       ,----- ** checkFeatureVersion #method:checkFeatureVersion#--#if ENABLE_OVERLOADING-    RegistryCheckFeatureVersionMethodInfo   ,-#endif-    registryCheckFeatureVersion             ,----- ** featureFilter #method:featureFilter#--#if ENABLE_OVERLOADING-    RegistryFeatureFilterMethodInfo         ,-#endif-    registryFeatureFilter                   ,----- ** findFeature #method:findFeature#--#if ENABLE_OVERLOADING-    RegistryFindFeatureMethodInfo           ,-#endif-    registryFindFeature                     ,----- ** findPlugin #method:findPlugin#--#if ENABLE_OVERLOADING-    RegistryFindPluginMethodInfo            ,-#endif-    registryFindPlugin                      ,----- ** forkIsEnabled #method:forkIsEnabled#--    registryForkIsEnabled                   ,----- ** forkSetEnabled #method:forkSetEnabled#--    registryForkSetEnabled                  ,----- ** get #method:get#--    registryGet                             ,----- ** getFeatureList #method:getFeatureList#--#if ENABLE_OVERLOADING-    RegistryGetFeatureListMethodInfo        ,-#endif-    registryGetFeatureList                  ,----- ** getFeatureListByPlugin #method:getFeatureListByPlugin#--#if ENABLE_OVERLOADING-    RegistryGetFeatureListByPluginMethodInfo,-#endif-    registryGetFeatureListByPlugin          ,----- ** getFeatureListCookie #method:getFeatureListCookie#--#if ENABLE_OVERLOADING-    RegistryGetFeatureListCookieMethodInfo  ,-#endif-    registryGetFeatureListCookie            ,----- ** getPluginList #method:getPluginList#--#if ENABLE_OVERLOADING-    RegistryGetPluginListMethodInfo         ,-#endif-    registryGetPluginList                   ,----- ** lookup #method:lookup#--#if ENABLE_OVERLOADING-    RegistryLookupMethodInfo                ,-#endif-    registryLookup                          ,----- ** lookupFeature #method:lookupFeature#--#if ENABLE_OVERLOADING-    RegistryLookupFeatureMethodInfo         ,-#endif-    registryLookupFeature                   ,----- ** pluginFilter #method:pluginFilter#--#if ENABLE_OVERLOADING-    RegistryPluginFilterMethodInfo          ,-#endif-    registryPluginFilter                    ,----- ** removeFeature #method:removeFeature#--#if ENABLE_OVERLOADING-    RegistryRemoveFeatureMethodInfo         ,-#endif-    registryRemoveFeature                   ,----- ** removePlugin #method:removePlugin#--#if ENABLE_OVERLOADING-    RegistryRemovePluginMethodInfo          ,-#endif-    registryRemovePlugin                    ,----- ** scanPath #method:scanPath#--#if ENABLE_OVERLOADING-    RegistryScanPathMethodInfo              ,-#endif-    registryScanPath                        ,----- -- * Signals--- ** featureAdded #signal:featureAdded#--    C_RegistryFeatureAddedCallback          ,-    RegistryFeatureAddedCallback            ,-#if ENABLE_OVERLOADING-    RegistryFeatureAddedSignalInfo          ,-#endif-    afterRegistryFeatureAdded               ,-    genClosure_RegistryFeatureAdded         ,-    mk_RegistryFeatureAddedCallback         ,-    noRegistryFeatureAddedCallback          ,-    onRegistryFeatureAdded                  ,-    wrap_RegistryFeatureAddedCallback       ,----- ** pluginAdded #signal:pluginAdded#--    C_RegistryPluginAddedCallback           ,-    RegistryPluginAddedCallback             ,-#if ENABLE_OVERLOADING-    RegistryPluginAddedSignalInfo           ,-#endif-    afterRegistryPluginAdded                ,-    genClosure_RegistryPluginAdded          ,-    mk_RegistryPluginAddedCallback          ,-    noRegistryPluginAddedCallback           ,-    onRegistryPluginAdded                   ,-    wrap_RegistryPluginAddedCallback        ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Plugin as Gst.Plugin-import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature---- | Memory-managed wrapper type.-newtype Registry = Registry (ManagedPtr Registry)-foreign import ccall "gst_registry_get_type"-    c_gst_registry_get_type :: IO GType--instance GObject Registry where-    gobjectType = c_gst_registry_get_type-    ---- | Type class for types which can be safely cast to `Registry`, for instance with `toRegistry`.-class (GObject o, O.IsDescendantOf Registry o) => IsRegistry o-instance (GObject o, O.IsDescendantOf Registry o) => IsRegistry o--instance O.HasParentTypes Registry-type instance O.ParentTypes Registry = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Registry`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toRegistry :: (MonadIO m, IsRegistry o) => o -> m Registry-toRegistry = liftIO . unsafeCastTo Registry---- | A convenience alias for `Nothing` :: `Maybe` `Registry`.-noRegistry :: Maybe Registry-noRegistry = Nothing--#if ENABLE_OVERLOADING-type family ResolveRegistryMethod (t :: Symbol) (o :: *) :: * where-    ResolveRegistryMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveRegistryMethod "addFeature" o = RegistryAddFeatureMethodInfo-    ResolveRegistryMethod "addPlugin" o = RegistryAddPluginMethodInfo-    ResolveRegistryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveRegistryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveRegistryMethod "checkFeatureVersion" o = RegistryCheckFeatureVersionMethodInfo-    ResolveRegistryMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveRegistryMethod "featureFilter" o = RegistryFeatureFilterMethodInfo-    ResolveRegistryMethod "findFeature" o = RegistryFindFeatureMethodInfo-    ResolveRegistryMethod "findPlugin" o = RegistryFindPluginMethodInfo-    ResolveRegistryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveRegistryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveRegistryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveRegistryMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveRegistryMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveRegistryMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveRegistryMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveRegistryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveRegistryMethod "lookup" o = RegistryLookupMethodInfo-    ResolveRegistryMethod "lookupFeature" o = RegistryLookupFeatureMethodInfo-    ResolveRegistryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveRegistryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveRegistryMethod "pluginFilter" o = RegistryPluginFilterMethodInfo-    ResolveRegistryMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveRegistryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveRegistryMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveRegistryMethod "removeFeature" o = RegistryRemoveFeatureMethodInfo-    ResolveRegistryMethod "removePlugin" o = RegistryRemovePluginMethodInfo-    ResolveRegistryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveRegistryMethod "scanPath" o = RegistryScanPathMethodInfo-    ResolveRegistryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveRegistryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveRegistryMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveRegistryMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveRegistryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveRegistryMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveRegistryMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveRegistryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveRegistryMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveRegistryMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveRegistryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveRegistryMethod "getFeatureList" o = RegistryGetFeatureListMethodInfo-    ResolveRegistryMethod "getFeatureListByPlugin" o = RegistryGetFeatureListByPluginMethodInfo-    ResolveRegistryMethod "getFeatureListCookie" o = RegistryGetFeatureListCookieMethodInfo-    ResolveRegistryMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveRegistryMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveRegistryMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveRegistryMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveRegistryMethod "getPluginList" o = RegistryGetPluginListMethodInfo-    ResolveRegistryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveRegistryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveRegistryMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveRegistryMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveRegistryMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveRegistryMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveRegistryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveRegistryMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveRegistryMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveRegistryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveRegistryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveRegistryMethod t Registry, O.MethodInfo info Registry p) => OL.IsLabel t (Registry -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal Registry::feature-added-{- |-Signals that a feature has been added to the registry (possibly-replacing a previously-added one by the same name)--}-type RegistryFeatureAddedCallback =-    Gst.PluginFeature.PluginFeature-    {- ^ /@feature@/: the feature that has been added -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `RegistryFeatureAddedCallback`@.-noRegistryFeatureAddedCallback :: Maybe RegistryFeatureAddedCallback-noRegistryFeatureAddedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_RegistryFeatureAddedCallback =-    Ptr () ->                               -- object-    Ptr Gst.PluginFeature.PluginFeature ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_RegistryFeatureAddedCallback`.-foreign import ccall "wrapper"-    mk_RegistryFeatureAddedCallback :: C_RegistryFeatureAddedCallback -> IO (FunPtr C_RegistryFeatureAddedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_RegistryFeatureAdded :: MonadIO m => RegistryFeatureAddedCallback -> m (GClosure C_RegistryFeatureAddedCallback)-genClosure_RegistryFeatureAdded cb = liftIO $ do-    let cb' = wrap_RegistryFeatureAddedCallback cb-    mk_RegistryFeatureAddedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `RegistryFeatureAddedCallback` into a `C_RegistryFeatureAddedCallback`.-wrap_RegistryFeatureAddedCallback ::-    RegistryFeatureAddedCallback ->-    C_RegistryFeatureAddedCallback-wrap_RegistryFeatureAddedCallback _cb _ feature _ = do-    feature' <- (newObject Gst.PluginFeature.PluginFeature) feature-    _cb  feature'---{- |-Connect a signal handler for the “@feature-added@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' registry #featureAdded callback-@--}-onRegistryFeatureAdded :: (IsRegistry a, MonadIO m) => a -> RegistryFeatureAddedCallback -> m SignalHandlerId-onRegistryFeatureAdded obj cb = liftIO $ do-    let cb' = wrap_RegistryFeatureAddedCallback cb-    cb'' <- mk_RegistryFeatureAddedCallback cb'-    connectSignalFunPtr obj "feature-added" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@feature-added@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' registry #featureAdded callback-@--}-afterRegistryFeatureAdded :: (IsRegistry a, MonadIO m) => a -> RegistryFeatureAddedCallback -> m SignalHandlerId-afterRegistryFeatureAdded obj cb = liftIO $ do-    let cb' = wrap_RegistryFeatureAddedCallback cb-    cb'' <- mk_RegistryFeatureAddedCallback cb'-    connectSignalFunPtr obj "feature-added" cb'' SignalConnectAfter----- signal Registry::plugin-added-{- |-Signals that a plugin has been added to the registry (possibly-replacing a previously-added one by the same name)--}-type RegistryPluginAddedCallback =-    Gst.Plugin.Plugin-    {- ^ /@plugin@/: the plugin that has been added -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `RegistryPluginAddedCallback`@.-noRegistryPluginAddedCallback :: Maybe RegistryPluginAddedCallback-noRegistryPluginAddedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_RegistryPluginAddedCallback =-    Ptr () ->                               -- object-    Ptr Gst.Plugin.Plugin ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_RegistryPluginAddedCallback`.-foreign import ccall "wrapper"-    mk_RegistryPluginAddedCallback :: C_RegistryPluginAddedCallback -> IO (FunPtr C_RegistryPluginAddedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_RegistryPluginAdded :: MonadIO m => RegistryPluginAddedCallback -> m (GClosure C_RegistryPluginAddedCallback)-genClosure_RegistryPluginAdded cb = liftIO $ do-    let cb' = wrap_RegistryPluginAddedCallback cb-    mk_RegistryPluginAddedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `RegistryPluginAddedCallback` into a `C_RegistryPluginAddedCallback`.-wrap_RegistryPluginAddedCallback ::-    RegistryPluginAddedCallback ->-    C_RegistryPluginAddedCallback-wrap_RegistryPluginAddedCallback _cb _ plugin _ = do-    plugin' <- (newObject Gst.Plugin.Plugin) plugin-    _cb  plugin'---{- |-Connect a signal handler for the “@plugin-added@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' registry #pluginAdded callback-@--}-onRegistryPluginAdded :: (IsRegistry a, MonadIO m) => a -> RegistryPluginAddedCallback -> m SignalHandlerId-onRegistryPluginAdded obj cb = liftIO $ do-    let cb' = wrap_RegistryPluginAddedCallback cb-    cb'' <- mk_RegistryPluginAddedCallback cb'-    connectSignalFunPtr obj "plugin-added" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@plugin-added@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' registry #pluginAdded callback-@--}-afterRegistryPluginAdded :: (IsRegistry a, MonadIO m) => a -> RegistryPluginAddedCallback -> m SignalHandlerId-afterRegistryPluginAdded obj cb = liftIO $ do-    let cb' = wrap_RegistryPluginAddedCallback cb-    cb'' <- mk_RegistryPluginAddedCallback cb'-    connectSignalFunPtr obj "plugin-added" cb'' SignalConnectAfter---#if ENABLE_OVERLOADING-instance O.HasAttributeList Registry-type instance O.AttributeList Registry = RegistryAttributeList-type RegistryAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-data RegistryFeatureAddedSignalInfo-instance SignalInfo RegistryFeatureAddedSignalInfo where-    type HaskellCallbackType RegistryFeatureAddedSignalInfo = RegistryFeatureAddedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_RegistryFeatureAddedCallback cb-        cb'' <- mk_RegistryFeatureAddedCallback cb'-        connectSignalFunPtr obj "feature-added" cb'' connectMode--data RegistryPluginAddedSignalInfo-instance SignalInfo RegistryPluginAddedSignalInfo where-    type HaskellCallbackType RegistryPluginAddedSignalInfo = RegistryPluginAddedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_RegistryPluginAddedCallback cb-        cb'' <- mk_RegistryPluginAddedCallback cb'-        connectSignalFunPtr obj "plugin-added" cb'' connectMode--type instance O.SignalList Registry = RegistrySignalList-type RegistrySignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("featureAdded", RegistryFeatureAddedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("pluginAdded", RegistryPluginAddedSignalInfo)] :: [(Symbol, *)])--#endif---- method Registry::add_feature--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry to add the plugin to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the feature to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_registry_add_feature" gst_registry_add_feature :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    Ptr Gst.PluginFeature.PluginFeature ->  -- feature : TInterface (Name {namespace = "Gst", name = "PluginFeature"})-    IO CInt--{- |-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()/@)--}-registryAddFeature ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a, Gst.PluginFeature.IsPluginFeature b) =>-    a-    {- ^ /@registry@/: the registry to add the plugin to -}-    -> b-    {- ^ /@feature@/: the feature to add -}-    -> m Bool-    {- ^ __Returns:__ 'True' on success.--MT safe. -}-registryAddFeature registry feature = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    feature' <- unsafeManagedPtrCastPtr feature-    result <- gst_registry_add_feature registry' feature'-    let result' = (/= 0) result-    touchManagedPtr registry-    touchManagedPtr feature-    return result'--#if ENABLE_OVERLOADING-data RegistryAddFeatureMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsRegistry a, Gst.PluginFeature.IsPluginFeature b) => O.MethodInfo RegistryAddFeatureMethodInfo a signature where-    overloadedMethod _ = registryAddFeature--#endif---- method Registry::add_plugin--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry to add the plugin to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the plugin to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_registry_add_plugin" gst_registry_add_plugin :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    Ptr Gst.Plugin.Plugin ->                -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO CInt--{- |-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()/@)--}-registryAddPlugin ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a, Gst.Plugin.IsPlugin b) =>-    a-    {- ^ /@registry@/: the registry to add the plugin to -}-    -> b-    {- ^ /@plugin@/: the plugin to add -}-    -> m Bool-    {- ^ __Returns:__ 'True' on success.--MT safe. -}-registryAddPlugin registry plugin = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    plugin' <- unsafeManagedPtrCastPtr plugin-    result <- gst_registry_add_plugin registry' plugin'-    let result' = (/= 0) result-    touchManagedPtr registry-    touchManagedPtr plugin-    return result'--#if ENABLE_OVERLOADING-data RegistryAddPluginMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsRegistry a, Gst.Plugin.IsPlugin b) => O.MethodInfo RegistryAddPluginMethodInfo a signature where-    overloadedMethod _ = registryAddPlugin--#endif---- method Registry::check_feature_version--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstRegistry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the feature (e.g. \"oggdemux\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_major", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum major version number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_minor", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum minor version number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_micro", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum micro version number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_registry_check_feature_version" gst_registry_check_feature_version :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    CString ->                              -- feature_name : TBasicType TUTF8-    Word32 ->                               -- min_major : TBasicType TUInt-    Word32 ->                               -- min_minor : TBasicType TUInt-    Word32 ->                               -- min_micro : TBasicType TUInt-    IO CInt--{- |-Checks whether a plugin feature by the given name exists in-/@registry@/ and whether its version is at least the-version required.--}-registryCheckFeatureVersion ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: a 'GI.Gst.Objects.Registry.Registry' -}-    -> T.Text-    {- ^ /@featureName@/: the name of the feature (e.g. \"oggdemux\") -}-    -> Word32-    {- ^ /@minMajor@/: the minimum major version number -}-    -> Word32-    {- ^ /@minMinor@/: the minimum minor version number -}-    -> Word32-    {- ^ /@minMicro@/: the minimum micro version number -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the feature could be found and the version is-the same as the required version or newer, and 'False' otherwise. -}-registryCheckFeatureVersion registry featureName minMajor minMinor minMicro = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    featureName' <- textToCString featureName-    result <- gst_registry_check_feature_version registry' featureName' minMajor minMinor minMicro-    let result' = (/= 0) result-    touchManagedPtr registry-    freeMem featureName'-    return result'--#if ENABLE_OVERLOADING-data RegistryCheckFeatureVersionMethodInfo-instance (signature ~ (T.Text -> Word32 -> Word32 -> Word32 -> m Bool), MonadIO m, IsRegistry a) => O.MethodInfo RegistryCheckFeatureVersionMethodInfo a signature where-    overloadedMethod _ = registryCheckFeatureVersion--#endif---- method Registry::feature_filter--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "registry to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gst", name = "PluginFeatureFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filter to use", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "first", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "only return first match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the filter function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"})))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_feature_filter" gst_registry_feature_filter :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    FunPtr Gst.Callbacks.C_PluginFeatureFilter -> -- filter : TInterface (Name {namespace = "Gst", name = "PluginFeatureFilter"})-    CInt ->                                 -- first : TBasicType TBoolean-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO (Ptr (GList (Ptr Gst.PluginFeature.PluginFeature)))--{- |-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).--}-registryFeatureFilter ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: registry to query -}-    -> Gst.Callbacks.PluginFeatureFilter-    {- ^ /@filter@/: the filter to use -}-    -> Bool-    {- ^ /@first@/: only return first match -}-    -> m [Gst.PluginFeature.PluginFeature]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of-    'GI.Gst.Objects.PluginFeature.PluginFeature'. Use 'GI.Gst.Objects.PluginFeature.pluginFeatureListFree' after usage.--MT safe. -}-registryFeatureFilter registry filter first = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    filter' <- Gst.Callbacks.mk_PluginFeatureFilter (Gst.Callbacks.wrap_PluginFeatureFilter Nothing (Gst.Callbacks.drop_closures_PluginFeatureFilter filter))-    let first' = (fromIntegral . fromEnum) first-    let userData = nullPtr-    result <- gst_registry_feature_filter registry' filter' first' userData-    result' <- unpackGList result-    result'' <- mapM (wrapObject Gst.PluginFeature.PluginFeature) result'-    g_list_free result-    safeFreeFunPtr $ castFunPtrToPtr filter'-    touchManagedPtr registry-    return result''--#if ENABLE_OVERLOADING-data RegistryFeatureFilterMethodInfo-instance (signature ~ (Gst.Callbacks.PluginFeatureFilter -> Bool -> m [Gst.PluginFeature.PluginFeature]), MonadIO m, IsRegistry a) => O.MethodInfo RegistryFeatureFilterMethodInfo a signature where-    overloadedMethod _ = registryFeatureFilter--#endif---- method Registry::find_feature--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry to search", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pluginfeature name to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pluginfeature type to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PluginFeature"}))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_find_feature" gst_registry_find_feature :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    CString ->                              -- name : TBasicType TUTF8-    CGType ->                               -- type : TBasicType TGType-    IO (Ptr Gst.PluginFeature.PluginFeature)--{- |-Find the pluginfeature with the given name and type in the registry.--}-registryFindFeature ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: the registry to search -}-    -> T.Text-    {- ^ /@name@/: the pluginfeature name to find -}-    -> GType-    {- ^ /@type@/: the pluginfeature type to find -}-    -> m (Maybe Gst.PluginFeature.PluginFeature)-    {- ^ __Returns:__ the pluginfeature with the-    given name and type or 'Nothing' if the plugin was not-    found. 'GI.Gst.Objects.Object.objectUnref' after usage.--MT safe. -}-registryFindFeature registry name type_ = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    name' <- textToCString name-    let type_' = gtypeToCGType type_-    result <- gst_registry_find_feature registry' name' type_'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.PluginFeature.PluginFeature) result'-        return result''-    touchManagedPtr registry-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-data RegistryFindFeatureMethodInfo-instance (signature ~ (T.Text -> GType -> m (Maybe Gst.PluginFeature.PluginFeature)), MonadIO m, IsRegistry a) => O.MethodInfo RegistryFindFeatureMethodInfo a signature where-    overloadedMethod _ = registryFindFeature--#endif---- method Registry::find_plugin--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry to search", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the plugin name to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Plugin"}))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_find_plugin" gst_registry_find_plugin :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.Plugin.Plugin)--{- |-Find the plugin with the given name in the registry.-The plugin will be reffed; caller is responsible for unreffing.--}-registryFindPlugin ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: the registry to search -}-    -> T.Text-    {- ^ /@name@/: the plugin name to find -}-    -> m (Maybe Gst.Plugin.Plugin)-    {- ^ __Returns:__ the plugin with the given name-    or 'Nothing' if the plugin was not found. 'GI.Gst.Objects.Object.objectUnref' after-    usage.--MT safe. -}-registryFindPlugin registry name = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    name' <- textToCString name-    result <- gst_registry_find_plugin registry' name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Plugin.Plugin) result'-        return result''-    touchManagedPtr registry-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-data RegistryFindPluginMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.Plugin.Plugin)), MonadIO m, IsRegistry a) => O.MethodInfo RegistryFindPluginMethodInfo a signature where-    overloadedMethod _ = registryFindPlugin--#endif---- method Registry::get_feature_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstRegistry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"})))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_get_feature_list" gst_registry_get_feature_list :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    CGType ->                               -- type : TBasicType TGType-    IO (Ptr (GList (Ptr Gst.PluginFeature.PluginFeature)))--{- |-Retrieves a 'GI.GLib.Structs.List.List' of 'GI.Gst.Objects.PluginFeature.PluginFeature' of /@type@/.--}-registryGetFeatureList ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: a 'GI.Gst.Objects.Registry.Registry' -}-    -> GType-    {- ^ /@type@/: a 'GType'. -}-    -> m [Gst.PluginFeature.PluginFeature]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of-    'GI.Gst.Objects.PluginFeature.PluginFeature' of /@type@/. Use 'GI.Gst.Objects.PluginFeature.pluginFeatureListFree' after use--MT safe. -}-registryGetFeatureList registry type_ = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    let type_' = gtypeToCGType type_-    result <- gst_registry_get_feature_list registry' type_'-    result' <- unpackGList result-    result'' <- mapM (wrapObject Gst.PluginFeature.PluginFeature) result'-    g_list_free result-    touchManagedPtr registry-    return result''--#if ENABLE_OVERLOADING-data RegistryGetFeatureListMethodInfo-instance (signature ~ (GType -> m [Gst.PluginFeature.PluginFeature]), MonadIO m, IsRegistry a) => O.MethodInfo RegistryGetFeatureListMethodInfo a signature where-    overloadedMethod _ = registryGetFeatureList--#endif---- method Registry::get_feature_list_by_plugin--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstRegistry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a plugin name.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "PluginFeature"})))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_get_feature_list_by_plugin" gst_registry_get_feature_list_by_plugin :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr (GList (Ptr Gst.PluginFeature.PluginFeature)))--{- |-Retrieves a 'GI.GLib.Structs.List.List' of features of the plugin with name /@name@/.--}-registryGetFeatureListByPlugin ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: a 'GI.Gst.Objects.Registry.Registry'. -}-    -> T.Text-    {- ^ /@name@/: a plugin name. -}-    -> m [Gst.PluginFeature.PluginFeature]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of-    'GI.Gst.Objects.PluginFeature.PluginFeature'. Use 'GI.Gst.Objects.PluginFeature.pluginFeatureListFree' after usage. -}-registryGetFeatureListByPlugin registry name = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    name' <- textToCString name-    result <- gst_registry_get_feature_list_by_plugin registry' name'-    result' <- unpackGList result-    result'' <- mapM (wrapObject Gst.PluginFeature.PluginFeature) result'-    g_list_free result-    touchManagedPtr registry-    freeMem name'-    return result''--#if ENABLE_OVERLOADING-data RegistryGetFeatureListByPluginMethodInfo-instance (signature ~ (T.Text -> m [Gst.PluginFeature.PluginFeature]), MonadIO m, IsRegistry a) => O.MethodInfo RegistryGetFeatureListByPluginMethodInfo a signature where-    overloadedMethod _ = registryGetFeatureListByPlugin--#endif---- method Registry::get_feature_list_cookie--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "gst_registry_get_feature_list_cookie" gst_registry_get_feature_list_cookie :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    IO Word32--{- |-Returns the registry\'s feature list cookie. This changes-every time a feature is added or removed from the registry.--}-registryGetFeatureListCookie ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: the registry -}-    -> m Word32-    {- ^ __Returns:__ the feature list cookie. -}-registryGetFeatureListCookie registry = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    result <- gst_registry_get_feature_list_cookie registry'-    touchManagedPtr registry-    return result--#if ENABLE_OVERLOADING-data RegistryGetFeatureListCookieMethodInfo-instance (signature ~ (m Word32), MonadIO m, IsRegistry a) => O.MethodInfo RegistryGetFeatureListCookieMethodInfo a signature where-    overloadedMethod _ = registryGetFeatureListCookie--#endif---- method Registry::get_plugin_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry to search", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "Plugin"})))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_get_plugin_list" gst_registry_get_plugin_list :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    IO (Ptr (GList (Ptr Gst.Plugin.Plugin)))--{- |-Get a copy of all plugins registered in the given registry. The refcount-of each element in the list in incremented.--}-registryGetPluginList ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: the registry to search -}-    -> m [Gst.Plugin.Plugin]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of 'GI.Gst.Objects.Plugin.Plugin'.-    Use 'GI.Gst.Objects.Plugin.pluginListFree' after usage.--MT safe. -}-registryGetPluginList registry = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    result <- gst_registry_get_plugin_list registry'-    result' <- unpackGList result-    result'' <- mapM (wrapObject Gst.Plugin.Plugin) result'-    g_list_free result-    touchManagedPtr registry-    return result''--#if ENABLE_OVERLOADING-data RegistryGetPluginListMethodInfo-instance (signature ~ (m [Gst.Plugin.Plugin]), MonadIO m, IsRegistry a) => O.MethodInfo RegistryGetPluginListMethodInfo a signature where-    overloadedMethod _ = registryGetPluginList--#endif---- method Registry::lookup--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry to look up in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Plugin"}))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_lookup" gst_registry_lookup :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    CString ->                              -- filename : TBasicType TUTF8-    IO (Ptr Gst.Plugin.Plugin)--{- |-Look up a plugin in the given registry with the given filename.-If found, plugin is reffed.--}-registryLookup ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: the registry to look up in -}-    -> T.Text-    {- ^ /@filename@/: the name of the file to look up -}-    -> m (Maybe Gst.Plugin.Plugin)-    {- ^ __Returns:__ the 'GI.Gst.Objects.Plugin.Plugin' if found, or-    'Nothing' if not.  'GI.Gst.Objects.Object.objectUnref' after usage. -}-registryLookup registry filename = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    filename' <- textToCString filename-    result <- gst_registry_lookup registry' filename'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Plugin.Plugin) result'-        return result''-    touchManagedPtr registry-    freeMem filename'-    return maybeResult--#if ENABLE_OVERLOADING-data RegistryLookupMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.Plugin.Plugin)), MonadIO m, IsRegistry a) => O.MethodInfo RegistryLookupMethodInfo a signature where-    overloadedMethod _ = registryLookup--#endif---- method Registry::lookup_feature--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstRegistry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPluginFeature name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PluginFeature"}))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_lookup_feature" gst_registry_lookup_feature :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Gst.PluginFeature.PluginFeature)--{- |-Find a 'GI.Gst.Objects.PluginFeature.PluginFeature' with /@name@/ in /@registry@/.--}-registryLookupFeature ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: a 'GI.Gst.Objects.Registry.Registry' -}-    -> T.Text-    {- ^ /@name@/: a 'GI.Gst.Objects.PluginFeature.PluginFeature' name -}-    -> m Gst.PluginFeature.PluginFeature-    {- ^ __Returns:__ a 'GI.Gst.Objects.PluginFeature.PluginFeature' with its refcount incremented,-    use 'GI.Gst.Objects.Object.objectUnref' after usage.--MT safe. -}-registryLookupFeature registry name = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    name' <- textToCString name-    result <- gst_registry_lookup_feature registry' name'-    checkUnexpectedReturnNULL "registryLookupFeature" result-    result' <- (wrapObject Gst.PluginFeature.PluginFeature) result-    touchManagedPtr registry-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-data RegistryLookupFeatureMethodInfo-instance (signature ~ (T.Text -> m Gst.PluginFeature.PluginFeature), MonadIO m, IsRegistry a) => O.MethodInfo RegistryLookupFeatureMethodInfo a signature where-    overloadedMethod _ = registryLookupFeature--#endif---- method Registry::plugin_filter--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "registry to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gst", name = "PluginFilter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the filter to use", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "first", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "only return first match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the filter function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "Plugin"})))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_plugin_filter" gst_registry_plugin_filter :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    FunPtr Gst.Callbacks.C_PluginFilter ->  -- filter : TInterface (Name {namespace = "Gst", name = "PluginFilter"})-    CInt ->                                 -- first : TBasicType TBoolean-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO (Ptr (GList (Ptr Gst.Plugin.Plugin)))--{- |-Runs a filter against all plugins in the registry and returns a 'GI.GLib.Structs.List.List' 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 'GI.Gst.Objects.Plugin.pluginListFree' after use, which-will unref again.--}-registryPluginFilter ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: registry to query -}-    -> Gst.Callbacks.PluginFilter-    {- ^ /@filter@/: the filter to use -}-    -> Bool-    {- ^ /@first@/: only return first match -}-    -> m [Gst.Plugin.Plugin]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of 'GI.Gst.Objects.Plugin.Plugin'.-    Use 'GI.Gst.Objects.Plugin.pluginListFree' after usage.--MT safe. -}-registryPluginFilter registry filter first = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    filter' <- Gst.Callbacks.mk_PluginFilter (Gst.Callbacks.wrap_PluginFilter Nothing (Gst.Callbacks.drop_closures_PluginFilter filter))-    let first' = (fromIntegral . fromEnum) first-    let userData = nullPtr-    result <- gst_registry_plugin_filter registry' filter' first' userData-    result' <- unpackGList result-    result'' <- mapM (wrapObject Gst.Plugin.Plugin) result'-    g_list_free result-    safeFreeFunPtr $ castFunPtrToPtr filter'-    touchManagedPtr registry-    return result''--#if ENABLE_OVERLOADING-data RegistryPluginFilterMethodInfo-instance (signature ~ (Gst.Callbacks.PluginFilter -> Bool -> m [Gst.Plugin.Plugin]), MonadIO m, IsRegistry a) => O.MethodInfo RegistryPluginFilterMethodInfo a signature where-    overloadedMethod _ = registryPluginFilter--#endif---- method Registry::remove_feature--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry to remove the feature from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TInterface (Name {namespace = "Gst", name = "PluginFeature"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the feature to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_registry_remove_feature" gst_registry_remove_feature :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    Ptr Gst.PluginFeature.PluginFeature ->  -- feature : TInterface (Name {namespace = "Gst", name = "PluginFeature"})-    IO ()--{- |-Remove the feature from the registry.--MT safe.--}-registryRemoveFeature ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a, Gst.PluginFeature.IsPluginFeature b) =>-    a-    {- ^ /@registry@/: the registry to remove the feature from -}-    -> b-    {- ^ /@feature@/: the feature to remove -}-    -> m ()-registryRemoveFeature registry feature = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    feature' <- unsafeManagedPtrCastPtr feature-    gst_registry_remove_feature registry' feature'-    touchManagedPtr registry-    touchManagedPtr feature-    return ()--#if ENABLE_OVERLOADING-data RegistryRemoveFeatureMethodInfo-instance (signature ~ (b -> m ()), MonadIO m, IsRegistry a, Gst.PluginFeature.IsPluginFeature b) => O.MethodInfo RegistryRemoveFeatureMethodInfo a signature where-    overloadedMethod _ = registryRemoveFeature--#endif---- method Registry::remove_plugin--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry to remove the plugin from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the plugin to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_registry_remove_plugin" gst_registry_remove_plugin :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    Ptr Gst.Plugin.Plugin ->                -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    IO ()--{- |-Remove the plugin from the registry.--MT safe.--}-registryRemovePlugin ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a, Gst.Plugin.IsPlugin b) =>-    a-    {- ^ /@registry@/: the registry to remove the plugin from -}-    -> b-    {- ^ /@plugin@/: the plugin to remove -}-    -> m ()-registryRemovePlugin registry plugin = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    plugin' <- unsafeManagedPtrCastPtr plugin-    gst_registry_remove_plugin registry' plugin'-    touchManagedPtr registry-    touchManagedPtr plugin-    return ()--#if ENABLE_OVERLOADING-data RegistryRemovePluginMethodInfo-instance (signature ~ (b -> m ()), MonadIO m, IsRegistry a, Gst.Plugin.IsPlugin b) => O.MethodInfo RegistryRemovePluginMethodInfo a signature where-    overloadedMethod _ = registryRemovePlugin--#endif---- method Registry::scan_path--- method type : OrdinaryMethod--- Args : [Arg {argCName = "registry", argType = TInterface (Name {namespace = "Gst", name = "Registry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the registry to add found plugins to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the path to scan", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_registry_scan_path" gst_registry_scan_path :: -    Ptr Registry ->                         -- registry : TInterface (Name {namespace = "Gst", name = "Registry"})-    CString ->                              -- path : TBasicType TFileName-    IO CInt--{- |-Scan the given path for plugins to add to the registry. The syntax of the-path is specific to the registry.--}-registryScanPath ::-    (B.CallStack.HasCallStack, MonadIO m, IsRegistry a) =>-    a-    {- ^ /@registry@/: the registry to add found plugins to -}-    -> [Char]-    {- ^ /@path@/: the path to scan -}-    -> m Bool-    {- ^ __Returns:__ 'True' if registry changed -}-registryScanPath registry path = liftIO $ do-    registry' <- unsafeManagedPtrCastPtr registry-    path' <- stringToCString path-    result <- gst_registry_scan_path registry' path'-    let result' = (/= 0) result-    touchManagedPtr registry-    freeMem path'-    return result'--#if ENABLE_OVERLOADING-data RegistryScanPathMethodInfo-instance (signature ~ ([Char] -> m Bool), MonadIO m, IsRegistry a) => O.MethodInfo RegistryScanPathMethodInfo a signature where-    overloadedMethod _ = registryScanPath--#endif---- method Registry::fork_is_enabled--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_registry_fork_is_enabled" gst_registry_fork_is_enabled :: -    IO CInt--{- |-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-'GI.Gst.Objects.Registry.registryForkSetEnabled' function, in which case new plugins-are scanned (and loaded) into the application process.--}-registryForkIsEnabled ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True' if GStreamer will use the child helper process when-rebuilding the registry. -}-registryForkIsEnabled  = liftIO $ do-    result <- gst_registry_fork_is_enabled-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Registry::fork_set_enabled--- method type : MemberFunction--- Args : [Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether rebuilding the registry can use a temporary child helper process.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_registry_fork_set_enabled" gst_registry_fork_set_enabled :: -    CInt ->                                 -- enabled : TBasicType TBoolean-    IO ()--{- |-Applications might want to disable\/enable spawning of a child helper process-when rebuilding the registry. See 'GI.Gst.Objects.Registry.registryForkIsEnabled' for more-information.--}-registryForkSetEnabled ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bool-    {- ^ /@enabled@/: whether rebuilding the registry can use a temporary child helper process. -}-    -> m ()-registryForkSetEnabled enabled = liftIO $ do-    let enabled' = (fromIntegral . fromEnum) enabled-    gst_registry_fork_set_enabled enabled'-    return ()--#if ENABLE_OVERLOADING-#endif---- method Registry::get--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Registry"}))--- throws : False--- Skip return : False--foreign import ccall "gst_registry_get" gst_registry_get :: -    IO (Ptr Registry)--{- |-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.--}-registryGet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Registry-    {- ^ __Returns:__ the 'GI.Gst.Objects.Registry.Registry'. -}-registryGet  = liftIO $ do-    result <- gst_registry_get-    checkUnexpectedReturnNULL "registryGet" result-    result' <- (newObject Registry) result-    return result'--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/Registry.hs-boot
@@ -1,83 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Registry where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Registry = Registry (ManagedPtr Registry)-instance GObject Registry where-class (GObject o, O.IsDescendantOf Registry o) => IsRegistry o-instance (GObject o, O.IsDescendantOf Registry o) => IsRegistry o-instance O.HasParentTypes Registry-#if ENABLE_OVERLOADING-data RegistryFeatureAddedSignalInfo-#endif-#if ENABLE_OVERLOADING-data RegistryPluginAddedSignalInfo-#endif-#if ENABLE_OVERLOADING-data RegistryAddFeatureMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryAddPluginMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryCheckFeatureVersionMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryFeatureFilterMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryFindFeatureMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryFindPluginMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryGetFeatureListMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryGetFeatureListByPluginMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryGetFeatureListCookieMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryGetPluginListMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryLookupMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryLookupFeatureMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryPluginFilterMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryRemoveFeatureMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryRemovePluginMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegistryScanPathMethodInfo-#endif
− GI/Gst/Objects/Stream.hs
@@ -1,1005 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A high-level object representing a single stream. It might be backed, or-not, by an actual flow of data in a pipeline ('GI.Gst.Objects.Pad.Pad').--A 'GI.Gst.Objects.Stream.Stream' 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 'GI.Gst.Objects.Stream.Stream' contains all the information pertinent to a stream, such as-stream-id, tags, caps, type, ...--Elements can subclass a 'GI.Gst.Objects.Stream.Stream' for internal usage (to contain information-pertinent to streams of data).--/Since: 1.10/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Stream-    ( ---- * Exported types-    Stream(..)                              ,-    IsStream                                ,-    toStream                                ,-    noStream                                ,--- -- * Methods--- ** getCaps #method:getCaps#--#if ENABLE_OVERLOADING-    StreamGetCapsMethodInfo                 ,-#endif-    streamGetCaps                           ,----- ** getStreamFlags #method:getStreamFlags#--#if ENABLE_OVERLOADING-    StreamGetStreamFlagsMethodInfo          ,-#endif-    streamGetStreamFlags                    ,----- ** getStreamId #method:getStreamId#--#if ENABLE_OVERLOADING-    StreamGetStreamIdMethodInfo             ,-#endif-    streamGetStreamId                       ,----- ** getStreamType #method:getStreamType#--#if ENABLE_OVERLOADING-    StreamGetStreamTypeMethodInfo           ,-#endif-    streamGetStreamType                     ,----- ** getTags #method:getTags#--#if ENABLE_OVERLOADING-    StreamGetTagsMethodInfo                 ,-#endif-    streamGetTags                           ,----- ** new #method:new#--    streamNew                               ,----- ** setCaps #method:setCaps#--#if ENABLE_OVERLOADING-    StreamSetCapsMethodInfo                 ,-#endif-    streamSetCaps                           ,----- ** setStreamFlags #method:setStreamFlags#--#if ENABLE_OVERLOADING-    StreamSetStreamFlagsMethodInfo          ,-#endif-    streamSetStreamFlags                    ,----- ** setStreamType #method:setStreamType#--#if ENABLE_OVERLOADING-    StreamSetStreamTypeMethodInfo           ,-#endif-    streamSetStreamType                     ,----- ** setTags #method:setTags#--#if ENABLE_OVERLOADING-    StreamSetTagsMethodInfo                 ,-#endif-    streamSetTags                           ,----- -- * Properties--- ** caps #attr:caps#-{- | The 'GI.Gst.Structs.Caps.Caps' of the 'GI.Gst.Objects.Stream.Stream'.--}-#if ENABLE_OVERLOADING-    StreamCapsPropertyInfo                  ,-#endif-    clearStreamCaps                         ,-    constructStreamCaps                     ,-    getStreamCaps                           ,-    setStreamCaps                           ,-#if ENABLE_OVERLOADING-    streamCaps                              ,-#endif----- ** streamFlags #attr:streamFlags#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    StreamStreamFlagsPropertyInfo           ,-#endif-    constructStreamStreamFlags              ,-    getStreamStreamFlags                    ,-    setStreamStreamFlags                    ,-#if ENABLE_OVERLOADING-    streamStreamFlags                       ,-#endif----- ** streamId #attr:streamId#-{- | The unique identifier of the 'GI.Gst.Objects.Stream.Stream'. Can only be set at construction-time.--}-#if ENABLE_OVERLOADING-    StreamStreamIdPropertyInfo              ,-#endif-    constructStreamStreamId                 ,-    getStreamStreamId                       ,-#if ENABLE_OVERLOADING-    streamStreamId                          ,-#endif----- ** streamType #attr:streamType#-{- | The 'GI.Gst.Flags.StreamType' of the 'GI.Gst.Objects.Stream.Stream'. Can only be set at construction time.--}-#if ENABLE_OVERLOADING-    StreamStreamTypePropertyInfo            ,-#endif-    constructStreamStreamType               ,-    getStreamStreamType                     ,-    setStreamStreamType                     ,-#if ENABLE_OVERLOADING-    streamStreamType                        ,-#endif----- ** tags #attr:tags#-{- | The 'GI.Gst.Structs.TagList.TagList' of the 'GI.Gst.Objects.Stream.Stream'.--}-#if ENABLE_OVERLOADING-    StreamTagsPropertyInfo                  ,-#endif-    clearStreamTags                         ,-    constructStreamTags                     ,-    getStreamTags                           ,-    setStreamTags                           ,-#if ENABLE_OVERLOADING-    streamTags                              ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList---- | Memory-managed wrapper type.-newtype Stream = Stream (ManagedPtr Stream)-foreign import ccall "gst_stream_get_type"-    c_gst_stream_get_type :: IO GType--instance GObject Stream where-    gobjectType = c_gst_stream_get_type-    ---- | Type class for types which can be safely cast to `Stream`, for instance with `toStream`.-class (GObject o, O.IsDescendantOf Stream o) => IsStream o-instance (GObject o, O.IsDescendantOf Stream o) => IsStream o--instance O.HasParentTypes Stream-type instance O.ParentTypes Stream = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Stream`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toStream :: (MonadIO m, IsStream o) => o -> m Stream-toStream = liftIO . unsafeCastTo Stream---- | A convenience alias for `Nothing` :: `Maybe` `Stream`.-noStream :: Maybe Stream-noStream = Nothing--#if ENABLE_OVERLOADING-type family ResolveStreamMethod (t :: Symbol) (o :: *) :: * where-    ResolveStreamMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveStreamMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveStreamMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveStreamMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveStreamMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveStreamMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveStreamMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveStreamMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveStreamMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveStreamMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveStreamMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveStreamMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveStreamMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveStreamMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveStreamMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveStreamMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveStreamMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveStreamMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveStreamMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveStreamMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveStreamMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveStreamMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveStreamMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveStreamMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveStreamMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveStreamMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveStreamMethod "getCaps" o = StreamGetCapsMethodInfo-    ResolveStreamMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveStreamMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveStreamMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveStreamMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveStreamMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveStreamMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveStreamMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveStreamMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveStreamMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveStreamMethod "getStreamFlags" o = StreamGetStreamFlagsMethodInfo-    ResolveStreamMethod "getStreamId" o = StreamGetStreamIdMethodInfo-    ResolveStreamMethod "getStreamType" o = StreamGetStreamTypeMethodInfo-    ResolveStreamMethod "getTags" o = StreamGetTagsMethodInfo-    ResolveStreamMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveStreamMethod "setCaps" o = StreamSetCapsMethodInfo-    ResolveStreamMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveStreamMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveStreamMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveStreamMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveStreamMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveStreamMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveStreamMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveStreamMethod "setStreamFlags" o = StreamSetStreamFlagsMethodInfo-    ResolveStreamMethod "setStreamType" o = StreamSetStreamTypeMethodInfo-    ResolveStreamMethod "setTags" o = StreamSetTagsMethodInfo-    ResolveStreamMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveStreamMethod t Stream, O.MethodInfo info Stream p) => OL.IsLabel t (Stream -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- VVV Prop "caps"-   -- Type: TInterface (Name {namespace = "Gst", name = "Caps"})-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Just True)--{- |-Get the value of the “@caps@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' stream #caps-@--}-getStreamCaps :: (MonadIO m, IsStream o) => o -> m (Maybe Gst.Caps.Caps)-getStreamCaps obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "caps" Gst.Caps.Caps--{- |-Set the value of the “@caps@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' stream [ #caps 'Data.GI.Base.Attributes.:=' value ]-@--}-setStreamCaps :: (MonadIO m, IsStream o) => o -> Gst.Caps.Caps -> m ()-setStreamCaps obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "caps" (Just val)--{- |-Construct a `GValueConstruct` with valid value for the “@caps@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructStreamCaps :: (IsStream o) => Gst.Caps.Caps -> IO (GValueConstruct o)-constructStreamCaps val = B.Properties.constructObjectPropertyBoxed "caps" (Just val)--{- |-Set the value of the “@caps@” property to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #caps-@--}-clearStreamCaps :: (MonadIO m, IsStream o) => o -> m ()-clearStreamCaps obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "caps" (Nothing :: Maybe Gst.Caps.Caps)--#if ENABLE_OVERLOADING-data StreamCapsPropertyInfo-instance AttrInfo StreamCapsPropertyInfo where-    type AttrAllowedOps StreamCapsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint StreamCapsPropertyInfo = (~) Gst.Caps.Caps-    type AttrBaseTypeConstraint StreamCapsPropertyInfo = IsStream-    type AttrGetType StreamCapsPropertyInfo = (Maybe Gst.Caps.Caps)-    type AttrLabel StreamCapsPropertyInfo = "caps"-    type AttrOrigin StreamCapsPropertyInfo = Stream-    attrGet _ = getStreamCaps-    attrSet _ = setStreamCaps-    attrConstruct _ = constructStreamCaps-    attrClear _ = clearStreamCaps-#endif---- VVV Prop "stream-flags"-   -- Type: TInterface (Name {namespace = "Gst", name = "StreamFlags"})-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@stream-flags@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' stream #streamFlags-@--}-getStreamStreamFlags :: (MonadIO m, IsStream o) => o -> m [Gst.Flags.StreamFlags]-getStreamStreamFlags obj = liftIO $ B.Properties.getObjectPropertyFlags obj "stream-flags"--{- |-Set the value of the “@stream-flags@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' stream [ #streamFlags 'Data.GI.Base.Attributes.:=' value ]-@--}-setStreamStreamFlags :: (MonadIO m, IsStream o) => o -> [Gst.Flags.StreamFlags] -> m ()-setStreamStreamFlags obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "stream-flags" val--{- |-Construct a `GValueConstruct` with valid value for the “@stream-flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructStreamStreamFlags :: (IsStream o) => [Gst.Flags.StreamFlags] -> IO (GValueConstruct o)-constructStreamStreamFlags val = B.Properties.constructObjectPropertyFlags "stream-flags" val--#if ENABLE_OVERLOADING-data StreamStreamFlagsPropertyInfo-instance AttrInfo StreamStreamFlagsPropertyInfo where-    type AttrAllowedOps StreamStreamFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint StreamStreamFlagsPropertyInfo = (~) [Gst.Flags.StreamFlags]-    type AttrBaseTypeConstraint StreamStreamFlagsPropertyInfo = IsStream-    type AttrGetType StreamStreamFlagsPropertyInfo = [Gst.Flags.StreamFlags]-    type AttrLabel StreamStreamFlagsPropertyInfo = "stream-flags"-    type AttrOrigin StreamStreamFlagsPropertyInfo = Stream-    attrGet _ = getStreamStreamFlags-    attrSet _ = setStreamStreamFlags-    attrConstruct _ = constructStreamStreamFlags-    attrClear _ = undefined-#endif---- VVV Prop "stream-id"-   -- Type: TBasicType TUTF8-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]-   -- Nullable: (Just True,Nothing)--{- |-Get the value of the “@stream-id@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' stream #streamId-@--}-getStreamStreamId :: (MonadIO m, IsStream o) => o -> m (Maybe T.Text)-getStreamStreamId obj = liftIO $ B.Properties.getObjectPropertyString obj "stream-id"--{- |-Construct a `GValueConstruct` with valid value for the “@stream-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructStreamStreamId :: (IsStream o) => T.Text -> IO (GValueConstruct o)-constructStreamStreamId val = B.Properties.constructObjectPropertyString "stream-id" (Just val)--#if ENABLE_OVERLOADING-data StreamStreamIdPropertyInfo-instance AttrInfo StreamStreamIdPropertyInfo where-    type AttrAllowedOps StreamStreamIdPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint StreamStreamIdPropertyInfo = (~) T.Text-    type AttrBaseTypeConstraint StreamStreamIdPropertyInfo = IsStream-    type AttrGetType StreamStreamIdPropertyInfo = (Maybe T.Text)-    type AttrLabel StreamStreamIdPropertyInfo = "stream-id"-    type AttrOrigin StreamStreamIdPropertyInfo = Stream-    attrGet _ = getStreamStreamId-    attrSet _ = undefined-    attrConstruct _ = constructStreamStreamId-    attrClear _ = undefined-#endif---- VVV Prop "stream-type"-   -- Type: TInterface (Name {namespace = "Gst", name = "StreamType"})-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@stream-type@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' stream #streamType-@--}-getStreamStreamType :: (MonadIO m, IsStream o) => o -> m [Gst.Flags.StreamType]-getStreamStreamType obj = liftIO $ B.Properties.getObjectPropertyFlags obj "stream-type"--{- |-Set the value of the “@stream-type@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' stream [ #streamType 'Data.GI.Base.Attributes.:=' value ]-@--}-setStreamStreamType :: (MonadIO m, IsStream o) => o -> [Gst.Flags.StreamType] -> m ()-setStreamStreamType obj val = liftIO $ B.Properties.setObjectPropertyFlags obj "stream-type" val--{- |-Construct a `GValueConstruct` with valid value for the “@stream-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructStreamStreamType :: (IsStream o) => [Gst.Flags.StreamType] -> IO (GValueConstruct o)-constructStreamStreamType val = B.Properties.constructObjectPropertyFlags "stream-type" val--#if ENABLE_OVERLOADING-data StreamStreamTypePropertyInfo-instance AttrInfo StreamStreamTypePropertyInfo where-    type AttrAllowedOps StreamStreamTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint StreamStreamTypePropertyInfo = (~) [Gst.Flags.StreamType]-    type AttrBaseTypeConstraint StreamStreamTypePropertyInfo = IsStream-    type AttrGetType StreamStreamTypePropertyInfo = [Gst.Flags.StreamType]-    type AttrLabel StreamStreamTypePropertyInfo = "stream-type"-    type AttrOrigin StreamStreamTypePropertyInfo = Stream-    attrGet _ = getStreamStreamType-    attrSet _ = setStreamStreamType-    attrConstruct _ = constructStreamStreamType-    attrClear _ = undefined-#endif---- VVV Prop "tags"-   -- Type: TInterface (Name {namespace = "Gst", name = "TagList"})-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Just True)--{- |-Get the value of the “@tags@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' stream #tags-@--}-getStreamTags :: (MonadIO m, IsStream o) => o -> m (Maybe Gst.TagList.TagList)-getStreamTags obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "tags" Gst.TagList.TagList--{- |-Set the value of the “@tags@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' stream [ #tags 'Data.GI.Base.Attributes.:=' value ]-@--}-setStreamTags :: (MonadIO m, IsStream o) => o -> Gst.TagList.TagList -> m ()-setStreamTags obj val = liftIO $ B.Properties.setObjectPropertyBoxed obj "tags" (Just val)--{- |-Construct a `GValueConstruct` with valid value for the “@tags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructStreamTags :: (IsStream o) => Gst.TagList.TagList -> IO (GValueConstruct o)-constructStreamTags val = B.Properties.constructObjectPropertyBoxed "tags" (Just val)--{- |-Set the value of the “@tags@” property to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #tags-@--}-clearStreamTags :: (MonadIO m, IsStream o) => o -> m ()-clearStreamTags obj = liftIO $ B.Properties.setObjectPropertyBoxed obj "tags" (Nothing :: Maybe Gst.TagList.TagList)--#if ENABLE_OVERLOADING-data StreamTagsPropertyInfo-instance AttrInfo StreamTagsPropertyInfo where-    type AttrAllowedOps StreamTagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint StreamTagsPropertyInfo = (~) Gst.TagList.TagList-    type AttrBaseTypeConstraint StreamTagsPropertyInfo = IsStream-    type AttrGetType StreamTagsPropertyInfo = (Maybe Gst.TagList.TagList)-    type AttrLabel StreamTagsPropertyInfo = "tags"-    type AttrOrigin StreamTagsPropertyInfo = Stream-    attrGet _ = getStreamTags-    attrSet _ = setStreamTags-    attrConstruct _ = constructStreamTags-    attrClear _ = clearStreamTags-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Stream-type instance O.AttributeList Stream = StreamAttributeList-type StreamAttributeList = ('[ '("caps", StreamCapsPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("streamFlags", StreamStreamFlagsPropertyInfo), '("streamId", StreamStreamIdPropertyInfo), '("streamType", StreamStreamTypePropertyInfo), '("tags", StreamTagsPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-streamCaps :: AttrLabelProxy "caps"-streamCaps = AttrLabelProxy--streamStreamFlags :: AttrLabelProxy "streamFlags"-streamStreamFlags = AttrLabelProxy--streamStreamId :: AttrLabelProxy "streamId"-streamStreamId = AttrLabelProxy--streamStreamType :: AttrLabelProxy "streamType"-streamStreamType = AttrLabelProxy--streamTags :: AttrLabelProxy "tags"-streamTags = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList Stream = StreamSignalList-type StreamSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method Stream::new--- method type : Constructor--- Args : [Arg {argCName = "stream_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the id for the new stream. If %NULL,\na new one will be automatically generated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstCaps of the stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "StreamType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStreamType of the stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "StreamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStreamFlags of the stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Stream"}))--- throws : False--- Skip return : False--foreign import ccall "gst_stream_new" gst_stream_new :: -    CString ->                              -- stream_id : TBasicType TUTF8-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "StreamType"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "StreamFlags"})-    IO (Ptr Stream)--{- |-Create a new 'GI.Gst.Objects.Stream.Stream' for the given /@streamId@/, /@caps@/, /@type@/-and /@flags@/--/Since: 1.10/--}-streamNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@streamId@/: the id for the new stream. If 'Nothing',-a new one will be automatically generated -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' of the stream -}-    -> [Gst.Flags.StreamType]-    {- ^ /@type@/: the 'GI.Gst.Flags.StreamType' of the stream -}-    -> [Gst.Flags.StreamFlags]-    {- ^ /@flags@/: the 'GI.Gst.Flags.StreamFlags' of the stream -}-    -> m Stream-    {- ^ __Returns:__ The new 'GI.Gst.Objects.Stream.Stream' -}-streamNew streamId caps type_ flags = liftIO $ do-    maybeStreamId <- case streamId of-        Nothing -> return nullPtr-        Just jStreamId -> do-            jStreamId' <- textToCString jStreamId-            return jStreamId'-    maybeCaps <- case caps of-        Nothing -> return nullPtr-        Just jCaps -> do-            jCaps' <- unsafeManagedPtrGetPtr jCaps-            return jCaps'-    let type_' = gflagsToWord type_-    let flags' = gflagsToWord flags-    result <- gst_stream_new maybeStreamId maybeCaps type_' flags'-    checkUnexpectedReturnNULL "streamNew" result-    result' <- (wrapObject Stream) result-    whenJust caps touchManagedPtr-    freeMem maybeStreamId-    return result'--#if ENABLE_OVERLOADING-#endif---- method Stream::get_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_stream_get_caps" gst_stream_get_caps :: -    Ptr Stream ->                           -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    IO (Ptr Gst.Caps.Caps)--{- |-Retrieve the caps for /@stream@/, if any--/Since: 1.10/--}-streamGetCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsStream a) =>-    a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' -}-    -> m (Maybe Gst.Caps.Caps)-    {- ^ __Returns:__ The 'GI.Gst.Structs.Caps.Caps' for /@stream@/ -}-streamGetCaps stream = liftIO $ do-    stream' <- unsafeManagedPtrCastPtr stream-    result <- gst_stream_get_caps stream'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    touchManagedPtr stream-    return maybeResult--#if ENABLE_OVERLOADING-data StreamGetCapsMethodInfo-instance (signature ~ (m (Maybe Gst.Caps.Caps)), MonadIO m, IsStream a) => O.MethodInfo StreamGetCapsMethodInfo a signature where-    overloadedMethod _ = streamGetCaps--#endif---- method Stream::get_stream_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "StreamFlags"}))--- throws : False--- Skip return : False--foreign import ccall "gst_stream_get_stream_flags" gst_stream_get_stream_flags :: -    Ptr Stream ->                           -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    IO CUInt--{- |-Retrieve the current stream flags for /@stream@/--/Since: 1.10/--}-streamGetStreamFlags ::-    (B.CallStack.HasCallStack, MonadIO m, IsStream a) =>-    a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' -}-    -> m [Gst.Flags.StreamFlags]-    {- ^ __Returns:__ The 'GI.Gst.Flags.StreamFlags' for /@stream@/ -}-streamGetStreamFlags stream = liftIO $ do-    stream' <- unsafeManagedPtrCastPtr stream-    result <- gst_stream_get_stream_flags stream'-    let result' = wordToGFlags result-    touchManagedPtr stream-    return result'--#if ENABLE_OVERLOADING-data StreamGetStreamFlagsMethodInfo-instance (signature ~ (m [Gst.Flags.StreamFlags]), MonadIO m, IsStream a) => O.MethodInfo StreamGetStreamFlagsMethodInfo a signature where-    overloadedMethod _ = streamGetStreamFlags--#endif---- method Stream::get_stream_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_stream_get_stream_id" gst_stream_get_stream_id :: -    Ptr Stream ->                           -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    IO CString--{- |-Returns the stream ID of /@stream@/.--/Since: 1.10/--}-streamGetStreamId ::-    (B.CallStack.HasCallStack, MonadIO m, IsStream a) =>-    a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the stream ID of /@stream@/. Only valid-during the lifetime of /@stream@/. -}-streamGetStreamId stream = liftIO $ do-    stream' <- unsafeManagedPtrCastPtr stream-    result <- gst_stream_get_stream_id stream'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr stream-    return maybeResult--#if ENABLE_OVERLOADING-data StreamGetStreamIdMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsStream a) => O.MethodInfo StreamGetStreamIdMethodInfo a signature where-    overloadedMethod _ = streamGetStreamId--#endif---- method Stream::get_stream_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "StreamType"}))--- throws : False--- Skip return : False--foreign import ccall "gst_stream_get_stream_type" gst_stream_get_stream_type :: -    Ptr Stream ->                           -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    IO CUInt--{- |-Retrieve the stream type for /@stream@/--/Since: 1.10/--}-streamGetStreamType ::-    (B.CallStack.HasCallStack, MonadIO m, IsStream a) =>-    a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' -}-    -> m [Gst.Flags.StreamType]-    {- ^ __Returns:__ The 'GI.Gst.Flags.StreamType' for /@stream@/ -}-streamGetStreamType stream = liftIO $ do-    stream' <- unsafeManagedPtrCastPtr stream-    result <- gst_stream_get_stream_type stream'-    let result' = wordToGFlags result-    touchManagedPtr stream-    return result'--#if ENABLE_OVERLOADING-data StreamGetStreamTypeMethodInfo-instance (signature ~ (m [Gst.Flags.StreamType]), MonadIO m, IsStream a) => O.MethodInfo StreamGetStreamTypeMethodInfo a signature where-    overloadedMethod _ = streamGetStreamType--#endif---- method Stream::get_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_stream_get_tags" gst_stream_get_tags :: -    Ptr Stream ->                           -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    IO (Ptr Gst.TagList.TagList)--{- |-Retrieve the tags for /@stream@/, if any--/Since: 1.10/--}-streamGetTags ::-    (B.CallStack.HasCallStack, MonadIO m, IsStream a) =>-    a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' -}-    -> m (Maybe Gst.TagList.TagList)-    {- ^ __Returns:__ The 'GI.Gst.Structs.TagList.TagList' for /@stream@/ -}-streamGetTags stream = liftIO $ do-    stream' <- unsafeManagedPtrCastPtr stream-    result <- gst_stream_get_tags stream'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.TagList.TagList) result'-        return result''-    touchManagedPtr stream-    return maybeResult--#if ENABLE_OVERLOADING-data StreamGetTagsMethodInfo-instance (signature ~ (m (Maybe Gst.TagList.TagList)), MonadIO m, IsStream a) => O.MethodInfo StreamGetTagsMethodInfo a signature where-    overloadedMethod _ = streamGetTags--#endif---- method Stream::set_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_stream_set_caps" gst_stream_set_caps :: -    Ptr Stream ->                           -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-Set the caps for the 'GI.Gst.Objects.Stream.Stream'--/Since: 1.10/--}-streamSetCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsStream a) =>-    a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> m ()-streamSetCaps stream caps = liftIO $ do-    stream' <- unsafeManagedPtrCastPtr stream-    maybeCaps <- case caps of-        Nothing -> return nullPtr-        Just jCaps -> do-            jCaps' <- unsafeManagedPtrGetPtr jCaps-            return jCaps'-    gst_stream_set_caps stream' maybeCaps-    touchManagedPtr stream-    whenJust caps touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data StreamSetCapsMethodInfo-instance (signature ~ (Maybe (Gst.Caps.Caps) -> m ()), MonadIO m, IsStream a) => O.MethodInfo StreamSetCapsMethodInfo a signature where-    overloadedMethod _ = streamSetCaps--#endif---- method Stream::set_stream_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "StreamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the flags to set on @stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_stream_set_stream_flags" gst_stream_set_stream_flags :: -    Ptr Stream ->                           -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "StreamFlags"})-    IO ()--{- |-Set the /@flags@/ for the /@stream@/.--/Since: 1.10/--}-streamSetStreamFlags ::-    (B.CallStack.HasCallStack, MonadIO m, IsStream a) =>-    a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' -}-    -> [Gst.Flags.StreamFlags]-    {- ^ /@flags@/: the flags to set on /@stream@/ -}-    -> m ()-streamSetStreamFlags stream flags = liftIO $ do-    stream' <- unsafeManagedPtrCastPtr stream-    let flags' = gflagsToWord flags-    gst_stream_set_stream_flags stream' flags'-    touchManagedPtr stream-    return ()--#if ENABLE_OVERLOADING-data StreamSetStreamFlagsMethodInfo-instance (signature ~ ([Gst.Flags.StreamFlags] -> m ()), MonadIO m, IsStream a) => O.MethodInfo StreamSetStreamFlagsMethodInfo a signature where-    overloadedMethod _ = streamSetStreamFlags--#endif---- method Stream::set_stream_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream_type", argType = TInterface (Name {namespace = "Gst", name = "StreamType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type to set on @stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_stream_set_stream_type" gst_stream_set_stream_type :: -    Ptr Stream ->                           -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    CUInt ->                                -- stream_type : TInterface (Name {namespace = "Gst", name = "StreamType"})-    IO ()--{- |-Set the stream type of /@stream@/--/Since: 1.10/--}-streamSetStreamType ::-    (B.CallStack.HasCallStack, MonadIO m, IsStream a) =>-    a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' -}-    -> [Gst.Flags.StreamType]-    {- ^ /@streamType@/: the type to set on /@stream@/ -}-    -> m ()-streamSetStreamType stream streamType = liftIO $ do-    stream' <- unsafeManagedPtrCastPtr stream-    let streamType' = gflagsToWord streamType-    gst_stream_set_stream_type stream' streamType'-    touchManagedPtr stream-    return ()--#if ENABLE_OVERLOADING-data StreamSetStreamTypeMethodInfo-instance (signature ~ ([Gst.Flags.StreamType] -> m ()), MonadIO m, IsStream a) => O.MethodInfo StreamSetStreamTypeMethodInfo a signature where-    overloadedMethod _ = streamSetStreamType--#endif---- method Stream::set_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstTagList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_stream_set_tags" gst_stream_set_tags :: -    Ptr Stream ->                           -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    Ptr Gst.TagList.TagList ->              -- tags : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO ()--{- |-Set the tags for the 'GI.Gst.Objects.Stream.Stream'--/Since: 1.10/--}-streamSetTags ::-    (B.CallStack.HasCallStack, MonadIO m, IsStream a) =>-    a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' -}-    -> Maybe (Gst.TagList.TagList)-    {- ^ /@tags@/: a 'GI.Gst.Structs.TagList.TagList' -}-    -> m ()-streamSetTags stream tags = liftIO $ do-    stream' <- unsafeManagedPtrCastPtr stream-    maybeTags <- case tags of-        Nothing -> return nullPtr-        Just jTags -> do-            jTags' <- unsafeManagedPtrGetPtr jTags-            return jTags'-    gst_stream_set_tags stream' maybeTags-    touchManagedPtr stream-    whenJust tags touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data StreamSetTagsMethodInfo-instance (signature ~ (Maybe (Gst.TagList.TagList) -> m ()), MonadIO m, IsStream a) => O.MethodInfo StreamSetTagsMethodInfo a signature where-    overloadedMethod _ = streamSetTags--#endif--
− GI/Gst/Objects/Stream.hs-boot
@@ -1,71 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Stream where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Stream = Stream (ManagedPtr Stream)-instance GObject Stream where-class (GObject o, O.IsDescendantOf Stream o) => IsStream o-instance (GObject o, O.IsDescendantOf Stream o) => IsStream o-instance O.HasParentTypes Stream-#if ENABLE_OVERLOADING-data StreamCapsPropertyInfo-#endif-#if ENABLE_OVERLOADING-data StreamStreamFlagsPropertyInfo-#endif-#if ENABLE_OVERLOADING-data StreamStreamIdPropertyInfo-#endif-#if ENABLE_OVERLOADING-data StreamStreamTypePropertyInfo-#endif-#if ENABLE_OVERLOADING-data StreamTagsPropertyInfo-#endif-#if ENABLE_OVERLOADING-data StreamGetCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamGetStreamFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamGetStreamIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamGetStreamTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamGetTagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamSetCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamSetStreamFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamSetStreamTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamSetTagsMethodInfo-#endif
− GI/Gst/Objects/StreamCollection.hs
@@ -1,581 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A collection of 'GI.Gst.Objects.Stream.Stream' that are available.--A 'GI.Gst.Objects.StreamCollection.StreamCollection' 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 'GI.Gst.Objects.StreamCollection.StreamCollection' is immutable. Updates are made by sending-a new 'GI.Gst.Objects.StreamCollection.StreamCollection' message, which may or may not share some of-the 'GI.Gst.Objects.Stream.Stream' 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 'GI.Gst.Objects.StreamCollection.StreamCollection'.--Applications can activate streams from a collection by using the-@/GST_EVENT_SELECT_STREAMS/@ event on a pipeline, bin or element.--/Since: 1.10/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.StreamCollection-    ( ---- * Exported types-    StreamCollection(..)                    ,-    IsStreamCollection                      ,-    toStreamCollection                      ,-    noStreamCollection                      ,--- -- * Methods--- ** addStream #method:addStream#--#if ENABLE_OVERLOADING-    StreamCollectionAddStreamMethodInfo     ,-#endif-    streamCollectionAddStream               ,----- ** getSize #method:getSize#--#if ENABLE_OVERLOADING-    StreamCollectionGetSizeMethodInfo       ,-#endif-    streamCollectionGetSize                 ,----- ** getStream #method:getStream#--#if ENABLE_OVERLOADING-    StreamCollectionGetStreamMethodInfo     ,-#endif-    streamCollectionGetStream               ,----- ** getUpstreamId #method:getUpstreamId#--#if ENABLE_OVERLOADING-    StreamCollectionGetUpstreamIdMethodInfo ,-#endif-    streamCollectionGetUpstreamId           ,----- ** new #method:new#--    streamCollectionNew                     ,----- -- * Properties--- ** upstreamId #attr:upstreamId#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    StreamCollectionUpstreamIdPropertyInfo  ,-#endif-    clearStreamCollectionUpstreamId         ,-    constructStreamCollectionUpstreamId     ,-    getStreamCollectionUpstreamId           ,-    setStreamCollectionUpstreamId           ,-#if ENABLE_OVERLOADING-    streamCollectionUpstreamId              ,-#endif----- -- * Signals--- ** streamNotify #signal:streamNotify#--    C_StreamCollectionStreamNotifyCallback  ,-    StreamCollectionStreamNotifyCallback    ,-#if ENABLE_OVERLOADING-    StreamCollectionStreamNotifySignalInfo  ,-#endif-    afterStreamCollectionStreamNotify       ,-    genClosure_StreamCollectionStreamNotify ,-    mk_StreamCollectionStreamNotifyCallback ,-    noStreamCollectionStreamNotifyCallback  ,-    onStreamCollectionStreamNotify          ,-    wrap_StreamCollectionStreamNotifyCallback,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Stream as Gst.Stream---- | Memory-managed wrapper type.-newtype StreamCollection = StreamCollection (ManagedPtr StreamCollection)-foreign import ccall "gst_stream_collection_get_type"-    c_gst_stream_collection_get_type :: IO GType--instance GObject StreamCollection where-    gobjectType = c_gst_stream_collection_get_type-    ---- | Type class for types which can be safely cast to `StreamCollection`, for instance with `toStreamCollection`.-class (GObject o, O.IsDescendantOf StreamCollection o) => IsStreamCollection o-instance (GObject o, O.IsDescendantOf StreamCollection o) => IsStreamCollection o--instance O.HasParentTypes StreamCollection-type instance O.ParentTypes StreamCollection = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `StreamCollection`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toStreamCollection :: (MonadIO m, IsStreamCollection o) => o -> m StreamCollection-toStreamCollection = liftIO . unsafeCastTo StreamCollection---- | A convenience alias for `Nothing` :: `Maybe` `StreamCollection`.-noStreamCollection :: Maybe StreamCollection-noStreamCollection = Nothing--#if ENABLE_OVERLOADING-type family ResolveStreamCollectionMethod (t :: Symbol) (o :: *) :: * where-    ResolveStreamCollectionMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveStreamCollectionMethod "addStream" o = StreamCollectionAddStreamMethodInfo-    ResolveStreamCollectionMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveStreamCollectionMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveStreamCollectionMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveStreamCollectionMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveStreamCollectionMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveStreamCollectionMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveStreamCollectionMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveStreamCollectionMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveStreamCollectionMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveStreamCollectionMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveStreamCollectionMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveStreamCollectionMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveStreamCollectionMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveStreamCollectionMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveStreamCollectionMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveStreamCollectionMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveStreamCollectionMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveStreamCollectionMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveStreamCollectionMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveStreamCollectionMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveStreamCollectionMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveStreamCollectionMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveStreamCollectionMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveStreamCollectionMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveStreamCollectionMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveStreamCollectionMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveStreamCollectionMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveStreamCollectionMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveStreamCollectionMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveStreamCollectionMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveStreamCollectionMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveStreamCollectionMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveStreamCollectionMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveStreamCollectionMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveStreamCollectionMethod "getSize" o = StreamCollectionGetSizeMethodInfo-    ResolveStreamCollectionMethod "getStream" o = StreamCollectionGetStreamMethodInfo-    ResolveStreamCollectionMethod "getUpstreamId" o = StreamCollectionGetUpstreamIdMethodInfo-    ResolveStreamCollectionMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveStreamCollectionMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveStreamCollectionMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveStreamCollectionMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveStreamCollectionMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveStreamCollectionMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveStreamCollectionMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveStreamCollectionMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveStreamCollectionMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveStreamCollectionMethod t StreamCollection, O.MethodInfo info StreamCollection p) => OL.IsLabel t (StreamCollection -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- signal StreamCollection::stream-notify-{- |-/No description available in the introspection data./--}-type StreamCollectionStreamNotifyCallback =-    Gst.Stream.Stream-    -> GParamSpec-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `StreamCollectionStreamNotifyCallback`@.-noStreamCollectionStreamNotifyCallback :: Maybe StreamCollectionStreamNotifyCallback-noStreamCollectionStreamNotifyCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_StreamCollectionStreamNotifyCallback =-    Ptr () ->                               -- object-    Ptr Gst.Stream.Stream ->-    Ptr GParamSpec ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_StreamCollectionStreamNotifyCallback`.-foreign import ccall "wrapper"-    mk_StreamCollectionStreamNotifyCallback :: C_StreamCollectionStreamNotifyCallback -> IO (FunPtr C_StreamCollectionStreamNotifyCallback)---- | Wrap the callback into a `GClosure`.-genClosure_StreamCollectionStreamNotify :: MonadIO m => StreamCollectionStreamNotifyCallback -> m (GClosure C_StreamCollectionStreamNotifyCallback)-genClosure_StreamCollectionStreamNotify cb = liftIO $ do-    let cb' = wrap_StreamCollectionStreamNotifyCallback cb-    mk_StreamCollectionStreamNotifyCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `StreamCollectionStreamNotifyCallback` into a `C_StreamCollectionStreamNotifyCallback`.-wrap_StreamCollectionStreamNotifyCallback ::-    StreamCollectionStreamNotifyCallback ->-    C_StreamCollectionStreamNotifyCallback-wrap_StreamCollectionStreamNotifyCallback _cb _ object p0 _ = do-    object' <- (newObject Gst.Stream.Stream) object-    p0' <- B.GParamSpec.newGParamSpecFromPtr p0-    _cb  object' p0'---{- |-Connect a signal handler for the “@stream-notify@” signal, to be run before the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.on' streamCollection #streamNotify callback-@--}-onStreamCollectionStreamNotify :: (IsStreamCollection a, MonadIO m) => a -> StreamCollectionStreamNotifyCallback -> m SignalHandlerId-onStreamCollectionStreamNotify obj cb = liftIO $ do-    let cb' = wrap_StreamCollectionStreamNotifyCallback cb-    cb'' <- mk_StreamCollectionStreamNotifyCallback cb'-    connectSignalFunPtr obj "stream-notify" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@stream-notify@” signal, to be run after the default handler.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Signals.after' streamCollection #streamNotify callback-@--}-afterStreamCollectionStreamNotify :: (IsStreamCollection a, MonadIO m) => a -> StreamCollectionStreamNotifyCallback -> m SignalHandlerId-afterStreamCollectionStreamNotify obj cb = liftIO $ do-    let cb' = wrap_StreamCollectionStreamNotifyCallback cb-    cb'' <- mk_StreamCollectionStreamNotifyCallback cb'-    connectSignalFunPtr obj "stream-notify" cb'' SignalConnectAfter----- VVV Prop "upstream-id"-   -- Type: TBasicType TUTF8-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]-   -- Nullable: (Just False,Nothing)--{- |-Get the value of the “@upstream-id@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' streamCollection #upstreamId-@--}-getStreamCollectionUpstreamId :: (MonadIO m, IsStreamCollection o) => o -> m T.Text-getStreamCollectionUpstreamId obj = liftIO $ checkUnexpectedNothing "getStreamCollectionUpstreamId" $ B.Properties.getObjectPropertyString obj "upstream-id"--{- |-Set the value of the “@upstream-id@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' streamCollection [ #upstreamId 'Data.GI.Base.Attributes.:=' value ]-@--}-setStreamCollectionUpstreamId :: (MonadIO m, IsStreamCollection o) => o -> T.Text -> m ()-setStreamCollectionUpstreamId obj val = liftIO $ B.Properties.setObjectPropertyString obj "upstream-id" (Just val)--{- |-Construct a `GValueConstruct` with valid value for the “@upstream-id@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructStreamCollectionUpstreamId :: (IsStreamCollection o) => T.Text -> IO (GValueConstruct o)-constructStreamCollectionUpstreamId val = B.Properties.constructObjectPropertyString "upstream-id" (Just val)--{- |-Set the value of the “@upstream-id@” property to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #upstreamId-@--}-clearStreamCollectionUpstreamId :: (MonadIO m, IsStreamCollection o) => o -> m ()-clearStreamCollectionUpstreamId obj = liftIO $ B.Properties.setObjectPropertyString obj "upstream-id" (Nothing :: Maybe T.Text)--#if ENABLE_OVERLOADING-data StreamCollectionUpstreamIdPropertyInfo-instance AttrInfo StreamCollectionUpstreamIdPropertyInfo where-    type AttrAllowedOps StreamCollectionUpstreamIdPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint StreamCollectionUpstreamIdPropertyInfo = (~) T.Text-    type AttrBaseTypeConstraint StreamCollectionUpstreamIdPropertyInfo = IsStreamCollection-    type AttrGetType StreamCollectionUpstreamIdPropertyInfo = T.Text-    type AttrLabel StreamCollectionUpstreamIdPropertyInfo = "upstream-id"-    type AttrOrigin StreamCollectionUpstreamIdPropertyInfo = StreamCollection-    attrGet _ = getStreamCollectionUpstreamId-    attrSet _ = setStreamCollectionUpstreamId-    attrConstruct _ = constructStreamCollectionUpstreamId-    attrClear _ = clearStreamCollectionUpstreamId-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList StreamCollection-type instance O.AttributeList StreamCollection = StreamCollectionAttributeList-type StreamCollectionAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("upstreamId", StreamCollectionUpstreamIdPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-streamCollectionUpstreamId :: AttrLabelProxy "upstreamId"-streamCollectionUpstreamId = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-data StreamCollectionStreamNotifySignalInfo-instance SignalInfo StreamCollectionStreamNotifySignalInfo where-    type HaskellCallbackType StreamCollectionStreamNotifySignalInfo = StreamCollectionStreamNotifyCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_StreamCollectionStreamNotifyCallback cb-        cb'' <- mk_StreamCollectionStreamNotifyCallback cb'-        connectSignalFunPtr obj "stream-notify" cb'' connectMode--type instance O.SignalList StreamCollection = StreamCollectionSignalList-type StreamCollectionSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("streamNotify", StreamCollectionStreamNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method StreamCollection::new--- method type : Constructor--- Args : [Arg {argCName = "upstream_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The stream id of the parent stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "StreamCollection"}))--- throws : False--- Skip return : False--foreign import ccall "gst_stream_collection_new" gst_stream_collection_new :: -    CString ->                              -- upstream_id : TBasicType TUTF8-    IO (Ptr StreamCollection)--{- |-Create a new 'GI.Gst.Objects.StreamCollection.StreamCollection'.--/Since: 1.10/--}-streamCollectionNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@upstreamId@/: The stream id of the parent stream -}-    -> m StreamCollection-    {- ^ __Returns:__ The new 'GI.Gst.Objects.StreamCollection.StreamCollection'. -}-streamCollectionNew upstreamId = liftIO $ do-    maybeUpstreamId <- case upstreamId of-        Nothing -> return nullPtr-        Just jUpstreamId -> do-            jUpstreamId' <- textToCString jUpstreamId-            return jUpstreamId'-    result <- gst_stream_collection_new maybeUpstreamId-    checkUnexpectedReturnNULL "streamCollectionNew" result-    result' <- (wrapObject StreamCollection) result-    freeMem maybeUpstreamId-    return result'--#if ENABLE_OVERLOADING-#endif---- method StreamCollection::add_stream--- method type : OrdinaryMethod--- Args : [Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStreamCollection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStream to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_stream_collection_add_stream" gst_stream_collection_add_stream :: -    Ptr StreamCollection ->                 -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    Ptr Gst.Stream.Stream ->                -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    IO CInt--{- |-Add the given /@stream@/ to the /@collection@/.--/Since: 1.10/--}-streamCollectionAddStream ::-    (B.CallStack.HasCallStack, MonadIO m, IsStreamCollection a, Gst.Stream.IsStream b) =>-    a-    {- ^ /@collection@/: a 'GI.Gst.Objects.StreamCollection.StreamCollection' -}-    -> b-    {- ^ /@stream@/: the 'GI.Gst.Objects.Stream.Stream' to add -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the /@stream@/ was properly added, else 'False' -}-streamCollectionAddStream collection stream = liftIO $ do-    collection' <- unsafeManagedPtrCastPtr collection-    stream' <- B.ManagedPtr.disownObject stream-    result <- gst_stream_collection_add_stream collection' stream'-    let result' = (/= 0) result-    touchManagedPtr collection-    touchManagedPtr stream-    return result'--#if ENABLE_OVERLOADING-data StreamCollectionAddStreamMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsStreamCollection a, Gst.Stream.IsStream b) => O.MethodInfo StreamCollectionAddStreamMethodInfo a signature where-    overloadedMethod _ = streamCollectionAddStream--#endif---- method StreamCollection::get_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStreamCollection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_stream_collection_get_size" gst_stream_collection_get_size :: -    Ptr StreamCollection ->                 -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    IO Word32--{- |-Get the number of streams this collection contains--/Since: 1.10/--}-streamCollectionGetSize ::-    (B.CallStack.HasCallStack, MonadIO m, IsStreamCollection a) =>-    a-    {- ^ /@collection@/: a 'GI.Gst.Objects.StreamCollection.StreamCollection' -}-    -> m Word32-    {- ^ __Returns:__ The number of streams that /@collection@/ contains -}-streamCollectionGetSize collection = liftIO $ do-    collection' <- unsafeManagedPtrCastPtr collection-    result <- gst_stream_collection_get_size collection'-    touchManagedPtr collection-    return result--#if ENABLE_OVERLOADING-data StreamCollectionGetSizeMethodInfo-instance (signature ~ (m Word32), MonadIO m, IsStreamCollection a) => O.MethodInfo StreamCollectionGetSizeMethodInfo a signature where-    overloadedMethod _ = streamCollectionGetSize--#endif---- method StreamCollection::get_stream--- method type : OrdinaryMethod--- Args : [Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStreamCollection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Index of the stream to retrieve", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Stream"}))--- throws : False--- Skip return : False--foreign import ccall "gst_stream_collection_get_stream" gst_stream_collection_get_stream :: -    Ptr StreamCollection ->                 -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    Word32 ->                               -- index : TBasicType TUInt-    IO (Ptr Gst.Stream.Stream)--{- |-Retrieve the 'GI.Gst.Objects.Stream.Stream' with index /@index@/ from the collection.--The caller should not modify the returned 'GI.Gst.Objects.Stream.Stream'--/Since: 1.10/--}-streamCollectionGetStream ::-    (B.CallStack.HasCallStack, MonadIO m, IsStreamCollection a) =>-    a-    {- ^ /@collection@/: a 'GI.Gst.Objects.StreamCollection.StreamCollection' -}-    -> Word32-    {- ^ /@index@/: Index of the stream to retrieve -}-    -> m (Maybe Gst.Stream.Stream)-    {- ^ __Returns:__ A 'GI.Gst.Objects.Stream.Stream' -}-streamCollectionGetStream collection index = liftIO $ do-    collection' <- unsafeManagedPtrCastPtr collection-    result <- gst_stream_collection_get_stream collection' index-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Gst.Stream.Stream) result'-        return result''-    touchManagedPtr collection-    return maybeResult--#if ENABLE_OVERLOADING-data StreamCollectionGetStreamMethodInfo-instance (signature ~ (Word32 -> m (Maybe Gst.Stream.Stream)), MonadIO m, IsStreamCollection a) => O.MethodInfo StreamCollectionGetStreamMethodInfo a signature where-    overloadedMethod _ = streamCollectionGetStream--#endif---- method StreamCollection::get_upstream_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStreamCollection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_stream_collection_get_upstream_id" gst_stream_collection_get_upstream_id :: -    Ptr StreamCollection ->                 -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    IO CString--{- |-Returns the upstream id of the /@collection@/.--/Since: 1.10/--}-streamCollectionGetUpstreamId ::-    (B.CallStack.HasCallStack, MonadIO m, IsStreamCollection a) =>-    a-    {- ^ /@collection@/: a 'GI.Gst.Objects.StreamCollection.StreamCollection' -}-    -> m T.Text-    {- ^ __Returns:__ The upstream id -}-streamCollectionGetUpstreamId collection = liftIO $ do-    collection' <- unsafeManagedPtrCastPtr collection-    result <- gst_stream_collection_get_upstream_id collection'-    checkUnexpectedReturnNULL "streamCollectionGetUpstreamId" result-    result' <- cstringToText result-    touchManagedPtr collection-    return result'--#if ENABLE_OVERLOADING-data StreamCollectionGetUpstreamIdMethodInfo-instance (signature ~ (m T.Text), MonadIO m, IsStreamCollection a) => O.MethodInfo StreamCollectionGetUpstreamIdMethodInfo a signature where-    overloadedMethod _ = streamCollectionGetUpstreamId--#endif--
− GI/Gst/Objects/StreamCollection.hs-boot
@@ -1,47 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.StreamCollection where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype StreamCollection = StreamCollection (ManagedPtr StreamCollection)-instance GObject StreamCollection where-class (GObject o, O.IsDescendantOf StreamCollection o) => IsStreamCollection o-instance (GObject o, O.IsDescendantOf StreamCollection o) => IsStreamCollection o-instance O.HasParentTypes StreamCollection-#if ENABLE_OVERLOADING-data StreamCollectionUpstreamIdPropertyInfo-#endif-#if ENABLE_OVERLOADING-data StreamCollectionStreamNotifySignalInfo-#endif-#if ENABLE_OVERLOADING-data StreamCollectionAddStreamMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamCollectionGetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamCollectionGetStreamMethodInfo-#endif-#if ENABLE_OVERLOADING-data StreamCollectionGetUpstreamIdMethodInfo-#endif
− GI/Gst/Objects/SystemClock.hs
@@ -1,331 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.SystemClock-    ( ---- * Exported types-    SystemClock(..)                         ,-    IsSystemClock                           ,-    toSystemClock                           ,-    noSystemClock                           ,--- -- * Methods--- ** obtain #method:obtain#--    systemClockObtain                       ,----- ** setDefault #method:setDefault#--    systemClockSetDefault                   ,----- -- * Properties--- ** clockType #attr:clockType#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    SystemClockClockTypePropertyInfo        ,-#endif-    constructSystemClockClockType           ,-    getSystemClockClockType                 ,-    setSystemClockClockType                 ,-#if ENABLE_OVERLOADING-    systemClockClockType                    ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Clock as Gst.Clock-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype SystemClock = SystemClock (ManagedPtr SystemClock)-foreign import ccall "gst_system_clock_get_type"-    c_gst_system_clock_get_type :: IO GType--instance GObject SystemClock where-    gobjectType = c_gst_system_clock_get_type-    ---- | Type class for types which can be safely cast to `SystemClock`, for instance with `toSystemClock`.-class (GObject o, O.IsDescendantOf SystemClock o) => IsSystemClock o-instance (GObject o, O.IsDescendantOf SystemClock o) => IsSystemClock o--instance O.HasParentTypes SystemClock-type instance O.ParentTypes SystemClock = '[Gst.Clock.Clock, Gst.Object.Object, GObject.Object.Object]---- | Cast to `SystemClock`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toSystemClock :: (MonadIO m, IsSystemClock o) => o -> m SystemClock-toSystemClock = liftIO . unsafeCastTo SystemClock---- | A convenience alias for `Nothing` :: `Maybe` `SystemClock`.-noSystemClock :: Maybe SystemClock-noSystemClock = Nothing--#if ENABLE_OVERLOADING-type family ResolveSystemClockMethod (t :: Symbol) (o :: *) :: * where-    ResolveSystemClockMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveSystemClockMethod "addObservation" o = Gst.Clock.ClockAddObservationMethodInfo-    ResolveSystemClockMethod "addObservationUnapplied" o = Gst.Clock.ClockAddObservationUnappliedMethodInfo-    ResolveSystemClockMethod "adjustUnlocked" o = Gst.Clock.ClockAdjustUnlockedMethodInfo-    ResolveSystemClockMethod "adjustWithCalibration" o = Gst.Clock.ClockAdjustWithCalibrationMethodInfo-    ResolveSystemClockMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveSystemClockMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveSystemClockMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveSystemClockMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveSystemClockMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveSystemClockMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveSystemClockMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveSystemClockMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveSystemClockMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveSystemClockMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveSystemClockMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveSystemClockMethod "isSynced" o = Gst.Clock.ClockIsSyncedMethodInfo-    ResolveSystemClockMethod "newPeriodicId" o = Gst.Clock.ClockNewPeriodicIdMethodInfo-    ResolveSystemClockMethod "newSingleShotId" o = Gst.Clock.ClockNewSingleShotIdMethodInfo-    ResolveSystemClockMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveSystemClockMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveSystemClockMethod "periodicIdReinit" o = Gst.Clock.ClockPeriodicIdReinitMethodInfo-    ResolveSystemClockMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveSystemClockMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveSystemClockMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveSystemClockMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveSystemClockMethod "singleShotIdReinit" o = Gst.Clock.ClockSingleShotIdReinitMethodInfo-    ResolveSystemClockMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveSystemClockMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveSystemClockMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveSystemClockMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveSystemClockMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveSystemClockMethod "unadjustUnlocked" o = Gst.Clock.ClockUnadjustUnlockedMethodInfo-    ResolveSystemClockMethod "unadjustWithCalibration" o = Gst.Clock.ClockUnadjustWithCalibrationMethodInfo-    ResolveSystemClockMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveSystemClockMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveSystemClockMethod "waitForSync" o = Gst.Clock.ClockWaitForSyncMethodInfo-    ResolveSystemClockMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveSystemClockMethod "getCalibration" o = Gst.Clock.ClockGetCalibrationMethodInfo-    ResolveSystemClockMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveSystemClockMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveSystemClockMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveSystemClockMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveSystemClockMethod "getInternalTime" o = Gst.Clock.ClockGetInternalTimeMethodInfo-    ResolveSystemClockMethod "getMaster" o = Gst.Clock.ClockGetMasterMethodInfo-    ResolveSystemClockMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveSystemClockMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveSystemClockMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveSystemClockMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveSystemClockMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveSystemClockMethod "getResolution" o = Gst.Clock.ClockGetResolutionMethodInfo-    ResolveSystemClockMethod "getTime" o = Gst.Clock.ClockGetTimeMethodInfo-    ResolveSystemClockMethod "getTimeout" o = Gst.Clock.ClockGetTimeoutMethodInfo-    ResolveSystemClockMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveSystemClockMethod "setCalibration" o = Gst.Clock.ClockSetCalibrationMethodInfo-    ResolveSystemClockMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveSystemClockMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveSystemClockMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveSystemClockMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveSystemClockMethod "setMaster" o = Gst.Clock.ClockSetMasterMethodInfo-    ResolveSystemClockMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveSystemClockMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveSystemClockMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveSystemClockMethod "setResolution" o = Gst.Clock.ClockSetResolutionMethodInfo-    ResolveSystemClockMethod "setSynced" o = Gst.Clock.ClockSetSyncedMethodInfo-    ResolveSystemClockMethod "setTimeout" o = Gst.Clock.ClockSetTimeoutMethodInfo-    ResolveSystemClockMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveSystemClockMethod t SystemClock, O.MethodInfo info SystemClock p) => OL.IsLabel t (SystemClock -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- VVV Prop "clock-type"-   -- Type: TInterface (Name {namespace = "Gst", name = "ClockType"})-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@clock-type@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' systemClock #clockType-@--}-getSystemClockClockType :: (MonadIO m, IsSystemClock o) => o -> m Gst.Enums.ClockType-getSystemClockClockType obj = liftIO $ B.Properties.getObjectPropertyEnum obj "clock-type"--{- |-Set the value of the “@clock-type@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' systemClock [ #clockType 'Data.GI.Base.Attributes.:=' value ]-@--}-setSystemClockClockType :: (MonadIO m, IsSystemClock o) => o -> Gst.Enums.ClockType -> m ()-setSystemClockClockType obj val = liftIO $ B.Properties.setObjectPropertyEnum obj "clock-type" val--{- |-Construct a `GValueConstruct` with valid value for the “@clock-type@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructSystemClockClockType :: (IsSystemClock o) => Gst.Enums.ClockType -> IO (GValueConstruct o)-constructSystemClockClockType val = B.Properties.constructObjectPropertyEnum "clock-type" val--#if ENABLE_OVERLOADING-data SystemClockClockTypePropertyInfo-instance AttrInfo SystemClockClockTypePropertyInfo where-    type AttrAllowedOps SystemClockClockTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint SystemClockClockTypePropertyInfo = (~) Gst.Enums.ClockType-    type AttrBaseTypeConstraint SystemClockClockTypePropertyInfo = IsSystemClock-    type AttrGetType SystemClockClockTypePropertyInfo = Gst.Enums.ClockType-    type AttrLabel SystemClockClockTypePropertyInfo = "clock-type"-    type AttrOrigin SystemClockClockTypePropertyInfo = SystemClock-    attrGet _ = getSystemClockClockType-    attrSet _ = setSystemClockClockType-    attrConstruct _ = constructSystemClockClockType-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList SystemClock-type instance O.AttributeList SystemClock = SystemClockAttributeList-type SystemClockAttributeList = ('[ '("clockType", SystemClockClockTypePropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("timeout", Gst.Clock.ClockTimeoutPropertyInfo), '("windowSize", Gst.Clock.ClockWindowSizePropertyInfo), '("windowThreshold", Gst.Clock.ClockWindowThresholdPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-systemClockClockType :: AttrLabelProxy "clockType"-systemClockClockType = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList SystemClock = SystemClockSignalList-type SystemClockSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("synced", Gst.Clock.ClockSyncedSignalInfo)] :: [(Symbol, *)])--#endif---- method SystemClock::obtain--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Clock"}))--- throws : False--- Skip return : False--foreign import ccall "gst_system_clock_obtain" gst_system_clock_obtain :: -    IO (Ptr Gst.Clock.Clock)--{- |-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.--}-systemClockObtain ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Gst.Clock.Clock-    {- ^ __Returns:__ the default clock.--MT safe. -}-systemClockObtain  = liftIO $ do-    result <- gst_system_clock_obtain-    checkUnexpectedReturnNULL "systemClockObtain" result-    result' <- (wrapObject Gst.Clock.Clock) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method SystemClock::set_default--- method type : MemberFunction--- Args : [Arg {argCName = "new_clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstClock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_system_clock_set_default" gst_system_clock_set_default :: -    Ptr Gst.Clock.Clock ->                  -- new_clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO ()--{- |-Sets the default system clock that can be obtained with-'GI.Gst.Objects.SystemClock.systemClockObtain'.--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.--/Since: 1.4/--}-systemClockSetDefault ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Clock.IsClock a) =>-    Maybe (a)-    {- ^ /@newClock@/: a 'GI.Gst.Objects.Clock.Clock' -}-    -> m ()-systemClockSetDefault newClock = liftIO $ do-    maybeNewClock <- case newClock of-        Nothing -> return nullPtr-        Just jNewClock -> do-            jNewClock' <- unsafeManagedPtrCastPtr jNewClock-            return jNewClock'-    gst_system_clock_set_default maybeNewClock-    whenJust newClock touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/SystemClock.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.SystemClock where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype SystemClock = SystemClock (ManagedPtr SystemClock)-instance GObject SystemClock where-class (GObject o, O.IsDescendantOf SystemClock o) => IsSystemClock o-instance (GObject o, O.IsDescendantOf SystemClock o) => IsSystemClock o-instance O.HasParentTypes SystemClock-#if ENABLE_OVERLOADING-data SystemClockClockTypePropertyInfo-#endif
− GI/Gst/Objects/Task.hs
@@ -1,829 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Objects.Task.Task' is used by 'GI.Gst.Objects.Element.Element' and 'GI.Gst.Objects.Pad.Pad' to provide the data passing-threads in a 'GI.Gst.Objects.Pipeline.Pipeline'.--A 'GI.Gst.Objects.Pad.Pad' will typically start a 'GI.Gst.Objects.Task.Task' to push or pull data to\/from the-peer pads. Most source elements start a 'GI.Gst.Objects.Task.Task' to push data. In some cases-a demuxer element can start a 'GI.Gst.Objects.Task.Task' 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 'GI.Gst.Objects.Pad.Pad' to start\/pause\/stop tasks, it-might sometimes be needed to create a 'GI.Gst.Objects.Task.Task' manually if it is not related to-a 'GI.Gst.Objects.Pad.Pad'.--Before the 'GI.Gst.Objects.Task.Task' can be run, it needs a 'GI.GLib.Structs.RecMutex.RecMutex' that can be set with-'GI.Gst.Objects.Task.taskSetLock'.--The task can be started, paused and stopped with 'GI.Gst.Objects.Task.taskStart', 'GI.Gst.Objects.Task.taskPause'-and 'GI.Gst.Objects.Task.taskStop' respectively or with the 'GI.Gst.Objects.Task.taskSetState' function.--A 'GI.Gst.Objects.Task.Task' will repeatedly call the 'GI.Gst.Callbacks.TaskFunction' with the user data-that was provided when creating the task with 'GI.Gst.Objects.Task.taskNew'. 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 'GI.Gst.Objects.Task.taskStop' will not immediately make sure the task is-not running anymore. Use 'GI.Gst.Objects.Task.taskJoin' to make sure the task is completely-stopped and the thread is stopped.--After creating a 'GI.Gst.Objects.Task.Task', use 'GI.Gst.Objects.Object.objectUnref' to free its resources. This can-only be done when the task is not running anymore.--Task functions can send a 'GI.Gst.Structs.Message.Message' to send out-of-band data to the-application. The application can receive messages from the 'GI.Gst.Objects.Bus.Bus' 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.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Task-    ( ---- * Exported types-    Task(..)                                ,-    IsTask                                  ,-    toTask                                  ,-    noTask                                  ,--- -- * Methods--- ** cleanupAll #method:cleanupAll#--    taskCleanupAll                          ,----- ** getPool #method:getPool#--#if ENABLE_OVERLOADING-    TaskGetPoolMethodInfo                   ,-#endif-    taskGetPool                             ,----- ** getState #method:getState#--#if ENABLE_OVERLOADING-    TaskGetStateMethodInfo                  ,-#endif-    taskGetState                            ,----- ** join #method:join#--#if ENABLE_OVERLOADING-    TaskJoinMethodInfo                      ,-#endif-    taskJoin                                ,----- ** new #method:new#--    taskNew                                 ,----- ** pause #method:pause#--#if ENABLE_OVERLOADING-    TaskPauseMethodInfo                     ,-#endif-    taskPause                               ,----- ** setEnterCallback #method:setEnterCallback#--#if ENABLE_OVERLOADING-    TaskSetEnterCallbackMethodInfo          ,-#endif-    taskSetEnterCallback                    ,----- ** setLeaveCallback #method:setLeaveCallback#--#if ENABLE_OVERLOADING-    TaskSetLeaveCallbackMethodInfo          ,-#endif-    taskSetLeaveCallback                    ,----- ** setLock #method:setLock#--#if ENABLE_OVERLOADING-    TaskSetLockMethodInfo                   ,-#endif-    taskSetLock                             ,----- ** setPool #method:setPool#--#if ENABLE_OVERLOADING-    TaskSetPoolMethodInfo                   ,-#endif-    taskSetPool                             ,----- ** setState #method:setState#--#if ENABLE_OVERLOADING-    TaskSetStateMethodInfo                  ,-#endif-    taskSetState                            ,----- ** start #method:start#--#if ENABLE_OVERLOADING-    TaskStartMethodInfo                     ,-#endif-    taskStart                               ,----- ** stop #method:stop#--#if ENABLE_OVERLOADING-    TaskStopMethodInfo                      ,-#endif-    taskStop                                ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.GLib.Structs.RecMutex as GLib.RecMutex-import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.TaskPool as Gst.TaskPool---- | Memory-managed wrapper type.-newtype Task = Task (ManagedPtr Task)-foreign import ccall "gst_task_get_type"-    c_gst_task_get_type :: IO GType--instance GObject Task where-    gobjectType = c_gst_task_get_type-    ---- | Type class for types which can be safely cast to `Task`, for instance with `toTask`.-class (GObject o, O.IsDescendantOf Task o) => IsTask o-instance (GObject o, O.IsDescendantOf Task o) => IsTask o--instance O.HasParentTypes Task-type instance O.ParentTypes Task = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Task`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTask :: (MonadIO m, IsTask o) => o -> m Task-toTask = liftIO . unsafeCastTo Task---- | A convenience alias for `Nothing` :: `Maybe` `Task`.-noTask :: Maybe Task-noTask = Nothing--#if ENABLE_OVERLOADING-type family ResolveTaskMethod (t :: Symbol) (o :: *) :: * where-    ResolveTaskMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveTaskMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveTaskMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveTaskMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveTaskMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveTaskMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveTaskMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveTaskMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveTaskMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveTaskMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveTaskMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveTaskMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveTaskMethod "join" o = TaskJoinMethodInfo-    ResolveTaskMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveTaskMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveTaskMethod "pause" o = TaskPauseMethodInfo-    ResolveTaskMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveTaskMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveTaskMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveTaskMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveTaskMethod "start" o = TaskStartMethodInfo-    ResolveTaskMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveTaskMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveTaskMethod "stop" o = TaskStopMethodInfo-    ResolveTaskMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveTaskMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveTaskMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveTaskMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveTaskMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveTaskMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveTaskMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveTaskMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveTaskMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveTaskMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveTaskMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveTaskMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveTaskMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveTaskMethod "getPool" o = TaskGetPoolMethodInfo-    ResolveTaskMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveTaskMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveTaskMethod "getState" o = TaskGetStateMethodInfo-    ResolveTaskMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveTaskMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveTaskMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveTaskMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveTaskMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveTaskMethod "setEnterCallback" o = TaskSetEnterCallbackMethodInfo-    ResolveTaskMethod "setLeaveCallback" o = TaskSetLeaveCallbackMethodInfo-    ResolveTaskMethod "setLock" o = TaskSetLockMethodInfo-    ResolveTaskMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveTaskMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveTaskMethod "setPool" o = TaskSetPoolMethodInfo-    ResolveTaskMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveTaskMethod "setState" o = TaskSetStateMethodInfo-    ResolveTaskMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTaskMethod t Task, O.MethodInfo info Task p) => OL.IsLabel t (Task -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Task-type instance O.AttributeList Task = TaskAttributeList-type TaskAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList Task = TaskSignalList-type TaskSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method Task::new--- method type : Constructor--- Args : [Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "TaskFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTaskFunction to use", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data to pass to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call when @user_data is no longer needed.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Task"}))--- throws : False--- Skip return : False--foreign import ccall "gst_task_new" gst_task_new :: -    FunPtr Gst.Callbacks.C_TaskFunction ->  -- func : TInterface (Name {namespace = "Gst", name = "TaskFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO (Ptr Task)--{- |-Create a new Task that will repeatedly call the provided /@func@/-with /@userData@/ 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 'GI.Gst.Objects.Task.Task' to change the function.--This function will not yet create and start a thread. Use 'GI.Gst.Objects.Task.taskStart' or-'GI.Gst.Objects.Task.taskPause' to create and start the GThread.--Before the task can be used, a 'GI.GLib.Structs.RecMutex.RecMutex' must be configured using the-'GI.Gst.Objects.Task.taskSetLock' function. This lock will always be acquired while-/@func@/ is called.--}-taskNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Callbacks.TaskFunction-    {- ^ /@func@/: The 'GI.Gst.Callbacks.TaskFunction' to use -}-    -> m Task-    {- ^ __Returns:__ A new 'GI.Gst.Objects.Task.Task'.--MT safe. -}-taskNew func = liftIO $ do-    func' <- Gst.Callbacks.mk_TaskFunction (Gst.Callbacks.wrap_TaskFunction Nothing (Gst.Callbacks.drop_closures_TaskFunction func))-    let userData = castFunPtrToPtr func'-    let notify = safeFreeFunPtrPtr-    result <- gst_task_new func' userData notify-    checkUnexpectedReturnNULL "taskNew" result-    result' <- (wrapObject Task) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Task::get_pool--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TaskPool"}))--- throws : False--- Skip return : False--foreign import ccall "gst_task_get_pool" gst_task_get_pool :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    IO (Ptr Gst.TaskPool.TaskPool)--{- |-Get the 'GI.Gst.Objects.TaskPool.TaskPool' that this task will use for its streaming-threads.--MT safe.--}-taskGetPool ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: a 'GI.Gst.Objects.Task.Task' -}-    -> m Gst.TaskPool.TaskPool-    {- ^ __Returns:__ the 'GI.Gst.Objects.TaskPool.TaskPool' used by /@task@/. 'GI.Gst.Objects.Object.objectUnref'-after usage. -}-taskGetPool task = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    result <- gst_task_get_pool task'-    checkUnexpectedReturnNULL "taskGetPool" result-    result' <- (wrapObject Gst.TaskPool.TaskPool) result-    touchManagedPtr task-    return result'--#if ENABLE_OVERLOADING-data TaskGetPoolMethodInfo-instance (signature ~ (m Gst.TaskPool.TaskPool), MonadIO m, IsTask a) => O.MethodInfo TaskGetPoolMethodInfo a signature where-    overloadedMethod _ = taskGetPool--#endif---- method Task::get_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TaskState"}))--- throws : False--- Skip return : False--foreign import ccall "gst_task_get_state" gst_task_get_state :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    IO CUInt--{- |-Get the current state of the task.--}-taskGetState ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' to query -}-    -> m Gst.Enums.TaskState-    {- ^ __Returns:__ The 'GI.Gst.Enums.TaskState' of the task--MT safe. -}-taskGetState task = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    result <- gst_task_get_state task'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr task-    return result'--#if ENABLE_OVERLOADING-data TaskGetStateMethodInfo-instance (signature ~ (m Gst.Enums.TaskState), MonadIO m, IsTask a) => O.MethodInfo TaskGetStateMethodInfo a signature where-    overloadedMethod _ = taskGetState--#endif---- method Task::join--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask to join", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_task_join" gst_task_join :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    IO CInt--{- |-Joins /@task@/. After this call, it is safe to unref the task-and clean up the lock set with 'GI.Gst.Objects.Task.taskSetLock'.--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.--}-taskJoin ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' to join -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the task could be joined.--MT safe. -}-taskJoin task = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    result <- gst_task_join task'-    let result' = (/= 0) result-    touchManagedPtr task-    return result'--#if ENABLE_OVERLOADING-data TaskJoinMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsTask a) => O.MethodInfo TaskJoinMethodInfo a signature where-    overloadedMethod _ = taskJoin--#endif---- method Task::pause--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask to pause", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_task_pause" gst_task_pause :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    IO CInt--{- |-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.--}-taskPause ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' to pause -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the task could be paused.--MT safe. -}-taskPause task = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    result <- gst_task_pause task'-    let result' = (/= 0) result-    touchManagedPtr task-    return result'--#if ENABLE_OVERLOADING-data TaskPauseMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsTask a) => O.MethodInfo TaskPauseMethodInfo a signature where-    overloadedMethod _ = taskPause--#endif---- method Task::set_enter_callback--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enter_func", argType = TInterface (Name {namespace = "Gst", name = "TaskThreadFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTaskThreadFunc", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @enter_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "called when @user_data is no longer referenced", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_task_set_enter_callback" gst_task_set_enter_callback :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    FunPtr Gst.Callbacks.C_TaskThreadFunc -> -- enter_func : TInterface (Name {namespace = "Gst", name = "TaskThreadFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Call /@enterFunc@/ when the task function of /@task@/ is entered. /@userData@/ will-be passed to /@enterFunc@/ and /@notify@/ will be called when /@userData@/ is no-longer referenced.--}-taskSetEnterCallback ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' to use -}-    -> Gst.Callbacks.TaskThreadFunc-    {- ^ /@enterFunc@/: a 'GI.Gst.Callbacks.TaskThreadFunc' -}-    -> m ()-taskSetEnterCallback task enterFunc = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    enterFunc' <- Gst.Callbacks.mk_TaskThreadFunc (Gst.Callbacks.wrap_TaskThreadFunc Nothing (Gst.Callbacks.drop_closures_TaskThreadFunc enterFunc))-    let userData = castFunPtrToPtr enterFunc'-    let notify = safeFreeFunPtrPtr-    gst_task_set_enter_callback task' enterFunc' userData notify-    touchManagedPtr task-    return ()--#if ENABLE_OVERLOADING-data TaskSetEnterCallbackMethodInfo-instance (signature ~ (Gst.Callbacks.TaskThreadFunc -> m ()), MonadIO m, IsTask a) => O.MethodInfo TaskSetEnterCallbackMethodInfo a signature where-    overloadedMethod _ = taskSetEnterCallback--#endif---- method Task::set_leave_callback--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "leave_func", argType = TInterface (Name {namespace = "Gst", name = "TaskThreadFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTaskThreadFunc", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @leave_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "called when @user_data is no longer referenced", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_task_set_leave_callback" gst_task_set_leave_callback :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    FunPtr Gst.Callbacks.C_TaskThreadFunc -> -- leave_func : TInterface (Name {namespace = "Gst", name = "TaskThreadFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Call /@leaveFunc@/ when the task function of /@task@/ is left. /@userData@/ will-be passed to /@leaveFunc@/ and /@notify@/ will be called when /@userData@/ is no-longer referenced.--}-taskSetLeaveCallback ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' to use -}-    -> Gst.Callbacks.TaskThreadFunc-    {- ^ /@leaveFunc@/: a 'GI.Gst.Callbacks.TaskThreadFunc' -}-    -> m ()-taskSetLeaveCallback task leaveFunc = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    leaveFunc' <- Gst.Callbacks.mk_TaskThreadFunc (Gst.Callbacks.wrap_TaskThreadFunc Nothing (Gst.Callbacks.drop_closures_TaskThreadFunc leaveFunc))-    let userData = castFunPtrToPtr leaveFunc'-    let notify = safeFreeFunPtrPtr-    gst_task_set_leave_callback task' leaveFunc' userData notify-    touchManagedPtr task-    return ()--#if ENABLE_OVERLOADING-data TaskSetLeaveCallbackMethodInfo-instance (signature ~ (Gst.Callbacks.TaskThreadFunc -> m ()), MonadIO m, IsTask a) => O.MethodInfo TaskSetLeaveCallbackMethodInfo a signature where-    overloadedMethod _ = taskSetLeaveCallback--#endif---- method Task::set_lock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mutex", argType = TInterface (Name {namespace = "GLib", name = "RecMutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GRecMutex to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_task_set_lock" gst_task_set_lock :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    Ptr GLib.RecMutex.RecMutex ->           -- mutex : TInterface (Name {namespace = "GLib", name = "RecMutex"})-    IO ()--{- |-Set the mutex used by the task. The mutex will be acquired before-calling the 'GI.Gst.Callbacks.TaskFunction'.--This function has to be called before calling 'GI.Gst.Objects.Task.taskPause' or-'GI.Gst.Objects.Task.taskStart'.--MT safe.--}-taskSetLock ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' to use -}-    -> GLib.RecMutex.RecMutex-    {- ^ /@mutex@/: The 'GI.GLib.Structs.RecMutex.RecMutex' to use -}-    -> m ()-taskSetLock task mutex = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    mutex' <- unsafeManagedPtrGetPtr mutex-    gst_task_set_lock task' mutex'-    touchManagedPtr task-    touchManagedPtr mutex-    return ()--#if ENABLE_OVERLOADING-data TaskSetLockMethodInfo-instance (signature ~ (GLib.RecMutex.RecMutex -> m ()), MonadIO m, IsTask a) => O.MethodInfo TaskSetLockMethodInfo a signature where-    overloadedMethod _ = taskSetLock--#endif---- method Task::set_pool--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "TaskPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTaskPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_task_set_pool" gst_task_set_pool :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    Ptr Gst.TaskPool.TaskPool ->            -- pool : TInterface (Name {namespace = "Gst", name = "TaskPool"})-    IO ()--{- |-Set /@pool@/ as the new GstTaskPool for /@task@/. Any new streaming threads that-will be created by /@task@/ will now use /@pool@/.--MT safe.--}-taskSetPool ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a, Gst.TaskPool.IsTaskPool b) =>-    a-    {- ^ /@task@/: a 'GI.Gst.Objects.Task.Task' -}-    -> b-    {- ^ /@pool@/: a 'GI.Gst.Objects.TaskPool.TaskPool' -}-    -> m ()-taskSetPool task pool = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    pool' <- unsafeManagedPtrCastPtr pool-    gst_task_set_pool task' pool'-    touchManagedPtr task-    touchManagedPtr pool-    return ()--#if ENABLE_OVERLOADING-data TaskSetPoolMethodInfo-instance (signature ~ (b -> m ()), MonadIO m, IsTask a, Gst.TaskPool.IsTaskPool b) => O.MethodInfo TaskSetPoolMethodInfo a signature where-    overloadedMethod _ = taskSetPool--#endif---- method Task::set_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gst", name = "TaskState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new task state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_task_set_state" gst_task_set_state :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    CUInt ->                                -- state : TInterface (Name {namespace = "Gst", name = "TaskState"})-    IO CInt--{- |-Sets the state of /@task@/ to /@state@/.--The /@task@/ must have a lock associated with it using-'GI.Gst.Objects.Task.taskSetLock' when going to GST_TASK_STARTED or GST_TASK_PAUSED or-this function will return 'False'.--MT safe.--}-taskSetState ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: a 'GI.Gst.Objects.Task.Task' -}-    -> Gst.Enums.TaskState-    {- ^ /@state@/: the new task state -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the state could be changed. -}-taskSetState task state = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    let state' = (fromIntegral . fromEnum) state-    result <- gst_task_set_state task' state'-    let result' = (/= 0) result-    touchManagedPtr task-    return result'--#if ENABLE_OVERLOADING-data TaskSetStateMethodInfo-instance (signature ~ (Gst.Enums.TaskState -> m Bool), MonadIO m, IsTask a) => O.MethodInfo TaskSetStateMethodInfo a signature where-    overloadedMethod _ = taskSetState--#endif---- method Task::start--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask to start", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_task_start" gst_task_start :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    IO CInt--{- |-Starts /@task@/. The /@task@/ must have a lock associated with it using-'GI.Gst.Objects.Task.taskSetLock' or this function will return 'False'.--}-taskStart ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' to start -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the task could be started.--MT safe. -}-taskStart task = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    result <- gst_task_start task'-    let result' = (/= 0) result-    touchManagedPtr task-    return result'--#if ENABLE_OVERLOADING-data TaskStartMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsTask a) => O.MethodInfo TaskStartMethodInfo a signature where-    overloadedMethod _ = taskStart--#endif---- method Task::stop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "task", argType = TInterface (Name {namespace = "Gst", name = "Task"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTask to stop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_task_stop" gst_task_stop :: -    Ptr Task ->                             -- task : TInterface (Name {namespace = "Gst", name = "Task"})-    IO CInt--{- |-Stops /@task@/. This method merely schedules the task to stop and-will not wait for the task to have completely stopped. Use-'GI.Gst.Objects.Task.taskJoin' to stop and wait for completion.--}-taskStop ::-    (B.CallStack.HasCallStack, MonadIO m, IsTask a) =>-    a-    {- ^ /@task@/: The 'GI.Gst.Objects.Task.Task' to stop -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the task could be stopped.--MT safe. -}-taskStop task = liftIO $ do-    task' <- unsafeManagedPtrCastPtr task-    result <- gst_task_stop task'-    let result' = (/= 0) result-    touchManagedPtr task-    return result'--#if ENABLE_OVERLOADING-data TaskStopMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsTask a) => O.MethodInfo TaskStopMethodInfo a signature where-    overloadedMethod _ = taskStop--#endif---- method Task::cleanup_all--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_task_cleanup_all" gst_task_cleanup_all :: -    IO ()--{- |-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.--}-taskCleanupAll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-taskCleanupAll  = liftIO $ do-    gst_task_cleanup_all-    return ()--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/Task.hs-boot
@@ -1,62 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Task where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Task = Task (ManagedPtr Task)-instance GObject Task where-class (GObject o, O.IsDescendantOf Task o) => IsTask o-instance (GObject o, O.IsDescendantOf Task o) => IsTask o-instance O.HasParentTypes Task-#if ENABLE_OVERLOADING-data TaskGetPoolMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskGetStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskJoinMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskPauseMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskSetEnterCallbackMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskSetLeaveCallbackMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskSetLockMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskSetPoolMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskSetStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskStartMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskStopMethodInfo-#endif
− GI/Gst/Objects/TaskPool.hs
@@ -1,383 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.TaskPool-    ( ---- * Exported types-    TaskPool(..)                            ,-    IsTaskPool                              ,-    toTaskPool                              ,-    noTaskPool                              ,--- -- * Methods--- ** cleanup #method:cleanup#--#if ENABLE_OVERLOADING-    TaskPoolCleanupMethodInfo               ,-#endif-    taskPoolCleanup                         ,----- ** join #method:join#--#if ENABLE_OVERLOADING-    TaskPoolJoinMethodInfo                  ,-#endif-    taskPoolJoin                            ,----- ** new #method:new#--    taskPoolNew                             ,----- ** prepare #method:prepare#--#if ENABLE_OVERLOADING-    TaskPoolPrepareMethodInfo               ,-#endif-    taskPoolPrepare                         ,----- ** push #method:push#--#if ENABLE_OVERLOADING-    TaskPoolPushMethodInfo                  ,-#endif-    taskPoolPush                            ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype TaskPool = TaskPool (ManagedPtr TaskPool)-foreign import ccall "gst_task_pool_get_type"-    c_gst_task_pool_get_type :: IO GType--instance GObject TaskPool where-    gobjectType = c_gst_task_pool_get_type-    ---- | Type class for types which can be safely cast to `TaskPool`, for instance with `toTaskPool`.-class (GObject o, O.IsDescendantOf TaskPool o) => IsTaskPool o-instance (GObject o, O.IsDescendantOf TaskPool o) => IsTaskPool o--instance O.HasParentTypes TaskPool-type instance O.ParentTypes TaskPool = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `TaskPool`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTaskPool :: (MonadIO m, IsTaskPool o) => o -> m TaskPool-toTaskPool = liftIO . unsafeCastTo TaskPool---- | A convenience alias for `Nothing` :: `Maybe` `TaskPool`.-noTaskPool :: Maybe TaskPool-noTaskPool = Nothing--#if ENABLE_OVERLOADING-type family ResolveTaskPoolMethod (t :: Symbol) (o :: *) :: * where-    ResolveTaskPoolMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveTaskPoolMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveTaskPoolMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveTaskPoolMethod "cleanup" o = TaskPoolCleanupMethodInfo-    ResolveTaskPoolMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveTaskPoolMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveTaskPoolMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveTaskPoolMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveTaskPoolMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveTaskPoolMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveTaskPoolMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveTaskPoolMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveTaskPoolMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveTaskPoolMethod "join" o = TaskPoolJoinMethodInfo-    ResolveTaskPoolMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveTaskPoolMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveTaskPoolMethod "prepare" o = TaskPoolPrepareMethodInfo-    ResolveTaskPoolMethod "push" o = TaskPoolPushMethodInfo-    ResolveTaskPoolMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveTaskPoolMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveTaskPoolMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveTaskPoolMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveTaskPoolMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveTaskPoolMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveTaskPoolMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveTaskPoolMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveTaskPoolMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveTaskPoolMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveTaskPoolMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveTaskPoolMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveTaskPoolMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveTaskPoolMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveTaskPoolMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveTaskPoolMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveTaskPoolMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveTaskPoolMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveTaskPoolMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveTaskPoolMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveTaskPoolMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveTaskPoolMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveTaskPoolMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveTaskPoolMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveTaskPoolMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveTaskPoolMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveTaskPoolMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveTaskPoolMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveTaskPoolMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveTaskPoolMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTaskPoolMethod t TaskPool, O.MethodInfo info TaskPool p) => OL.IsLabel t (TaskPool -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList TaskPool-type instance O.AttributeList TaskPool = TaskPoolAttributeList-type TaskPoolAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList TaskPool = TaskPoolSignalList-type TaskPoolSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method TaskPool::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TaskPool"}))--- throws : False--- Skip return : False--foreign import ccall "gst_task_pool_new" gst_task_pool_new :: -    IO (Ptr TaskPool)--{- |-Create a new default task pool. The default task pool will use a regular-GThreadPool for threads.--}-taskPoolNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m TaskPool-    {- ^ __Returns:__ a new 'GI.Gst.Objects.TaskPool.TaskPool'. 'GI.Gst.Objects.Object.objectUnref' after usage. -}-taskPoolNew  = liftIO $ do-    result <- gst_task_pool_new-    checkUnexpectedReturnNULL "taskPoolNew" result-    result' <- (wrapObject TaskPool) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method TaskPool::cleanup--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "TaskPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTaskPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_task_pool_cleanup" gst_task_pool_cleanup :: -    Ptr TaskPool ->                         -- pool : TInterface (Name {namespace = "Gst", name = "TaskPool"})-    IO ()--{- |-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.--}-taskPoolCleanup ::-    (B.CallStack.HasCallStack, MonadIO m, IsTaskPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.TaskPool.TaskPool' -}-    -> m ()-taskPoolCleanup pool = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    gst_task_pool_cleanup pool'-    touchManagedPtr pool-    return ()--#if ENABLE_OVERLOADING-data TaskPoolCleanupMethodInfo-instance (signature ~ (m ()), MonadIO m, IsTaskPool a) => O.MethodInfo TaskPoolCleanupMethodInfo a signature where-    overloadedMethod _ = taskPoolCleanup--#endif---- method TaskPool::join--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "TaskPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTaskPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "id", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_task_pool_join" gst_task_pool_join :: -    Ptr TaskPool ->                         -- pool : TInterface (Name {namespace = "Gst", name = "TaskPool"})-    Ptr () ->                               -- id : TBasicType TPtr-    IO ()--{- |-Join a task and\/or return it to the pool. /@id@/ is the id obtained from-'GI.Gst.Objects.TaskPool.taskPoolPush'.--}-taskPoolJoin ::-    (B.CallStack.HasCallStack, MonadIO m, IsTaskPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.TaskPool.TaskPool' -}-    -> Ptr ()-    {- ^ /@id@/: the id -}-    -> m ()-taskPoolJoin pool id = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    gst_task_pool_join pool' id-    touchManagedPtr pool-    return ()--#if ENABLE_OVERLOADING-data TaskPoolJoinMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m, IsTaskPool a) => O.MethodInfo TaskPoolJoinMethodInfo a signature where-    overloadedMethod _ = taskPoolJoin--#endif---- method TaskPool::prepare--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "TaskPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTaskPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : True--- Skip return : False--foreign import ccall "gst_task_pool_prepare" gst_task_pool_prepare :: -    Ptr TaskPool ->                         -- pool : TInterface (Name {namespace = "Gst", name = "TaskPool"})-    Ptr (Ptr GError) ->                     -- error-    IO ()--{- |-Prepare the taskpool for accepting 'GI.Gst.Objects.TaskPool.taskPoolPush' operations.--MT safe.--}-taskPoolPrepare ::-    (B.CallStack.HasCallStack, MonadIO m, IsTaskPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.TaskPool.TaskPool' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-taskPoolPrepare pool = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    onException (do-        propagateGError $ gst_task_pool_prepare pool'-        touchManagedPtr pool-        return ()-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data TaskPoolPrepareMethodInfo-instance (signature ~ (m ()), MonadIO m, IsTaskPool a) => O.MethodInfo TaskPoolPrepareMethodInfo a signature where-    overloadedMethod _ = taskPoolPrepare--#endif---- method TaskPool::push--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "TaskPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTaskPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "TaskPoolFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : True--- Skip return : False--foreign import ccall "gst_task_pool_push" gst_task_pool_push :: -    Ptr TaskPool ->                         -- pool : TInterface (Name {namespace = "Gst", name = "TaskPool"})-    FunPtr Gst.Callbacks.C_TaskPoolFunction -> -- func : TInterface (Name {namespace = "Gst", name = "TaskPoolFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr ())--{- |-Start the execution of a new thread from /@pool@/.--}-taskPoolPush ::-    (B.CallStack.HasCallStack, MonadIO m, IsTaskPool a) =>-    a-    {- ^ /@pool@/: a 'GI.Gst.Objects.TaskPool.TaskPool' -}-    -> Gst.Callbacks.TaskPoolFunction-    {- ^ /@func@/: the function to call -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer that should be used-for the gst_task_pool_join function. This pointer can be 'Nothing', you-must check /@error@/ to detect errors. /(Can throw 'Data.GI.Base.GError.GError')/ -}-taskPoolPush pool func = liftIO $ do-    pool' <- unsafeManagedPtrCastPtr pool-    ptrfunc <- callocMem :: IO (Ptr (FunPtr Gst.Callbacks.C_TaskPoolFunction))-    func' <- Gst.Callbacks.mk_TaskPoolFunction (Gst.Callbacks.wrap_TaskPoolFunction (Just ptrfunc) (Gst.Callbacks.drop_closures_TaskPoolFunction func))-    poke ptrfunc func'-    let userData = nullPtr-    onException (do-        result <- propagateGError $ gst_task_pool_push pool' func' userData-        touchManagedPtr pool-        return result-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data TaskPoolPushMethodInfo-instance (signature ~ (Gst.Callbacks.TaskPoolFunction -> m (Ptr ())), MonadIO m, IsTaskPool a) => O.MethodInfo TaskPoolPushMethodInfo a signature where-    overloadedMethod _ = taskPoolPush--#endif--
− GI/Gst/Objects/TaskPool.hs-boot
@@ -1,41 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.TaskPool where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TaskPool = TaskPool (ManagedPtr TaskPool)-instance GObject TaskPool where-class (GObject o, O.IsDescendantOf TaskPool o) => IsTaskPool o-instance (GObject o, O.IsDescendantOf TaskPool o) => IsTaskPool o-instance O.HasParentTypes TaskPool-#if ENABLE_OVERLOADING-data TaskPoolCleanupMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskPoolJoinMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskPoolPrepareMethodInfo-#endif-#if ENABLE_OVERLOADING-data TaskPoolPushMethodInfo-#endif
− GI/Gst/Objects/Tracer.hs
@@ -1,229 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Tracing modules will subclass 'GI.Gst.Objects.Tracer.Tracer' 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.--/Since: 1.8/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.Tracer-    ( ---- * Exported types-    Tracer(..)                              ,-    IsTracer                                ,-    toTracer                                ,-    noTracer                                ,--- -- * Properties--- ** params #attr:params#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    TracerParamsPropertyInfo                ,-#endif-    clearTracerParams                       ,-    constructTracerParams                   ,-    getTracerParams                         ,-    setTracerParams                         ,-#if ENABLE_OVERLOADING-    tracerParams                            ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype Tracer = Tracer (ManagedPtr Tracer)-foreign import ccall "gst_tracer_get_type"-    c_gst_tracer_get_type :: IO GType--instance GObject Tracer where-    gobjectType = c_gst_tracer_get_type-    ---- | Type class for types which can be safely cast to `Tracer`, for instance with `toTracer`.-class (GObject o, O.IsDescendantOf Tracer o) => IsTracer o-instance (GObject o, O.IsDescendantOf Tracer o) => IsTracer o--instance O.HasParentTypes Tracer-type instance O.ParentTypes Tracer = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `Tracer`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTracer :: (MonadIO m, IsTracer o) => o -> m Tracer-toTracer = liftIO . unsafeCastTo Tracer---- | A convenience alias for `Nothing` :: `Maybe` `Tracer`.-noTracer :: Maybe Tracer-noTracer = Nothing--#if ENABLE_OVERLOADING-type family ResolveTracerMethod (t :: Symbol) (o :: *) :: * where-    ResolveTracerMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveTracerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveTracerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveTracerMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveTracerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveTracerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveTracerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveTracerMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveTracerMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveTracerMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveTracerMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveTracerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveTracerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveTracerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveTracerMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveTracerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveTracerMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveTracerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveTracerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveTracerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveTracerMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveTracerMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveTracerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveTracerMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveTracerMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveTracerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveTracerMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveTracerMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveTracerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveTracerMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveTracerMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveTracerMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveTracerMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveTracerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveTracerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveTracerMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveTracerMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveTracerMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveTracerMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveTracerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveTracerMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveTracerMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveTracerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveTracerMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTracerMethod t Tracer, O.MethodInfo info Tracer p) => OL.IsLabel t (Tracer -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif---- VVV Prop "params"-   -- Type: TBasicType TUTF8-   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@params@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tracer #params-@--}-getTracerParams :: (MonadIO m, IsTracer o) => o -> m (Maybe T.Text)-getTracerParams obj = liftIO $ B.Properties.getObjectPropertyString obj "params"--{- |-Set the value of the “@params@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tracer [ #params 'Data.GI.Base.Attributes.:=' value ]-@--}-setTracerParams :: (MonadIO m, IsTracer o) => o -> T.Text -> m ()-setTracerParams obj val = liftIO $ B.Properties.setObjectPropertyString obj "params" (Just val)--{- |-Construct a `GValueConstruct` with valid value for the “@params@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructTracerParams :: (IsTracer o) => T.Text -> IO (GValueConstruct o)-constructTracerParams val = B.Properties.constructObjectPropertyString "params" (Just val)--{- |-Set the value of the “@params@” property to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #params-@--}-clearTracerParams :: (MonadIO m, IsTracer o) => o -> m ()-clearTracerParams obj = liftIO $ B.Properties.setObjectPropertyString obj "params" (Nothing :: Maybe T.Text)--#if ENABLE_OVERLOADING-data TracerParamsPropertyInfo-instance AttrInfo TracerParamsPropertyInfo where-    type AttrAllowedOps TracerParamsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TracerParamsPropertyInfo = (~) T.Text-    type AttrBaseTypeConstraint TracerParamsPropertyInfo = IsTracer-    type AttrGetType TracerParamsPropertyInfo = (Maybe T.Text)-    type AttrLabel TracerParamsPropertyInfo = "params"-    type AttrOrigin TracerParamsPropertyInfo = Tracer-    attrGet _ = getTracerParams-    attrSet _ = setTracerParams-    attrConstruct _ = constructTracerParams-    attrClear _ = clearTracerParams-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Tracer-type instance O.AttributeList Tracer = TracerAttributeList-type TracerAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("params", TracerParamsPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-tracerParams :: AttrLabelProxy "params"-tracerParams = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList Tracer = TracerSignalList-type TracerSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif--
− GI/Gst/Objects/Tracer.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.Tracer where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Tracer = Tracer (ManagedPtr Tracer)-instance GObject Tracer where-class (GObject o, O.IsDescendantOf Tracer o) => IsTracer o-instance (GObject o, O.IsDescendantOf Tracer o) => IsTracer o-instance O.HasParentTypes Tracer-#if ENABLE_OVERLOADING-data TracerParamsPropertyInfo-#endif
− GI/Gst/Objects/TracerFactory.hs
@@ -1,245 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Use 'GI.Gst.Objects.TracerFactory.tracerFactoryGetList' to get a list of tracer factories known to-GStreamer.--/Since: 1.8/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.TracerFactory-    ( ---- * Exported types-    TracerFactory(..)                       ,-    IsTracerFactory                         ,-    toTracerFactory                         ,-    noTracerFactory                         ,--- -- * Methods--- ** getList #method:getList#--    tracerFactoryGetList                    ,----- ** getTracerType #method:getTracerType#--#if ENABLE_OVERLOADING-    TracerFactoryGetTracerTypeMethodInfo    ,-#endif-    tracerFactoryGetTracerType              ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature---- | Memory-managed wrapper type.-newtype TracerFactory = TracerFactory (ManagedPtr TracerFactory)-foreign import ccall "gst_tracer_factory_get_type"-    c_gst_tracer_factory_get_type :: IO GType--instance GObject TracerFactory where-    gobjectType = c_gst_tracer_factory_get_type-    ---- | Type class for types which can be safely cast to `TracerFactory`, for instance with `toTracerFactory`.-class (GObject o, O.IsDescendantOf TracerFactory o) => IsTracerFactory o-instance (GObject o, O.IsDescendantOf TracerFactory o) => IsTracerFactory o--instance O.HasParentTypes TracerFactory-type instance O.ParentTypes TracerFactory = '[Gst.PluginFeature.PluginFeature, Gst.Object.Object, GObject.Object.Object]---- | Cast to `TracerFactory`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTracerFactory :: (MonadIO m, IsTracerFactory o) => o -> m TracerFactory-toTracerFactory = liftIO . unsafeCastTo TracerFactory---- | A convenience alias for `Nothing` :: `Maybe` `TracerFactory`.-noTracerFactory :: Maybe TracerFactory-noTracerFactory = Nothing--#if ENABLE_OVERLOADING-type family ResolveTracerFactoryMethod (t :: Symbol) (o :: *) :: * where-    ResolveTracerFactoryMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveTracerFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveTracerFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveTracerFactoryMethod "checkVersion" o = Gst.PluginFeature.PluginFeatureCheckVersionMethodInfo-    ResolveTracerFactoryMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveTracerFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveTracerFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveTracerFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveTracerFactoryMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveTracerFactoryMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveTracerFactoryMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveTracerFactoryMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveTracerFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveTracerFactoryMethod "load" o = Gst.PluginFeature.PluginFeatureLoadMethodInfo-    ResolveTracerFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveTracerFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveTracerFactoryMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveTracerFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveTracerFactoryMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveTracerFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveTracerFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveTracerFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveTracerFactoryMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveTracerFactoryMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveTracerFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveTracerFactoryMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveTracerFactoryMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveTracerFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveTracerFactoryMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveTracerFactoryMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveTracerFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveTracerFactoryMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveTracerFactoryMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveTracerFactoryMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveTracerFactoryMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveTracerFactoryMethod "getPlugin" o = Gst.PluginFeature.PluginFeatureGetPluginMethodInfo-    ResolveTracerFactoryMethod "getPluginName" o = Gst.PluginFeature.PluginFeatureGetPluginNameMethodInfo-    ResolveTracerFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveTracerFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveTracerFactoryMethod "getRank" o = Gst.PluginFeature.PluginFeatureGetRankMethodInfo-    ResolveTracerFactoryMethod "getTracerType" o = TracerFactoryGetTracerTypeMethodInfo-    ResolveTracerFactoryMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveTracerFactoryMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveTracerFactoryMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveTracerFactoryMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveTracerFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveTracerFactoryMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveTracerFactoryMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveTracerFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveTracerFactoryMethod "setRank" o = Gst.PluginFeature.PluginFeatureSetRankMethodInfo-    ResolveTracerFactoryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTracerFactoryMethod t TracerFactory, O.MethodInfo info TracerFactory p) => OL.IsLabel t (TracerFactory -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList TracerFactory-type instance O.AttributeList TracerFactory = TracerFactoryAttributeList-type TracerFactoryAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList TracerFactory = TracerFactorySignalList-type TracerFactorySignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method TracerFactory::get_tracer_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "TracerFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "factory to get managed #GType from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_tracer_factory_get_tracer_type" gst_tracer_factory_get_tracer_type :: -    Ptr TracerFactory ->                    -- factory : TInterface (Name {namespace = "Gst", name = "TracerFactory"})-    IO CGType--{- |-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 'GI.Gst.Objects.PluginFeature.pluginFeatureLoad'.--}-tracerFactoryGetTracerType ::-    (B.CallStack.HasCallStack, MonadIO m, IsTracerFactory a) =>-    a-    {- ^ /@factory@/: factory to get managed 'GType' from -}-    -> m GType-    {- ^ __Returns:__ the 'GType' for tracers managed by this factory or 0 if-the factory is not loaded. -}-tracerFactoryGetTracerType factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_tracer_factory_get_tracer_type factory'-    let result' = GType result-    touchManagedPtr factory-    return result'--#if ENABLE_OVERLOADING-data TracerFactoryGetTracerTypeMethodInfo-instance (signature ~ (m GType), MonadIO m, IsTracerFactory a) => O.MethodInfo TracerFactoryGetTracerTypeMethodInfo a signature where-    overloadedMethod _ = tracerFactoryGetTracerType--#endif---- method TracerFactory::get_list--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "TracerFactory"})))--- throws : False--- Skip return : False--foreign import ccall "gst_tracer_factory_get_list" gst_tracer_factory_get_list :: -    IO (Ptr (GList (Ptr TracerFactory)))--{- |-Gets the list of all registered tracer factories. You must free the-list using 'GI.Gst.Objects.PluginFeature.pluginFeatureListFree'.--The returned factories are sorted by factory name.--Free-function: gst_plugin_feature_list_free--/Since: 1.8/--}-tracerFactoryGetList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [TracerFactory]-    {- ^ __Returns:__ the list of all-    registered 'GI.Gst.Objects.TracerFactory.TracerFactory'. -}-tracerFactoryGetList  = liftIO $ do-    result <- gst_tracer_factory_get_list-    result' <- unpackGList result-    result'' <- mapM (wrapObject TracerFactory) result'-    g_list_free result-    return result''--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/TracerFactory.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.TracerFactory where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TracerFactory = TracerFactory (ManagedPtr TracerFactory)-instance GObject TracerFactory where-class (GObject o, O.IsDescendantOf TracerFactory o) => IsTracerFactory o-instance (GObject o, O.IsDescendantOf TracerFactory o) => IsTracerFactory o-instance O.HasParentTypes TracerFactory-#if ENABLE_OVERLOADING-data TracerFactoryGetTracerTypeMethodInfo-#endif
− GI/Gst/Objects/TracerRecord.hs
@@ -1,147 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Tracing modules will create instances of this class to announce the data they-will log and create a log formatter.--/Since: 1.8/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.TracerRecord-    ( ---- * Exported types-    TracerRecord(..)                        ,-    IsTracerRecord                          ,-    toTracerRecord                          ,-    noTracerRecord                          ,---    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object---- | Memory-managed wrapper type.-newtype TracerRecord = TracerRecord (ManagedPtr TracerRecord)-foreign import ccall "gst_tracer_record_get_type"-    c_gst_tracer_record_get_type :: IO GType--instance GObject TracerRecord where-    gobjectType = c_gst_tracer_record_get_type-    ---- | Type class for types which can be safely cast to `TracerRecord`, for instance with `toTracerRecord`.-class (GObject o, O.IsDescendantOf TracerRecord o) => IsTracerRecord o-instance (GObject o, O.IsDescendantOf TracerRecord o) => IsTracerRecord o--instance O.HasParentTypes TracerRecord-type instance O.ParentTypes TracerRecord = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `TracerRecord`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTracerRecord :: (MonadIO m, IsTracerRecord o) => o -> m TracerRecord-toTracerRecord = liftIO . unsafeCastTo TracerRecord---- | A convenience alias for `Nothing` :: `Maybe` `TracerRecord`.-noTracerRecord :: Maybe TracerRecord-noTracerRecord = Nothing--#if ENABLE_OVERLOADING-type family ResolveTracerRecordMethod (t :: Symbol) (o :: *) :: * where-    ResolveTracerRecordMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveTracerRecordMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveTracerRecordMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveTracerRecordMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveTracerRecordMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveTracerRecordMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveTracerRecordMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveTracerRecordMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveTracerRecordMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveTracerRecordMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveTracerRecordMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveTracerRecordMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveTracerRecordMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveTracerRecordMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveTracerRecordMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveTracerRecordMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveTracerRecordMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveTracerRecordMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveTracerRecordMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveTracerRecordMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveTracerRecordMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveTracerRecordMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveTracerRecordMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveTracerRecordMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveTracerRecordMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveTracerRecordMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveTracerRecordMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveTracerRecordMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveTracerRecordMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveTracerRecordMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveTracerRecordMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveTracerRecordMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveTracerRecordMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveTracerRecordMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveTracerRecordMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveTracerRecordMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveTracerRecordMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveTracerRecordMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveTracerRecordMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveTracerRecordMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveTracerRecordMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveTracerRecordMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveTracerRecordMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveTracerRecordMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTracerRecordMethod t TracerRecord, O.MethodInfo info TracerRecord p) => OL.IsLabel t (TracerRecord -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList TracerRecord-type instance O.AttributeList TracerRecord = TracerRecordAttributeList-type TracerRecordAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList TracerRecord = TracerRecordSignalList-type TracerRecordSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif--
− GI/Gst/Objects/TracerRecord.hs-boot
@@ -1,29 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.TracerRecord where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TracerRecord = TracerRecord (ManagedPtr TracerRecord)-instance GObject TracerRecord where-class (GObject o, O.IsDescendantOf TracerRecord o) => IsTracerRecord o-instance (GObject o, O.IsDescendantOf TracerRecord o) => IsTracerRecord o-instance O.HasParentTypes TracerRecord
− GI/Gst/Objects/TypeFindFactory.hs
@@ -1,435 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--These functions allow querying information about registered typefind-functions. How to create and register these functions is described in-the section \<link linkend=\"gstreamer-Writing-typefind-functions\">-\"Writing typefind functions\"\<\/link>.--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.--=== /C code/->->  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 &gt;= 0 &amp;&amp; offset + size &lt;= find->size) {->      return find->data + offset;->    }->    return NULL;->  }->  static void->  my_suggest (gpointer data, guint probability, GstCaps *caps)->  {->    MyTypeFind *find = (MyTypeFind *) data;->    if (probability &gt; find->probability) {->      find->probability = probability;->      gst_caps_replace (&amp;find->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;find, };->    walk = type_list = gst_type_find_factory_get_list ();->    while (walk) {->      GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (walk->data);->      walk = g_list_next (walk)->      gst_type_find_factory_call_function (factory, &amp;gst_find);->    }->    g_list_free (type_list);->    return find.caps;->  };---}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.TypeFindFactory-    ( ---- * Exported types-    TypeFindFactory(..)                     ,-    IsTypeFindFactory                       ,-    toTypeFindFactory                       ,-    noTypeFindFactory                       ,--- -- * Methods--- ** callFunction #method:callFunction#--#if ENABLE_OVERLOADING-    TypeFindFactoryCallFunctionMethodInfo   ,-#endif-    typeFindFactoryCallFunction             ,----- ** getCaps #method:getCaps#--#if ENABLE_OVERLOADING-    TypeFindFactoryGetCapsMethodInfo        ,-#endif-    typeFindFactoryGetCaps                  ,----- ** getExtensions #method:getExtensions#--#if ENABLE_OVERLOADING-    TypeFindFactoryGetExtensionsMethodInfo  ,-#endif-    typeFindFactoryGetExtensions            ,----- ** getList #method:getList#--    typeFindFactoryGetList                  ,----- ** hasFunction #method:hasFunction#--#if ENABLE_OVERLOADING-    TypeFindFactoryHasFunctionMethodInfo    ,-#endif-    typeFindFactoryHasFunction              ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GObject.Objects.Object as GObject.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.TypeFind as Gst.TypeFind---- | Memory-managed wrapper type.-newtype TypeFindFactory = TypeFindFactory (ManagedPtr TypeFindFactory)-foreign import ccall "gst_type_find_factory_get_type"-    c_gst_type_find_factory_get_type :: IO GType--instance GObject TypeFindFactory where-    gobjectType = c_gst_type_find_factory_get_type-    ---- | Type class for types which can be safely cast to `TypeFindFactory`, for instance with `toTypeFindFactory`.-class (GObject o, O.IsDescendantOf TypeFindFactory o) => IsTypeFindFactory o-instance (GObject o, O.IsDescendantOf TypeFindFactory o) => IsTypeFindFactory o--instance O.HasParentTypes TypeFindFactory-type instance O.ParentTypes TypeFindFactory = '[Gst.PluginFeature.PluginFeature, Gst.Object.Object, GObject.Object.Object]---- | Cast to `TypeFindFactory`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toTypeFindFactory :: (MonadIO m, IsTypeFindFactory o) => o -> m TypeFindFactory-toTypeFindFactory = liftIO . unsafeCastTo TypeFindFactory---- | A convenience alias for `Nothing` :: `Maybe` `TypeFindFactory`.-noTypeFindFactory :: Maybe TypeFindFactory-noTypeFindFactory = Nothing--#if ENABLE_OVERLOADING-type family ResolveTypeFindFactoryMethod (t :: Symbol) (o :: *) :: * where-    ResolveTypeFindFactoryMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveTypeFindFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveTypeFindFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveTypeFindFactoryMethod "callFunction" o = TypeFindFactoryCallFunctionMethodInfo-    ResolveTypeFindFactoryMethod "checkVersion" o = Gst.PluginFeature.PluginFeatureCheckVersionMethodInfo-    ResolveTypeFindFactoryMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveTypeFindFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveTypeFindFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveTypeFindFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveTypeFindFactoryMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveTypeFindFactoryMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveTypeFindFactoryMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveTypeFindFactoryMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveTypeFindFactoryMethod "hasFunction" o = TypeFindFactoryHasFunctionMethodInfo-    ResolveTypeFindFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveTypeFindFactoryMethod "load" o = Gst.PluginFeature.PluginFeatureLoadMethodInfo-    ResolveTypeFindFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveTypeFindFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveTypeFindFactoryMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveTypeFindFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveTypeFindFactoryMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveTypeFindFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveTypeFindFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveTypeFindFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveTypeFindFactoryMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveTypeFindFactoryMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveTypeFindFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveTypeFindFactoryMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveTypeFindFactoryMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveTypeFindFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveTypeFindFactoryMethod "getCaps" o = TypeFindFactoryGetCapsMethodInfo-    ResolveTypeFindFactoryMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveTypeFindFactoryMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveTypeFindFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveTypeFindFactoryMethod "getExtensions" o = TypeFindFactoryGetExtensionsMethodInfo-    ResolveTypeFindFactoryMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveTypeFindFactoryMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveTypeFindFactoryMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveTypeFindFactoryMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveTypeFindFactoryMethod "getPlugin" o = Gst.PluginFeature.PluginFeatureGetPluginMethodInfo-    ResolveTypeFindFactoryMethod "getPluginName" o = Gst.PluginFeature.PluginFeatureGetPluginNameMethodInfo-    ResolveTypeFindFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveTypeFindFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveTypeFindFactoryMethod "getRank" o = Gst.PluginFeature.PluginFeatureGetRankMethodInfo-    ResolveTypeFindFactoryMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveTypeFindFactoryMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveTypeFindFactoryMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveTypeFindFactoryMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveTypeFindFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveTypeFindFactoryMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveTypeFindFactoryMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveTypeFindFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveTypeFindFactoryMethod "setRank" o = Gst.PluginFeature.PluginFeatureSetRankMethodInfo-    ResolveTypeFindFactoryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTypeFindFactoryMethod t TypeFindFactory, O.MethodInfo info TypeFindFactory p) => OL.IsLabel t (TypeFindFactory -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList TypeFindFactory-type instance O.AttributeList TypeFindFactory = TypeFindFactoryAttributeList-type TypeFindFactoryAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList TypeFindFactory = TypeFindFactorySignalList-type TypeFindFactorySignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method TypeFindFactory::call_function--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "TypeFindFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTypeFindFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "find", argType = TInterface (Name {namespace = "Gst", name = "TypeFind"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a properly setup #GstTypeFind entry. The get_data\n    and suggest_type members must be set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_factory_call_function" gst_type_find_factory_call_function :: -    Ptr TypeFindFactory ->                  -- factory : TInterface (Name {namespace = "Gst", name = "TypeFindFactory"})-    Ptr Gst.TypeFind.TypeFind ->            -- find : TInterface (Name {namespace = "Gst", name = "TypeFind"})-    IO ()--{- |-Calls the 'GI.Gst.Callbacks.TypeFindFunction' associated with this factory.--}-typeFindFactoryCallFunction ::-    (B.CallStack.HasCallStack, MonadIO m, IsTypeFindFactory a) =>-    a-    {- ^ /@factory@/: A 'GI.Gst.Objects.TypeFindFactory.TypeFindFactory' -}-    -> Gst.TypeFind.TypeFind-    {- ^ /@find@/: a properly setup 'GI.Gst.Structs.TypeFind.TypeFind' entry. The get_data-    and suggest_type members must be set. -}-    -> m ()-typeFindFactoryCallFunction factory find = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    find' <- unsafeManagedPtrGetPtr find-    gst_type_find_factory_call_function factory' find'-    touchManagedPtr factory-    touchManagedPtr find-    return ()--#if ENABLE_OVERLOADING-data TypeFindFactoryCallFunctionMethodInfo-instance (signature ~ (Gst.TypeFind.TypeFind -> m ()), MonadIO m, IsTypeFindFactory a) => O.MethodInfo TypeFindFactoryCallFunctionMethodInfo a signature where-    overloadedMethod _ = typeFindFactoryCallFunction--#endif---- method TypeFindFactory::get_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "TypeFindFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTypeFindFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_factory_get_caps" gst_type_find_factory_get_caps :: -    Ptr TypeFindFactory ->                  -- factory : TInterface (Name {namespace = "Gst", name = "TypeFindFactory"})-    IO (Ptr Gst.Caps.Caps)--{- |-Gets the 'GI.Gst.Structs.Caps.Caps' associated with a typefind factory.--}-typeFindFactoryGetCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsTypeFindFactory a) =>-    a-    {- ^ /@factory@/: A 'GI.Gst.Objects.TypeFindFactory.TypeFindFactory' -}-    -> m Gst.Caps.Caps-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' associated with this factory -}-typeFindFactoryGetCaps factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_type_find_factory_get_caps factory'-    checkUnexpectedReturnNULL "typeFindFactoryGetCaps" result-    result' <- (newBoxed Gst.Caps.Caps) result-    touchManagedPtr factory-    return result'--#if ENABLE_OVERLOADING-data TypeFindFactoryGetCapsMethodInfo-instance (signature ~ (m Gst.Caps.Caps), MonadIO m, IsTypeFindFactory a) => O.MethodInfo TypeFindFactoryGetCapsMethodInfo a signature where-    overloadedMethod _ = typeFindFactoryGetCaps--#endif---- method TypeFindFactory::get_extensions--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "TypeFindFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTypeFindFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_factory_get_extensions" gst_type_find_factory_get_extensions :: -    Ptr TypeFindFactory ->                  -- factory : TInterface (Name {namespace = "Gst", name = "TypeFindFactory"})-    IO (Ptr CString)--{- |-Gets the extensions associated with a 'GI.Gst.Objects.TypeFindFactory.TypeFindFactory'. 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 'Nothing' to indicate-a 0-length list.--}-typeFindFactoryGetExtensions ::-    (B.CallStack.HasCallStack, MonadIO m, IsTypeFindFactory a) =>-    a-    {- ^ /@factory@/: A 'GI.Gst.Objects.TypeFindFactory.TypeFindFactory' -}-    -> m (Maybe [T.Text])-    {- ^ __Returns:__ -    a 'Nothing'-terminated array of extensions associated with this factory -}-typeFindFactoryGetExtensions factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_type_find_factory_get_extensions factory'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- unpackZeroTerminatedUTF8CArray result'-        return result''-    touchManagedPtr factory-    return maybeResult--#if ENABLE_OVERLOADING-data TypeFindFactoryGetExtensionsMethodInfo-instance (signature ~ (m (Maybe [T.Text])), MonadIO m, IsTypeFindFactory a) => O.MethodInfo TypeFindFactoryGetExtensionsMethodInfo a signature where-    overloadedMethod _ = typeFindFactoryGetExtensions--#endif---- method TypeFindFactory::has_function--- method type : OrdinaryMethod--- Args : [Arg {argCName = "factory", argType = TInterface (Name {namespace = "Gst", name = "TypeFindFactory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTypeFindFactory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_factory_has_function" gst_type_find_factory_has_function :: -    Ptr TypeFindFactory ->                  -- factory : TInterface (Name {namespace = "Gst", name = "TypeFindFactory"})-    IO CInt--{- |-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.--}-typeFindFactoryHasFunction ::-    (B.CallStack.HasCallStack, MonadIO m, IsTypeFindFactory a) =>-    a-    {- ^ /@factory@/: A 'GI.Gst.Objects.TypeFindFactory.TypeFindFactory' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the factory has a typefind functions set, otherwise 'False' -}-typeFindFactoryHasFunction factory = liftIO $ do-    factory' <- unsafeManagedPtrCastPtr factory-    result <- gst_type_find_factory_has_function factory'-    let result' = (/= 0) result-    touchManagedPtr factory-    return result'--#if ENABLE_OVERLOADING-data TypeFindFactoryHasFunctionMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsTypeFindFactory a) => O.MethodInfo TypeFindFactoryHasFunctionMethodInfo a signature where-    overloadedMethod _ = typeFindFactoryHasFunction--#endif---- method TypeFindFactory::get_list--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "TypeFindFactory"})))--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_factory_get_list" gst_type_find_factory_get_list :: -    IO (Ptr (GList (Ptr TypeFindFactory)))--{- |-Gets the list of all registered typefind factories. You must free the-list using 'GI.Gst.Objects.PluginFeature.pluginFeatureListFree'.--The returned factories are sorted by highest rank first, and then by-factory name.--Free-function: gst_plugin_feature_list_free--}-typeFindFactoryGetList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [TypeFindFactory]-    {- ^ __Returns:__ the list of all-    registered 'GI.Gst.Objects.TypeFindFactory.TypeFindFactory'. -}-typeFindFactoryGetList  = liftIO $ do-    result <- gst_type_find_factory_get_list-    result' <- unpackGList result-    result'' <- mapM (wrapObject TypeFindFactory) result'-    g_list_free result-    return result''--#if ENABLE_OVERLOADING-#endif--
− GI/Gst/Objects/TypeFindFactory.hs-boot
@@ -1,41 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Objects.TypeFindFactory where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TypeFindFactory = TypeFindFactory (ManagedPtr TypeFindFactory)-instance GObject TypeFindFactory where-class (GObject o, O.IsDescendantOf TypeFindFactory o) => IsTypeFindFactory o-instance (GObject o, O.IsDescendantOf TypeFindFactory o) => IsTypeFindFactory o-instance O.HasParentTypes TypeFindFactory-#if ENABLE_OVERLOADING-data TypeFindFactoryCallFunctionMethodInfo-#endif-#if ENABLE_OVERLOADING-data TypeFindFactoryGetCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data TypeFindFactoryGetExtensionsMethodInfo-#endif-#if ENABLE_OVERLOADING-data TypeFindFactoryHasFunctionMethodInfo-#endif
− GI/Gst/Objects/ValueArray.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.ValueArray () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "ValueArray" does not descend from GObject, it will be ignored.-
− GI/Gst/Objects/ValueList.hs
@@ -1,36 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Objects.ValueList () where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- APIObject "ValueList" does not descend from GObject, it will be ignored.-
− GI/Gst/Structs.hs
@@ -1,131 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs-    (     module GI.Gst.Structs.AllocationParams  ,-    module GI.Gst.Structs.AtomicQueue       ,-    module GI.Gst.Structs.Buffer            ,-    module GI.Gst.Structs.BufferList        ,-    module GI.Gst.Structs.BufferPoolAcquireParams,-    module GI.Gst.Structs.Caps              ,-    module GI.Gst.Structs.CapsFeatures      ,-    module GI.Gst.Structs.ClockEntry        ,-    module GI.Gst.Structs.Context           ,-    module GI.Gst.Structs.DateTime          ,-    module GI.Gst.Structs.DebugCategory     ,-    module GI.Gst.Structs.DebugMessage      ,-    module GI.Gst.Structs.Event             ,-    module GI.Gst.Structs.FormatDefinition  ,-    module GI.Gst.Structs.Iterator          ,-    module GI.Gst.Structs.MapInfo           ,-    module GI.Gst.Structs.Memory            ,-    module GI.Gst.Structs.Message           ,-    module GI.Gst.Structs.Meta              ,-    module GI.Gst.Structs.MetaInfo          ,-    module GI.Gst.Structs.MetaTransformCopy ,-    module GI.Gst.Structs.MiniObject        ,-    module GI.Gst.Structs.PadProbeInfo      ,-    module GI.Gst.Structs.ParamSpecArray    ,-    module GI.Gst.Structs.ParamSpecFraction ,-    module GI.Gst.Structs.ParentBufferMeta  ,-    module GI.Gst.Structs.ParseContext      ,-    module GI.Gst.Structs.PluginDesc        ,-    module GI.Gst.Structs.Poll              ,-    module GI.Gst.Structs.PollFD            ,-    module GI.Gst.Structs.Promise           ,-    module GI.Gst.Structs.ProtectionMeta    ,-    module GI.Gst.Structs.Query             ,-    module GI.Gst.Structs.ReferenceTimestampMeta,-    module GI.Gst.Structs.Sample            ,-    module GI.Gst.Structs.Segment           ,-    module GI.Gst.Structs.StaticCaps        ,-    module GI.Gst.Structs.StaticPadTemplate ,-    module GI.Gst.Structs.Structure         ,-    module GI.Gst.Structs.TagList           ,-    module GI.Gst.Structs.TimedValue        ,-    module GI.Gst.Structs.Toc               ,-    module GI.Gst.Structs.TocEntry          ,-    module GI.Gst.Structs.TypeFind          ,-    module GI.Gst.Structs.Uri               ,-    module GI.Gst.Structs.ValueTable        ,---    ) where--import GI.Gst.Structs.AllocationParams-import GI.Gst.Structs.AtomicQueue-import GI.Gst.Structs.Buffer-import GI.Gst.Structs.BufferList-import GI.Gst.Structs.BufferPoolAcquireParams-import GI.Gst.Structs.Caps-import GI.Gst.Structs.CapsFeatures-import GI.Gst.Structs.ClockEntry-import GI.Gst.Structs.Context-import GI.Gst.Structs.DateTime-import GI.Gst.Structs.DebugCategory-import GI.Gst.Structs.DebugMessage-import GI.Gst.Structs.Event-import GI.Gst.Structs.FormatDefinition-import GI.Gst.Structs.Iterator-import GI.Gst.Structs.MapInfo-import GI.Gst.Structs.Memory-import GI.Gst.Structs.Message-import GI.Gst.Structs.Meta-import GI.Gst.Structs.MetaInfo-import GI.Gst.Structs.MetaTransformCopy-import GI.Gst.Structs.MiniObject-import GI.Gst.Structs.PadProbeInfo-import GI.Gst.Structs.ParamSpecArray-import GI.Gst.Structs.ParamSpecFraction-import GI.Gst.Structs.ParentBufferMeta-import GI.Gst.Structs.ParseContext-import GI.Gst.Structs.PluginDesc-import GI.Gst.Structs.Poll-import GI.Gst.Structs.PollFD-import GI.Gst.Structs.Promise-import GI.Gst.Structs.ProtectionMeta-import GI.Gst.Structs.Query-import GI.Gst.Structs.ReferenceTimestampMeta-import GI.Gst.Structs.Sample-import GI.Gst.Structs.Segment-import GI.Gst.Structs.StaticCaps-import GI.Gst.Structs.StaticPadTemplate-import GI.Gst.Structs.Structure-import GI.Gst.Structs.TagList-import GI.Gst.Structs.TimedValue-import GI.Gst.Structs.Toc-import GI.Gst.Structs.TocEntry-import GI.Gst.Structs.TypeFind-import GI.Gst.Structs.Uri-import GI.Gst.Structs.ValueTable--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL---
− GI/Gst/Structs/AllocationParams.hs
@@ -1,451 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Parameters to control the allocation of memory--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.AllocationParams-    ( ---- * Exported types-    AllocationParams(..)                    ,-    newZeroAllocationParams                 ,-    noAllocationParams                      ,--- -- * Methods--- ** copy #method:copy#--#if ENABLE_OVERLOADING-    AllocationParamsCopyMethodInfo          ,-#endif-    allocationParamsCopy                    ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    AllocationParamsFreeMethodInfo          ,-#endif-    allocationParamsFree                    ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    AllocationParamsInitMethodInfo          ,-#endif-    allocationParamsInit                    ,----- -- * Properties--- ** align #attr:align#-{- | the desired alignment of the memory--}-#if ENABLE_OVERLOADING-    allocationParams_align                  ,-#endif-    getAllocationParamsAlign                ,-    setAllocationParamsAlign                ,----- ** flags #attr:flags#-{- | flags to control allocation--}-#if ENABLE_OVERLOADING-    allocationParams_flags                  ,-#endif-    getAllocationParamsFlags                ,-    setAllocationParamsFlags                ,----- ** padding #attr:padding#-{- | the desired padding--}-#if ENABLE_OVERLOADING-    allocationParams_padding                ,-#endif-    getAllocationParamsPadding              ,-    setAllocationParamsPadding              ,----- ** prefix #attr:prefix#-{- | the desired prefix--}-#if ENABLE_OVERLOADING-    allocationParams_prefix                 ,-#endif-    getAllocationParamsPrefix               ,-    setAllocationParamsPrefix               ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags---- | Memory-managed wrapper type.-newtype AllocationParams = AllocationParams (ManagedPtr AllocationParams)-foreign import ccall "gst_allocation_params_get_type" c_gst_allocation_params_get_type :: -    IO GType--instance BoxedObject AllocationParams where-    boxedType _ = c_gst_allocation_params_get_type---- | Construct a `AllocationParams` struct initialized to zero.-newZeroAllocationParams :: MonadIO m => m AllocationParams-newZeroAllocationParams = liftIO $ callocBoxedBytes 64 >>= wrapBoxed AllocationParams--instance tag ~ 'AttrSet => Constructible AllocationParams tag where-    new _ attrs = do-        o <- newZeroAllocationParams-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `AllocationParams`.-noAllocationParams :: Maybe AllocationParams-noAllocationParams = Nothing--{- |-Get the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' allocationParams #flags-@--}-getAllocationParamsFlags :: MonadIO m => AllocationParams -> m [Gst.Flags.MemoryFlags]-getAllocationParamsFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = wordToGFlags val-    return val'--{- |-Set the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' allocationParams [ #flags 'Data.GI.Base.Attributes.:=' value ]-@--}-setAllocationParamsFlags :: MonadIO m => AllocationParams -> [Gst.Flags.MemoryFlags] -> m ()-setAllocationParamsFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gflagsToWord val-    poke (ptr `plusPtr` 0) (val' :: CUInt)--#if ENABLE_OVERLOADING-data AllocationParamsFlagsFieldInfo-instance AttrInfo AllocationParamsFlagsFieldInfo where-    type AttrAllowedOps AllocationParamsFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint AllocationParamsFlagsFieldInfo = (~) [Gst.Flags.MemoryFlags]-    type AttrBaseTypeConstraint AllocationParamsFlagsFieldInfo = (~) AllocationParams-    type AttrGetType AllocationParamsFlagsFieldInfo = [Gst.Flags.MemoryFlags]-    type AttrLabel AllocationParamsFlagsFieldInfo = "flags"-    type AttrOrigin AllocationParamsFlagsFieldInfo = AllocationParams-    attrGet _ = getAllocationParamsFlags-    attrSet _ = setAllocationParamsFlags-    attrConstruct = undefined-    attrClear _ = undefined--allocationParams_flags :: AttrLabelProxy "flags"-allocationParams_flags = AttrLabelProxy--#endif---{- |-Get the value of the “@align@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' allocationParams #align-@--}-getAllocationParamsAlign :: MonadIO m => AllocationParams -> m Word64-getAllocationParamsAlign s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word64-    return val--{- |-Set the value of the “@align@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' allocationParams [ #align 'Data.GI.Base.Attributes.:=' value ]-@--}-setAllocationParamsAlign :: MonadIO m => AllocationParams -> Word64 -> m ()-setAllocationParamsAlign s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word64)--#if ENABLE_OVERLOADING-data AllocationParamsAlignFieldInfo-instance AttrInfo AllocationParamsAlignFieldInfo where-    type AttrAllowedOps AllocationParamsAlignFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint AllocationParamsAlignFieldInfo = (~) Word64-    type AttrBaseTypeConstraint AllocationParamsAlignFieldInfo = (~) AllocationParams-    type AttrGetType AllocationParamsAlignFieldInfo = Word64-    type AttrLabel AllocationParamsAlignFieldInfo = "align"-    type AttrOrigin AllocationParamsAlignFieldInfo = AllocationParams-    attrGet _ = getAllocationParamsAlign-    attrSet _ = setAllocationParamsAlign-    attrConstruct = undefined-    attrClear _ = undefined--allocationParams_align :: AttrLabelProxy "align"-allocationParams_align = AttrLabelProxy--#endif---{- |-Get the value of the “@prefix@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' allocationParams #prefix-@--}-getAllocationParamsPrefix :: MonadIO m => AllocationParams -> m Word64-getAllocationParamsPrefix s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word64-    return val--{- |-Set the value of the “@prefix@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' allocationParams [ #prefix 'Data.GI.Base.Attributes.:=' value ]-@--}-setAllocationParamsPrefix :: MonadIO m => AllocationParams -> Word64 -> m ()-setAllocationParamsPrefix s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word64)--#if ENABLE_OVERLOADING-data AllocationParamsPrefixFieldInfo-instance AttrInfo AllocationParamsPrefixFieldInfo where-    type AttrAllowedOps AllocationParamsPrefixFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint AllocationParamsPrefixFieldInfo = (~) Word64-    type AttrBaseTypeConstraint AllocationParamsPrefixFieldInfo = (~) AllocationParams-    type AttrGetType AllocationParamsPrefixFieldInfo = Word64-    type AttrLabel AllocationParamsPrefixFieldInfo = "prefix"-    type AttrOrigin AllocationParamsPrefixFieldInfo = AllocationParams-    attrGet _ = getAllocationParamsPrefix-    attrSet _ = setAllocationParamsPrefix-    attrConstruct = undefined-    attrClear _ = undefined--allocationParams_prefix :: AttrLabelProxy "prefix"-allocationParams_prefix = AttrLabelProxy--#endif---{- |-Get the value of the “@padding@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' allocationParams #padding-@--}-getAllocationParamsPadding :: MonadIO m => AllocationParams -> m Word64-getAllocationParamsPadding s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word64-    return val--{- |-Set the value of the “@padding@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' allocationParams [ #padding 'Data.GI.Base.Attributes.:=' value ]-@--}-setAllocationParamsPadding :: MonadIO m => AllocationParams -> Word64 -> m ()-setAllocationParamsPadding s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Word64)--#if ENABLE_OVERLOADING-data AllocationParamsPaddingFieldInfo-instance AttrInfo AllocationParamsPaddingFieldInfo where-    type AttrAllowedOps AllocationParamsPaddingFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint AllocationParamsPaddingFieldInfo = (~) Word64-    type AttrBaseTypeConstraint AllocationParamsPaddingFieldInfo = (~) AllocationParams-    type AttrGetType AllocationParamsPaddingFieldInfo = Word64-    type AttrLabel AllocationParamsPaddingFieldInfo = "padding"-    type AttrOrigin AllocationParamsPaddingFieldInfo = AllocationParams-    attrGet _ = getAllocationParamsPadding-    attrSet _ = setAllocationParamsPadding-    attrConstruct = undefined-    attrClear _ = undefined--allocationParams_padding :: AttrLabelProxy "padding"-allocationParams_padding = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList AllocationParams-type instance O.AttributeList AllocationParams = AllocationParamsAttributeList-type AllocationParamsAttributeList = ('[ '("flags", AllocationParamsFlagsFieldInfo), '("align", AllocationParamsAlignFieldInfo), '("prefix", AllocationParamsPrefixFieldInfo), '("padding", AllocationParamsPaddingFieldInfo)] :: [(Symbol, *)])-#endif---- method AllocationParams::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAllocationParams", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "AllocationParams"}))--- throws : False--- Skip return : False--foreign import ccall "gst_allocation_params_copy" gst_allocation_params_copy :: -    Ptr AllocationParams ->                 -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO (Ptr AllocationParams)--{- |-Create a copy of /@params@/.--Free-function: gst_allocation_params_free--}-allocationParamsCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AllocationParams-    {- ^ /@params@/: a 'GI.Gst.Structs.AllocationParams.AllocationParams' -}-    -> m (Maybe AllocationParams)-    {- ^ __Returns:__ a new #'GI.Gst.Structs.AllocationParams.AllocationParams', free with-'GI.Gst.Structs.AllocationParams.allocationParamsFree'. -}-allocationParamsCopy params = liftIO $ do-    params' <- unsafeManagedPtrGetPtr params-    result <- gst_allocation_params_copy params'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed AllocationParams) result'-        return result''-    touchManagedPtr params-    return maybeResult--#if ENABLE_OVERLOADING-data AllocationParamsCopyMethodInfo-instance (signature ~ (m (Maybe AllocationParams)), MonadIO m) => O.MethodInfo AllocationParamsCopyMethodInfo AllocationParams signature where-    overloadedMethod _ = allocationParamsCopy--#endif---- method AllocationParams::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAllocationParams", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_allocation_params_free" gst_allocation_params_free :: -    Ptr AllocationParams ->                 -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO ()--{- |-Free /@params@/--}-allocationParamsFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AllocationParams-    {- ^ /@params@/: a 'GI.Gst.Structs.AllocationParams.AllocationParams' -}-    -> m ()-allocationParamsFree params = liftIO $ do-    params' <- B.ManagedPtr.disownBoxed params-    gst_allocation_params_free params'-    touchManagedPtr params-    return ()--#if ENABLE_OVERLOADING-data AllocationParamsFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AllocationParamsFreeMethodInfo AllocationParams signature where-    overloadedMethod _ = allocationParamsFree--#endif---- method AllocationParams::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAllocationParams", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_allocation_params_init" gst_allocation_params_init :: -    Ptr AllocationParams ->                 -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO ()--{- |-Initialize /@params@/ to its default values--}-allocationParamsInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AllocationParams-    {- ^ /@params@/: a 'GI.Gst.Structs.AllocationParams.AllocationParams' -}-    -> m ()-allocationParamsInit params = liftIO $ do-    params' <- unsafeManagedPtrGetPtr params-    gst_allocation_params_init params'-    touchManagedPtr params-    return ()--#if ENABLE_OVERLOADING-data AllocationParamsInitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AllocationParamsInitMethodInfo AllocationParams signature where-    overloadedMethod _ = allocationParamsInit--#endif--#if ENABLE_OVERLOADING-type family ResolveAllocationParamsMethod (t :: Symbol) (o :: *) :: * where-    ResolveAllocationParamsMethod "copy" o = AllocationParamsCopyMethodInfo-    ResolveAllocationParamsMethod "free" o = AllocationParamsFreeMethodInfo-    ResolveAllocationParamsMethod "init" o = AllocationParamsInitMethodInfo-    ResolveAllocationParamsMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveAllocationParamsMethod t AllocationParams, O.MethodInfo info AllocationParams p) => OL.IsLabel t (AllocationParams -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/AllocationParams.hs-boot
@@ -1,35 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.AllocationParams where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype AllocationParams = AllocationParams (ManagedPtr AllocationParams)-instance BoxedObject AllocationParams where-#if ENABLE_OVERLOADING-data AllocationParamsCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data AllocationParamsFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data AllocationParamsInitMethodInfo-#endif
− GI/Gst/Structs/AtomicQueue.hs
@@ -1,377 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.Gst.Structs.AtomicQueue.AtomicQueue' object implements a queue that can be used from multiple-threads without performing any blocking operations.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.AtomicQueue-    ( ---- * Exported types-    AtomicQueue(..)                         ,-    noAtomicQueue                           ,--- -- * Methods--- ** length #method:length#--#if ENABLE_OVERLOADING-    AtomicQueueLengthMethodInfo             ,-#endif-    atomicQueueLength                       ,----- ** new #method:new#--    atomicQueueNew                          ,----- ** peek #method:peek#--#if ENABLE_OVERLOADING-    AtomicQueuePeekMethodInfo               ,-#endif-    atomicQueuePeek                         ,----- ** pop #method:pop#--#if ENABLE_OVERLOADING-    AtomicQueuePopMethodInfo                ,-#endif-    atomicQueuePop                          ,----- ** push #method:push#--#if ENABLE_OVERLOADING-    AtomicQueuePushMethodInfo               ,-#endif-    atomicQueuePush                         ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    AtomicQueueRefMethodInfo                ,-#endif-    atomicQueueRef                          ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    AtomicQueueUnrefMethodInfo              ,-#endif-    atomicQueueUnref                        ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- | Memory-managed wrapper type.-newtype AtomicQueue = AtomicQueue (ManagedPtr AtomicQueue)-foreign import ccall "gst_atomic_queue_get_type" c_gst_atomic_queue_get_type :: -    IO GType--instance BoxedObject AtomicQueue where-    boxedType _ = c_gst_atomic_queue_get_type---- | A convenience alias for `Nothing` :: `Maybe` `AtomicQueue`.-noAtomicQueue :: Maybe AtomicQueue-noAtomicQueue = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList AtomicQueue-type instance O.AttributeList AtomicQueue = AtomicQueueAttributeList-type AtomicQueueAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method AtomicQueue::new--- method type : Constructor--- Args : [Arg {argCName = "initial_size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "initial queue size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "AtomicQueue"}))--- throws : False--- Skip return : False--foreign import ccall "gst_atomic_queue_new" gst_atomic_queue_new :: -    Word32 ->                               -- initial_size : TBasicType TUInt-    IO (Ptr AtomicQueue)--{- |-Create a new atomic queue instance. /@initialSize@/ will be rounded up to the-nearest power of 2 and used as the initial size of the queue.--}-atomicQueueNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@initialSize@/: initial queue size -}-    -> m AtomicQueue-    {- ^ __Returns:__ a new 'GI.Gst.Structs.AtomicQueue.AtomicQueue' -}-atomicQueueNew initialSize = liftIO $ do-    result <- gst_atomic_queue_new initialSize-    checkUnexpectedReturnNULL "atomicQueueNew" result-    result' <- (wrapBoxed AtomicQueue) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method AtomicQueue::length--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "Gst", name = "AtomicQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAtomicQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_atomic_queue_length" gst_atomic_queue_length :: -    Ptr AtomicQueue ->                      -- queue : TInterface (Name {namespace = "Gst", name = "AtomicQueue"})-    IO Word32--{- |-Get the amount of items in the queue.--}-atomicQueueLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AtomicQueue-    {- ^ /@queue@/: a 'GI.Gst.Structs.AtomicQueue.AtomicQueue' -}-    -> m Word32-    {- ^ __Returns:__ the number of elements in the queue. -}-atomicQueueLength queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- gst_atomic_queue_length queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AtomicQueueLengthMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo AtomicQueueLengthMethodInfo AtomicQueue signature where-    overloadedMethod _ = atomicQueueLength--#endif---- method AtomicQueue::peek--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "Gst", name = "AtomicQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAtomicQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "gst_atomic_queue_peek" gst_atomic_queue_peek :: -    Ptr AtomicQueue ->                      -- queue : TInterface (Name {namespace = "Gst", name = "AtomicQueue"})-    IO (Ptr ())--{- |-Peek the head element of the queue without removing it from the queue.--}-atomicQueuePeek ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AtomicQueue-    {- ^ /@queue@/: a 'GI.Gst.Structs.AtomicQueue.AtomicQueue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the head element of /@queue@/ or-'Nothing' when the queue is empty. -}-atomicQueuePeek queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- gst_atomic_queue_peek queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AtomicQueuePeekMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo AtomicQueuePeekMethodInfo AtomicQueue signature where-    overloadedMethod _ = atomicQueuePeek--#endif---- method AtomicQueue::pop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "Gst", name = "AtomicQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAtomicQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "gst_atomic_queue_pop" gst_atomic_queue_pop :: -    Ptr AtomicQueue ->                      -- queue : TInterface (Name {namespace = "Gst", name = "AtomicQueue"})-    IO (Ptr ())--{- |-Get the head element of the queue.--}-atomicQueuePop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AtomicQueue-    {- ^ /@queue@/: a 'GI.Gst.Structs.AtomicQueue.AtomicQueue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the head element of /@queue@/ or 'Nothing' when-the queue is empty. -}-atomicQueuePop queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- gst_atomic_queue_pop queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AtomicQueuePopMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo AtomicQueuePopMethodInfo AtomicQueue signature where-    overloadedMethod _ = atomicQueuePop--#endif---- method AtomicQueue::push--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "Gst", name = "AtomicQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAtomicQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_atomic_queue_push" gst_atomic_queue_push :: -    Ptr AtomicQueue ->                      -- queue : TInterface (Name {namespace = "Gst", name = "AtomicQueue"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO ()--{- |-Append /@data@/ to the tail of the queue.--}-atomicQueuePush ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AtomicQueue-    {- ^ /@queue@/: a 'GI.Gst.Structs.AtomicQueue.AtomicQueue' -}-    -> Ptr ()-    {- ^ /@data@/: the data -}-    -> m ()-atomicQueuePush queue data_ = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    gst_atomic_queue_push queue' data_-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AtomicQueuePushMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo AtomicQueuePushMethodInfo AtomicQueue signature where-    overloadedMethod _ = atomicQueuePush--#endif---- method AtomicQueue::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "Gst", name = "AtomicQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAtomicQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_atomic_queue_ref" gst_atomic_queue_ref :: -    Ptr AtomicQueue ->                      -- queue : TInterface (Name {namespace = "Gst", name = "AtomicQueue"})-    IO ()--{- |-Increase the refcount of /@queue@/.--}-atomicQueueRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AtomicQueue-    {- ^ /@queue@/: a 'GI.Gst.Structs.AtomicQueue.AtomicQueue' -}-    -> m ()-atomicQueueRef queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    gst_atomic_queue_ref queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AtomicQueueRefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AtomicQueueRefMethodInfo AtomicQueue signature where-    overloadedMethod _ = atomicQueueRef--#endif---- method AtomicQueue::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "Gst", name = "AtomicQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAtomicQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_atomic_queue_unref" gst_atomic_queue_unref :: -    Ptr AtomicQueue ->                      -- queue : TInterface (Name {namespace = "Gst", name = "AtomicQueue"})-    IO ()--{- |-Unref /@queue@/ and free the memory when the refcount reaches 0.--}-atomicQueueUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AtomicQueue-    {- ^ /@queue@/: a 'GI.Gst.Structs.AtomicQueue.AtomicQueue' -}-    -> m ()-atomicQueueUnref queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    gst_atomic_queue_unref queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AtomicQueueUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AtomicQueueUnrefMethodInfo AtomicQueue signature where-    overloadedMethod _ = atomicQueueUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveAtomicQueueMethod (t :: Symbol) (o :: *) :: * where-    ResolveAtomicQueueMethod "length" o = AtomicQueueLengthMethodInfo-    ResolveAtomicQueueMethod "peek" o = AtomicQueuePeekMethodInfo-    ResolveAtomicQueueMethod "pop" o = AtomicQueuePopMethodInfo-    ResolveAtomicQueueMethod "push" o = AtomicQueuePushMethodInfo-    ResolveAtomicQueueMethod "ref" o = AtomicQueueRefMethodInfo-    ResolveAtomicQueueMethod "unref" o = AtomicQueueUnrefMethodInfo-    ResolveAtomicQueueMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveAtomicQueueMethod t AtomicQueue, O.MethodInfo info AtomicQueue p) => OL.IsLabel t (AtomicQueue -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/AtomicQueue.hs-boot
@@ -1,44 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.AtomicQueue where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype AtomicQueue = AtomicQueue (ManagedPtr AtomicQueue)-instance BoxedObject AtomicQueue where-#if ENABLE_OVERLOADING-data AtomicQueueLengthMethodInfo-#endif-#if ENABLE_OVERLOADING-data AtomicQueuePeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data AtomicQueuePopMethodInfo-#endif-#if ENABLE_OVERLOADING-data AtomicQueuePushMethodInfo-#endif-#if ENABLE_OVERLOADING-data AtomicQueueRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data AtomicQueueUnrefMethodInfo-#endif
− GI/Gst/Structs/Buffer.hs
@@ -1,3516 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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 'GI.Gst.Structs.Memory.Memory' blocks that the buffer contains.--Buffers are usually created with 'GI.Gst.Structs.Buffer.bufferNew'. 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.--=== /C code/->->  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 'GI.Gst.Structs.Buffer.bufferNewAllocate' to create a buffer with-preallocated data of a given size.--Buffers can contain a list of 'GI.Gst.Structs.Memory.Memory' objects. You can retrieve how many-memory objects with 'GI.Gst.Structs.Buffer.bufferNMemory' and you can get a pointer-to memory with 'GI.Gst.Structs.Buffer.bufferPeekMemory'--A buffer will usually have timestamps, and a duration, but neither of these-are guaranteed (they may be set to 'GI.Gst.Constants.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 'GI.Gst.Constants.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 'GI.Gst.Structs.Buffer.bufferCopyRegion'. 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 'GI.Gst.Flags.BufferFlags' flag is set.--Buffers can be efficiently merged into a larger buffer with-'GI.Gst.Structs.Buffer.bufferAppend'. Copying of memory will only be done when absolutely-needed.--Arbitrary extra metadata can be set on a buffer with 'GI.Gst.Structs.Buffer.bufferAddMeta'.-Metadata can be retrieved with 'GI.Gst.Structs.Buffer.bufferGetMeta'. See also 'GI.Gst.Structs.Meta.Meta'--An element should either unref the buffer or push it out on a src pad-using 'GI.Gst.Objects.Pad.padPush' (see 'GI.Gst.Objects.Pad.Pad').--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 'GI.Gst.Objects.BufferPool.BufferPool' will be returned to-the pool when the refcount drops to 0.--The 'GI.Gst.Structs.ParentBufferMeta.ParentBufferMeta' is a meta which can be attached to a 'GI.Gst.Structs.Buffer.Buffer'-to hold a reference to another buffer that is only released when the child-'GI.Gst.Structs.Buffer.Buffer' is released.--Typically, 'GI.Gst.Structs.ParentBufferMeta.ParentBufferMeta' is used when the child buffer is directly-using the 'GI.Gst.Structs.Memory.Memory' of the parent buffer, and wants to prevent the parent-buffer from being returned to a buffer pool until the 'GI.Gst.Structs.Memory.Memory' is available-for re-use. (Since 1.6)--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Buffer-    ( ---- * Exported types-    Buffer(..)                              ,-    newZeroBuffer                           ,-    noBuffer                                ,--- -- * Methods--- ** addMeta #method:addMeta#--#if ENABLE_OVERLOADING-    BufferAddMetaMethodInfo                 ,-#endif-    bufferAddMeta                           ,----- ** addParentBufferMeta #method:addParentBufferMeta#--#if ENABLE_OVERLOADING-    BufferAddParentBufferMetaMethodInfo     ,-#endif-    bufferAddParentBufferMeta               ,----- ** addProtectionMeta #method:addProtectionMeta#--#if ENABLE_OVERLOADING-    BufferAddProtectionMetaMethodInfo       ,-#endif-    bufferAddProtectionMeta                 ,----- ** addReferenceTimestampMeta #method:addReferenceTimestampMeta#--#if ENABLE_OVERLOADING-    BufferAddReferenceTimestampMetaMethodInfo,-#endif-    bufferAddReferenceTimestampMeta         ,----- ** append #method:append#--#if ENABLE_OVERLOADING-    BufferAppendMethodInfo                  ,-#endif-    bufferAppend                            ,----- ** appendMemory #method:appendMemory#--#if ENABLE_OVERLOADING-    BufferAppendMemoryMethodInfo            ,-#endif-    bufferAppendMemory                      ,----- ** appendRegion #method:appendRegion#--#if ENABLE_OVERLOADING-    BufferAppendRegionMethodInfo            ,-#endif-    bufferAppendRegion                      ,----- ** copyDeep #method:copyDeep#--#if ENABLE_OVERLOADING-    BufferCopyDeepMethodInfo                ,-#endif-    bufferCopyDeep                          ,----- ** copyInto #method:copyInto#--#if ENABLE_OVERLOADING-    BufferCopyIntoMethodInfo                ,-#endif-    bufferCopyInto                          ,----- ** copyRegion #method:copyRegion#--#if ENABLE_OVERLOADING-    BufferCopyRegionMethodInfo              ,-#endif-    bufferCopyRegion                        ,----- ** extract #method:extract#--#if ENABLE_OVERLOADING-    BufferExtractMethodInfo                 ,-#endif-    bufferExtract                           ,----- ** extractDup #method:extractDup#--#if ENABLE_OVERLOADING-    BufferExtractDupMethodInfo              ,-#endif-    bufferExtractDup                        ,----- ** fill #method:fill#--#if ENABLE_OVERLOADING-    BufferFillMethodInfo                    ,-#endif-    bufferFill                              ,----- ** findMemory #method:findMemory#--#if ENABLE_OVERLOADING-    BufferFindMemoryMethodInfo              ,-#endif-    bufferFindMemory                        ,----- ** foreachMeta #method:foreachMeta#--#if ENABLE_OVERLOADING-    BufferForeachMetaMethodInfo             ,-#endif-    bufferForeachMeta                       ,----- ** getAllMemory #method:getAllMemory#--#if ENABLE_OVERLOADING-    BufferGetAllMemoryMethodInfo            ,-#endif-    bufferGetAllMemory                      ,----- ** getFlags #method:getFlags#--#if ENABLE_OVERLOADING-    BufferGetFlagsMethodInfo                ,-#endif-    bufferGetFlags                          ,----- ** getMaxMemory #method:getMaxMemory#--    bufferGetMaxMemory                      ,----- ** getMemory #method:getMemory#--#if ENABLE_OVERLOADING-    BufferGetMemoryMethodInfo               ,-#endif-    bufferGetMemory                         ,----- ** getMemoryRange #method:getMemoryRange#--#if ENABLE_OVERLOADING-    BufferGetMemoryRangeMethodInfo          ,-#endif-    bufferGetMemoryRange                    ,----- ** getMeta #method:getMeta#--#if ENABLE_OVERLOADING-    BufferGetMetaMethodInfo                 ,-#endif-    bufferGetMeta                           ,----- ** getNMeta #method:getNMeta#--#if ENABLE_OVERLOADING-    BufferGetNMetaMethodInfo                ,-#endif-    bufferGetNMeta                          ,----- ** getReferenceTimestampMeta #method:getReferenceTimestampMeta#--#if ENABLE_OVERLOADING-    BufferGetReferenceTimestampMetaMethodInfo,-#endif-    bufferGetReferenceTimestampMeta         ,----- ** getSize #method:getSize#--#if ENABLE_OVERLOADING-    BufferGetSizeMethodInfo                 ,-#endif-    bufferGetSize                           ,----- ** getSizes #method:getSizes#--#if ENABLE_OVERLOADING-    BufferGetSizesMethodInfo                ,-#endif-    bufferGetSizes                          ,----- ** getSizesRange #method:getSizesRange#--#if ENABLE_OVERLOADING-    BufferGetSizesRangeMethodInfo           ,-#endif-    bufferGetSizesRange                     ,----- ** hasFlags #method:hasFlags#--#if ENABLE_OVERLOADING-    BufferHasFlagsMethodInfo                ,-#endif-    bufferHasFlags                          ,----- ** insertMemory #method:insertMemory#--#if ENABLE_OVERLOADING-    BufferInsertMemoryMethodInfo            ,-#endif-    bufferInsertMemory                      ,----- ** isAllMemoryWritable #method:isAllMemoryWritable#--#if ENABLE_OVERLOADING-    BufferIsAllMemoryWritableMethodInfo     ,-#endif-    bufferIsAllMemoryWritable               ,----- ** isMemoryRangeWritable #method:isMemoryRangeWritable#--#if ENABLE_OVERLOADING-    BufferIsMemoryRangeWritableMethodInfo   ,-#endif-    bufferIsMemoryRangeWritable             ,----- ** map #method:map#--#if ENABLE_OVERLOADING-    BufferMapMethodInfo                     ,-#endif-    bufferMap                               ,----- ** mapRange #method:mapRange#--#if ENABLE_OVERLOADING-    BufferMapRangeMethodInfo                ,-#endif-    bufferMapRange                          ,----- ** memcmp #method:memcmp#--#if ENABLE_OVERLOADING-    BufferMemcmpMethodInfo                  ,-#endif-    bufferMemcmp                            ,----- ** memset #method:memset#--#if ENABLE_OVERLOADING-    BufferMemsetMethodInfo                  ,-#endif-    bufferMemset                            ,----- ** nMemory #method:nMemory#--#if ENABLE_OVERLOADING-    BufferNMemoryMethodInfo                 ,-#endif-    bufferNMemory                           ,----- ** new #method:new#--    bufferNew                               ,----- ** newAllocate #method:newAllocate#--    bufferNewAllocate                       ,----- ** newWrapped #method:newWrapped#--    bufferNewWrapped                        ,----- ** newWrappedBytes #method:newWrappedBytes#--    bufferNewWrappedBytes                   ,----- ** newWrappedFull #method:newWrappedFull#--    bufferNewWrappedFull                    ,----- ** peekMemory #method:peekMemory#--#if ENABLE_OVERLOADING-    BufferPeekMemoryMethodInfo              ,-#endif-    bufferPeekMemory                        ,----- ** prependMemory #method:prependMemory#--#if ENABLE_OVERLOADING-    BufferPrependMemoryMethodInfo           ,-#endif-    bufferPrependMemory                     ,----- ** removeAllMemory #method:removeAllMemory#--#if ENABLE_OVERLOADING-    BufferRemoveAllMemoryMethodInfo         ,-#endif-    bufferRemoveAllMemory                   ,----- ** removeMemory #method:removeMemory#--#if ENABLE_OVERLOADING-    BufferRemoveMemoryMethodInfo            ,-#endif-    bufferRemoveMemory                      ,----- ** removeMemoryRange #method:removeMemoryRange#--#if ENABLE_OVERLOADING-    BufferRemoveMemoryRangeMethodInfo       ,-#endif-    bufferRemoveMemoryRange                 ,----- ** removeMeta #method:removeMeta#--#if ENABLE_OVERLOADING-    BufferRemoveMetaMethodInfo              ,-#endif-    bufferRemoveMeta                        ,----- ** replaceAllMemory #method:replaceAllMemory#--#if ENABLE_OVERLOADING-    BufferReplaceAllMemoryMethodInfo        ,-#endif-    bufferReplaceAllMemory                  ,----- ** replaceMemory #method:replaceMemory#--#if ENABLE_OVERLOADING-    BufferReplaceMemoryMethodInfo           ,-#endif-    bufferReplaceMemory                     ,----- ** replaceMemoryRange #method:replaceMemoryRange#--#if ENABLE_OVERLOADING-    BufferReplaceMemoryRangeMethodInfo      ,-#endif-    bufferReplaceMemoryRange                ,----- ** resize #method:resize#--#if ENABLE_OVERLOADING-    BufferResizeMethodInfo                  ,-#endif-    bufferResize                            ,----- ** resizeRange #method:resizeRange#--#if ENABLE_OVERLOADING-    BufferResizeRangeMethodInfo             ,-#endif-    bufferResizeRange                       ,----- ** setFlags #method:setFlags#--#if ENABLE_OVERLOADING-    BufferSetFlagsMethodInfo                ,-#endif-    bufferSetFlags                          ,----- ** setSize #method:setSize#--#if ENABLE_OVERLOADING-    BufferSetSizeMethodInfo                 ,-#endif-    bufferSetSize                           ,----- ** unmap #method:unmap#--#if ENABLE_OVERLOADING-    BufferUnmapMethodInfo                   ,-#endif-    bufferUnmap                             ,----- ** unsetFlags #method:unsetFlags#--#if ENABLE_OVERLOADING-    BufferUnsetFlagsMethodInfo              ,-#endif-    bufferUnsetFlags                        ,----- -- * Properties--- ** dts #attr:dts#-{- | decoding timestamp of the buffer, can be 'GI.Gst.Constants.CLOCK_TIME_NONE' when the-    dts is not known or relevant. The dts contains the timestamp when the-    media should be processed.--}-#if ENABLE_OVERLOADING-    buffer_dts                              ,-#endif-    getBufferDts                            ,-    setBufferDts                            ,----- ** duration #attr:duration#-{- | duration in time of the buffer data, can be 'GI.Gst.Constants.CLOCK_TIME_NONE'-    when the duration is not known or relevant.--}-#if ENABLE_OVERLOADING-    buffer_duration                         ,-#endif-    getBufferDuration                       ,-    setBufferDuration                       ,----- ** miniObject #attr:miniObject#-{- | the parent structure--}-#if ENABLE_OVERLOADING-    buffer_miniObject                       ,-#endif-    getBufferMiniObject                     ,----- ** offset #attr:offset#-{- | 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.--}-#if ENABLE_OVERLOADING-    buffer_offset                           ,-#endif-    getBufferOffset                         ,-    setBufferOffset                         ,----- ** offsetEnd #attr:offsetEnd#-{- | the last offset contained in this buffer. It has the same-    format as /@offset@/.--}-#if ENABLE_OVERLOADING-    buffer_offsetEnd                        ,-#endif-    getBufferOffsetEnd                      ,-    setBufferOffsetEnd                      ,----- ** pool #attr:pool#-{- | pointer to the pool owner of the buffer--}-#if ENABLE_OVERLOADING-    buffer_pool                             ,-#endif-    clearBufferPool                         ,-    getBufferPool                           ,-    setBufferPool                           ,----- ** pts #attr:pts#-{- | presentation timestamp of the buffer, can be 'GI.Gst.Constants.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.--}-#if ENABLE_OVERLOADING-    buffer_pts                              ,-#endif-    getBufferPts                            ,-    setBufferPts                            ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.GLib.Structs.Bytes as GLib.Bytes-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Allocator as Gst.Allocator-import {-# SOURCE #-} qualified GI.Gst.Objects.BufferPool as Gst.BufferPool-import {-# SOURCE #-} qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.MapInfo as Gst.MapInfo-import {-# SOURCE #-} qualified GI.Gst.Structs.Memory as Gst.Memory-import {-# SOURCE #-} qualified GI.Gst.Structs.Meta as Gst.Meta-import {-# SOURCE #-} qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo-import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject-import {-# SOURCE #-} qualified GI.Gst.Structs.ParentBufferMeta as Gst.ParentBufferMeta-import {-# SOURCE #-} qualified GI.Gst.Structs.ProtectionMeta as Gst.ProtectionMeta-import {-# SOURCE #-} qualified GI.Gst.Structs.ReferenceTimestampMeta as Gst.ReferenceTimestampMeta-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype Buffer = Buffer (ManagedPtr Buffer)-foreign import ccall "gst_buffer_get_type" c_gst_buffer_get_type :: -    IO GType--instance BoxedObject Buffer where-    boxedType _ = c_gst_buffer_get_type---- | Construct a `Buffer` struct initialized to zero.-newZeroBuffer :: MonadIO m => m Buffer-newZeroBuffer = liftIO $ callocBoxedBytes 112 >>= wrapBoxed Buffer--instance tag ~ 'AttrSet => Constructible Buffer tag where-    new _ attrs = do-        o <- newZeroBuffer-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Buffer`.-noBuffer :: Maybe Buffer-noBuffer = Nothing--{- |-Get the value of the “@mini_object@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' buffer #miniObject-@--}-getBufferMiniObject :: MonadIO m => Buffer -> m Gst.MiniObject.MiniObject-getBufferMiniObject s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.MiniObject.MiniObject)-    val' <- (newPtr Gst.MiniObject.MiniObject) val-    return val'--#if ENABLE_OVERLOADING-data BufferMiniObjectFieldInfo-instance AttrInfo BufferMiniObjectFieldInfo where-    type AttrAllowedOps BufferMiniObjectFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint BufferMiniObjectFieldInfo = (~) (Ptr Gst.MiniObject.MiniObject)-    type AttrBaseTypeConstraint BufferMiniObjectFieldInfo = (~) Buffer-    type AttrGetType BufferMiniObjectFieldInfo = Gst.MiniObject.MiniObject-    type AttrLabel BufferMiniObjectFieldInfo = "mini_object"-    type AttrOrigin BufferMiniObjectFieldInfo = Buffer-    attrGet _ = getBufferMiniObject-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--buffer_miniObject :: AttrLabelProxy "miniObject"-buffer_miniObject = AttrLabelProxy--#endif---{- |-Get the value of the “@pool@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' buffer #pool-@--}-getBufferPool :: MonadIO m => Buffer -> m (Maybe Gst.BufferPool.BufferPool)-getBufferPool s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO (Ptr Gst.BufferPool.BufferPool)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newObject Gst.BufferPool.BufferPool) val'-        return val''-    return result--{- |-Set the value of the “@pool@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' buffer [ #pool 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferPool :: MonadIO m => Buffer -> Ptr Gst.BufferPool.BufferPool -> m ()-setBufferPool s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (val :: Ptr Gst.BufferPool.BufferPool)--{- |-Set the value of the “@pool@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #pool-@--}-clearBufferPool :: MonadIO m => Buffer -> m ()-clearBufferPool s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (FP.nullPtr :: Ptr Gst.BufferPool.BufferPool)--#if ENABLE_OVERLOADING-data BufferPoolFieldInfo-instance AttrInfo BufferPoolFieldInfo where-    type AttrAllowedOps BufferPoolFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint BufferPoolFieldInfo = (~) (Ptr Gst.BufferPool.BufferPool)-    type AttrBaseTypeConstraint BufferPoolFieldInfo = (~) Buffer-    type AttrGetType BufferPoolFieldInfo = Maybe Gst.BufferPool.BufferPool-    type AttrLabel BufferPoolFieldInfo = "pool"-    type AttrOrigin BufferPoolFieldInfo = Buffer-    attrGet _ = getBufferPool-    attrSet _ = setBufferPool-    attrConstruct = undefined-    attrClear _ = clearBufferPool--buffer_pool :: AttrLabelProxy "pool"-buffer_pool = AttrLabelProxy--#endif---{- |-Get the value of the “@pts@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' buffer #pts-@--}-getBufferPts :: MonadIO m => Buffer -> m Word64-getBufferPts s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO Word64-    return val--{- |-Set the value of the “@pts@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' buffer [ #pts 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferPts :: MonadIO m => Buffer -> Word64 -> m ()-setBufferPts s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: Word64)--#if ENABLE_OVERLOADING-data BufferPtsFieldInfo-instance AttrInfo BufferPtsFieldInfo where-    type AttrAllowedOps BufferPtsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BufferPtsFieldInfo = (~) Word64-    type AttrBaseTypeConstraint BufferPtsFieldInfo = (~) Buffer-    type AttrGetType BufferPtsFieldInfo = Word64-    type AttrLabel BufferPtsFieldInfo = "pts"-    type AttrOrigin BufferPtsFieldInfo = Buffer-    attrGet _ = getBufferPts-    attrSet _ = setBufferPts-    attrConstruct = undefined-    attrClear _ = undefined--buffer_pts :: AttrLabelProxy "pts"-buffer_pts = AttrLabelProxy--#endif---{- |-Get the value of the “@dts@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' buffer #dts-@--}-getBufferDts :: MonadIO m => Buffer -> m Word64-getBufferDts s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 80) :: IO Word64-    return val--{- |-Set the value of the “@dts@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' buffer [ #dts 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferDts :: MonadIO m => Buffer -> Word64 -> m ()-setBufferDts s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (val :: Word64)--#if ENABLE_OVERLOADING-data BufferDtsFieldInfo-instance AttrInfo BufferDtsFieldInfo where-    type AttrAllowedOps BufferDtsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BufferDtsFieldInfo = (~) Word64-    type AttrBaseTypeConstraint BufferDtsFieldInfo = (~) Buffer-    type AttrGetType BufferDtsFieldInfo = Word64-    type AttrLabel BufferDtsFieldInfo = "dts"-    type AttrOrigin BufferDtsFieldInfo = Buffer-    attrGet _ = getBufferDts-    attrSet _ = setBufferDts-    attrConstruct = undefined-    attrClear _ = undefined--buffer_dts :: AttrLabelProxy "dts"-buffer_dts = AttrLabelProxy--#endif---{- |-Get the value of the “@duration@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' buffer #duration-@--}-getBufferDuration :: MonadIO m => Buffer -> m Word64-getBufferDuration s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 88) :: IO Word64-    return val--{- |-Set the value of the “@duration@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' buffer [ #duration 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferDuration :: MonadIO m => Buffer -> Word64 -> m ()-setBufferDuration s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 88) (val :: Word64)--#if ENABLE_OVERLOADING-data BufferDurationFieldInfo-instance AttrInfo BufferDurationFieldInfo where-    type AttrAllowedOps BufferDurationFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BufferDurationFieldInfo = (~) Word64-    type AttrBaseTypeConstraint BufferDurationFieldInfo = (~) Buffer-    type AttrGetType BufferDurationFieldInfo = Word64-    type AttrLabel BufferDurationFieldInfo = "duration"-    type AttrOrigin BufferDurationFieldInfo = Buffer-    attrGet _ = getBufferDuration-    attrSet _ = setBufferDuration-    attrConstruct = undefined-    attrClear _ = undefined--buffer_duration :: AttrLabelProxy "duration"-buffer_duration = AttrLabelProxy--#endif---{- |-Get the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' buffer #offset-@--}-getBufferOffset :: MonadIO m => Buffer -> m Word64-getBufferOffset s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 96) :: IO Word64-    return val--{- |-Set the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' buffer [ #offset 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferOffset :: MonadIO m => Buffer -> Word64 -> m ()-setBufferOffset s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 96) (val :: Word64)--#if ENABLE_OVERLOADING-data BufferOffsetFieldInfo-instance AttrInfo BufferOffsetFieldInfo where-    type AttrAllowedOps BufferOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BufferOffsetFieldInfo = (~) Word64-    type AttrBaseTypeConstraint BufferOffsetFieldInfo = (~) Buffer-    type AttrGetType BufferOffsetFieldInfo = Word64-    type AttrLabel BufferOffsetFieldInfo = "offset"-    type AttrOrigin BufferOffsetFieldInfo = Buffer-    attrGet _ = getBufferOffset-    attrSet _ = setBufferOffset-    attrConstruct = undefined-    attrClear _ = undefined--buffer_offset :: AttrLabelProxy "offset"-buffer_offset = AttrLabelProxy--#endif---{- |-Get the value of the “@offset_end@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' buffer #offsetEnd-@--}-getBufferOffsetEnd :: MonadIO m => Buffer -> m Word64-getBufferOffsetEnd s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 104) :: IO Word64-    return val--{- |-Set the value of the “@offset_end@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' buffer [ #offsetEnd 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferOffsetEnd :: MonadIO m => Buffer -> Word64 -> m ()-setBufferOffsetEnd s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 104) (val :: Word64)--#if ENABLE_OVERLOADING-data BufferOffsetEndFieldInfo-instance AttrInfo BufferOffsetEndFieldInfo where-    type AttrAllowedOps BufferOffsetEndFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BufferOffsetEndFieldInfo = (~) Word64-    type AttrBaseTypeConstraint BufferOffsetEndFieldInfo = (~) Buffer-    type AttrGetType BufferOffsetEndFieldInfo = Word64-    type AttrLabel BufferOffsetEndFieldInfo = "offset_end"-    type AttrOrigin BufferOffsetEndFieldInfo = Buffer-    attrGet _ = getBufferOffsetEnd-    attrSet _ = setBufferOffsetEnd-    attrConstruct = undefined-    attrClear _ = undefined--buffer_offsetEnd :: AttrLabelProxy "offsetEnd"-buffer_offsetEnd = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Buffer-type instance O.AttributeList Buffer = BufferAttributeList-type BufferAttributeList = ('[ '("miniObject", BufferMiniObjectFieldInfo), '("pool", BufferPoolFieldInfo), '("pts", BufferPtsFieldInfo), '("dts", BufferDtsFieldInfo), '("duration", BufferDurationFieldInfo), '("offset", BufferOffsetFieldInfo), '("offsetEnd", BufferOffsetEndFieldInfo)] :: [(Symbol, *)])-#endif---- method Buffer::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_new" gst_buffer_new :: -    IO (Ptr Buffer)--{- |-Creates a newly allocated buffer without any data.--MT safe.--}-bufferNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Buffer-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Buffer.Buffer'. -}-bufferNew  = liftIO $ do-    result <- gst_buffer_new-    checkUnexpectedReturnNULL "bufferNew" result-    result' <- (wrapBoxed Buffer) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Buffer::new_allocate--- method type : Constructor--- Args : [Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstAllocator to use, or %NULL to use the\n    default allocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size in bytes of the new buffer's data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "optional parameters", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_new_allocate" gst_buffer_new_allocate :: -    Ptr Gst.Allocator.Allocator ->          -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Word64 ->                               -- size : TBasicType TUInt64-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO (Ptr Buffer)--{- |-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, 'Nothing' will be returned. The allocated buffer memory is not cleared.--When /@allocator@/ is 'Nothing', the default memory allocator will be used.--Note that when /@size@/ == 0, the buffer will not have memory associated with it.--MT safe.--}-bufferNewAllocate ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Allocator.IsAllocator a) =>-    Maybe (a)-    {- ^ /@allocator@/: the 'GI.Gst.Objects.Allocator.Allocator' to use, or 'Nothing' to use the-    default allocator -}-    -> Word64-    {- ^ /@size@/: the size in bytes of the new buffer\'s data. -}-    -> Maybe (Gst.AllocationParams.AllocationParams)-    {- ^ /@params@/: optional parameters -}-    -> m (Maybe Buffer)-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Buffer.Buffer', or 'Nothing' if-    the memory couldn\'t be allocated. -}-bufferNewAllocate allocator size params = liftIO $ do-    maybeAllocator <- case allocator of-        Nothing -> return nullPtr-        Just jAllocator -> do-            jAllocator' <- unsafeManagedPtrCastPtr jAllocator-            return jAllocator'-    maybeParams <- case params of-        Nothing -> return nullPtr-        Just jParams -> do-            jParams' <- unsafeManagedPtrGetPtr jParams-            return jParams'-    result <- gst_buffer_new_allocate maybeAllocator size maybeParams-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Buffer) result'-        return result''-    whenJust allocator touchManagedPtr-    whenJust params touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Buffer::new_wrapped--- method type : Constructor--- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "data to wrap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "allocated size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "allocated size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_new_wrapped" gst_buffer_new_wrapped :: -    Ptr Word8 ->                            -- data : TCArray False (-1) 1 (TBasicType TUInt8)-    Word64 ->                               -- size : TBasicType TUInt64-    IO (Ptr Buffer)--{- |-Creates a new buffer that wraps the given /@data@/. The memory will be freed-with g_free and will be marked writable.--MT safe.--}-bufferNewWrapped ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@data@/: data to wrap -}-    -> m Buffer-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Buffer.Buffer' -}-bufferNewWrapped data_ = liftIO $ do-    let size = fromIntegral $ B.length data_-    data_' <- packByteString data_-    result <- gst_buffer_new_wrapped data_' size-    checkUnexpectedReturnNULL "bufferNewWrapped" result-    result' <- (wrapBoxed Buffer) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Buffer::new_wrapped_bytes--- method type : Constructor--- Args : [Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBytes to wrap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_new_wrapped_bytes" gst_buffer_new_wrapped_bytes :: -    Ptr GLib.Bytes.Bytes ->                 -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO (Ptr Buffer)--{- |-Creates a new 'GI.Gst.Structs.Buffer.Buffer' that wraps the given /@bytes@/. The data inside-/@bytes@/ cannot be 'Nothing' and the resulting buffer will be marked as read only.--MT safe.--/Since: 1.16/--}-bufferNewWrappedBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Bytes.Bytes-    {- ^ /@bytes@/: a 'GI.GLib.Structs.Bytes.Bytes' to wrap -}-    -> m Buffer-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Buffer.Buffer' wrapping /@bytes@/ -}-bufferNewWrappedBytes bytes = liftIO $ do-    bytes' <- unsafeManagedPtrGetPtr bytes-    result <- gst_buffer_new_wrapped_bytes bytes'-    checkUnexpectedReturnNULL "bufferNewWrappedBytes" result-    result' <- (wrapBoxed Buffer) result-    touchManagedPtr bytes-    return result'--#if ENABLE_OVERLOADING-#endif---- method Buffer::new_wrapped_full--- method type : Constructor--- Args : [Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "MemoryFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstMemoryFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "data to wrap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maxsize", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "allocated size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "offset in @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of valid data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "called with @user_data when the memory is freed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of valid data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_new_wrapped_full" gst_buffer_new_wrapped_full :: -    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "MemoryFlags"})-    Ptr Word8 ->                            -- data : TCArray False (-1) 4 (TBasicType TUInt8)-    Word64 ->                               -- maxsize : TBasicType TUInt64-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- size : TBasicType TUInt64-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO (Ptr Buffer)--{- |-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 /@userData@/.--The prefix\/padding must be filled with 0 if /@flags@/ contains-@/GST_MEMORY_FLAG_ZERO_PREFIXED/@ and @/GST_MEMORY_FLAG_ZERO_PADDED/@ respectively.--}-bufferNewWrappedFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Gst.Flags.MemoryFlags]-    {- ^ /@flags@/: 'GI.Gst.Flags.MemoryFlags' -}-    -> ByteString-    {- ^ /@data@/: data to wrap -}-    -> Word64-    {- ^ /@maxsize@/: allocated size of /@data@/ -}-    -> Word64-    {- ^ /@offset@/: offset in /@data@/ -}-    -> Maybe (GLib.Callbacks.DestroyNotify)-    {- ^ /@notify@/: called with /@userData@/ when the memory is freed -}-    -> m Buffer-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Buffer.Buffer' -}-bufferNewWrappedFull flags data_ maxsize offset notify = liftIO $ do-    let size = fromIntegral $ B.length data_-    let flags' = gflagsToWord flags-    data_' <- packByteString data_-    maybeNotify <- case notify of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jNotify -> do-            ptrnotify <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-            jNotify' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrnotify) jNotify)-            poke ptrnotify jNotify'-            return jNotify'-    let userData = nullPtr-    result <- gst_buffer_new_wrapped_full flags' data_' maxsize offset size userData maybeNotify-    checkUnexpectedReturnNULL "bufferNewWrappedFull" result-    result' <- (wrapBoxed Buffer) result-    freeMem data_'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Buffer::add_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MetaInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMetaInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "params for @info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Meta"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_add_meta" gst_buffer_add_meta :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.MetaInfo.MetaInfo ->            -- info : TInterface (Name {namespace = "Gst", name = "MetaInfo"})-    Ptr () ->                               -- params : TBasicType TPtr-    IO (Ptr Gst.Meta.Meta)--{- |-Add metadata for /@info@/ to /@buffer@/ using the parameters in /@params@/.--}-bufferAddMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Gst.MetaInfo.MetaInfo-    {- ^ /@info@/: a 'GI.Gst.Structs.MetaInfo.MetaInfo' -}-    -> Ptr ()-    {- ^ /@params@/: params for /@info@/ -}-    -> m (Maybe Gst.Meta.Meta)-    {- ^ __Returns:__ the metadata for the api in /@info@/ on /@buffer@/. -}-bufferAddMeta buffer info params = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    info' <- unsafeManagedPtrGetPtr info-    result <- gst_buffer_add_meta buffer' info' params-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newPtr Gst.Meta.Meta) result'-        return result''-    touchManagedPtr buffer-    touchManagedPtr info-    return maybeResult--#if ENABLE_OVERLOADING-data BufferAddMetaMethodInfo-instance (signature ~ (Gst.MetaInfo.MetaInfo -> Ptr () -> m (Maybe Gst.Meta.Meta)), MonadIO m) => O.MethodInfo BufferAddMetaMethodInfo Buffer signature where-    overloadedMethod _ = bufferAddMeta--#endif---- method Buffer::add_parent_buffer_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer to ref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ParentBufferMeta"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_add_parent_buffer_meta" gst_buffer_add_parent_buffer_meta :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Buffer ->                           -- ref : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO (Ptr Gst.ParentBufferMeta.ParentBufferMeta)--{- |-Add a 'GI.Gst.Structs.ParentBufferMeta.ParentBufferMeta' to /@buffer@/ that holds a reference on-/@ref@/ until the buffer is freed.--/Since: 1.6/--}-bufferAddParentBufferMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Buffer-    {- ^ /@ref@/: a 'GI.Gst.Structs.Buffer.Buffer' to ref -}-    -> m (Maybe Gst.ParentBufferMeta.ParentBufferMeta)-    {- ^ __Returns:__ The 'GI.Gst.Structs.ParentBufferMeta.ParentBufferMeta' that was added to the buffer -}-bufferAddParentBufferMeta buffer ref = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    ref' <- unsafeManagedPtrGetPtr ref-    result <- gst_buffer_add_parent_buffer_meta buffer' ref'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newPtr Gst.ParentBufferMeta.ParentBufferMeta) result'-        return result''-    touchManagedPtr buffer-    touchManagedPtr ref-    return maybeResult--#if ENABLE_OVERLOADING-data BufferAddParentBufferMetaMethodInfo-instance (signature ~ (Buffer -> m (Maybe Gst.ParentBufferMeta.ParentBufferMeta)), MonadIO m) => O.MethodInfo BufferAddParentBufferMetaMethodInfo Buffer signature where-    overloadedMethod _ = bufferAddParentBufferMeta--#endif---- method Buffer::add_protection_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBuffer holding an encrypted sample, to which protection\n    metadata should be added.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure holding cryptographic\n    information relating to the sample contained in @buffer. This\n    function takes ownership of @info.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ProtectionMeta"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_add_protection_meta" gst_buffer_add_protection_meta :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.Structure.Structure ->          -- info : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Gst.ProtectionMeta.ProtectionMeta)--{- |-Attaches protection metadata to a 'GI.Gst.Structs.Buffer.Buffer'.--/Since: 1.6/--}-bufferAddProtectionMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: 'GI.Gst.Structs.Buffer.Buffer' holding an encrypted sample, to which protection-    metadata should be added. -}-    -> Gst.Structure.Structure-    {- ^ /@info@/: a 'GI.Gst.Structs.Structure.Structure' holding cryptographic-    information relating to the sample contained in /@buffer@/. This-    function takes ownership of /@info@/. -}-    -> m Gst.ProtectionMeta.ProtectionMeta-    {- ^ __Returns:__ a pointer to the added 'GI.Gst.Structs.ProtectionMeta.ProtectionMeta' if successful; 'Nothing' if-unsuccessful. -}-bufferAddProtectionMeta buffer info = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    info' <- B.ManagedPtr.disownBoxed info-    result <- gst_buffer_add_protection_meta buffer' info'-    checkUnexpectedReturnNULL "bufferAddProtectionMeta" result-    result' <- (newPtr Gst.ProtectionMeta.ProtectionMeta) result-    touchManagedPtr buffer-    touchManagedPtr info-    return result'--#if ENABLE_OVERLOADING-data BufferAddProtectionMetaMethodInfo-instance (signature ~ (Gst.Structure.Structure -> m Gst.ProtectionMeta.ProtectionMeta), MonadIO m) => O.MethodInfo BufferAddProtectionMetaMethodInfo Buffer signature where-    overloadedMethod _ = bufferAddProtectionMeta--#endif---- method Buffer::add_reference_timestamp_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reference", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "identifier for the timestamp reference.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "duration, or %GST_CLOCK_TIME_NONE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ReferenceTimestampMeta"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_add_reference_timestamp_meta" gst_buffer_add_reference_timestamp_meta :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.Caps.Caps ->                    -- reference : TInterface (Name {namespace = "Gst", name = "Caps"})-    Word64 ->                               -- timestamp : TBasicType TUInt64-    Word64 ->                               -- duration : TBasicType TUInt64-    IO (Ptr Gst.ReferenceTimestampMeta.ReferenceTimestampMeta)--{- |-Add a 'GI.Gst.Structs.ReferenceTimestampMeta.ReferenceTimestampMeta' to /@buffer@/ that holds a /@timestamp@/ and-optionally /@duration@/ based on a specific timestamp /@reference@/. See the-documentation of 'GI.Gst.Structs.ReferenceTimestampMeta.ReferenceTimestampMeta' for details.--/Since: 1.14/--}-bufferAddReferenceTimestampMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Gst.Caps.Caps-    {- ^ /@reference@/: identifier for the timestamp reference. -}-    -> Word64-    {- ^ /@timestamp@/: timestamp -}-    -> Word64-    {- ^ /@duration@/: duration, or 'GI.Gst.Constants.CLOCK_TIME_NONE' -}-    -> m (Maybe Gst.ReferenceTimestampMeta.ReferenceTimestampMeta)-    {- ^ __Returns:__ The 'GI.Gst.Structs.ReferenceTimestampMeta.ReferenceTimestampMeta' that was added to the buffer -}-bufferAddReferenceTimestampMeta buffer reference timestamp duration = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    reference' <- unsafeManagedPtrGetPtr reference-    result <- gst_buffer_add_reference_timestamp_meta buffer' reference' timestamp duration-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newPtr Gst.ReferenceTimestampMeta.ReferenceTimestampMeta) result'-        return result''-    touchManagedPtr buffer-    touchManagedPtr reference-    return maybeResult--#if ENABLE_OVERLOADING-data BufferAddReferenceTimestampMetaMethodInfo-instance (signature ~ (Gst.Caps.Caps -> Word64 -> Word64 -> m (Maybe Gst.ReferenceTimestampMeta.ReferenceTimestampMeta)), MonadIO m) => O.MethodInfo BufferAddReferenceTimestampMetaMethodInfo Buffer signature where-    overloadedMethod _ = bufferAddReferenceTimestampMeta--#endif---- method Buffer::append--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buf1", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first source #GstBuffer to append.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "buf2", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second source #GstBuffer to append.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_append" gst_buffer_append :: -    Ptr Buffer ->                           -- buf1 : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Buffer ->                           -- buf2 : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO (Ptr Buffer)--{- |-Append all the memory from /@buf2@/ to /@buf1@/. The result buffer will contain a-concatenation of the memory of /@buf1@/ and /@buf2@/.--}-bufferAppend ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buf1@/: the first source 'GI.Gst.Structs.Buffer.Buffer' to append. -}-    -> Buffer-    {- ^ /@buf2@/: the second source 'GI.Gst.Structs.Buffer.Buffer' to append. -}-    -> m Buffer-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Buffer.Buffer' that contains the memory-    of the two source buffers. -}-bufferAppend buf1 buf2 = liftIO $ do-    buf1' <- B.ManagedPtr.disownBoxed buf1-    buf2' <- B.ManagedPtr.disownBoxed buf2-    result <- gst_buffer_append buf1' buf2'-    checkUnexpectedReturnNULL "bufferAppend" result-    result' <- (wrapBoxed Buffer) result-    touchManagedPtr buf1-    touchManagedPtr buf2-    return result'--#if ENABLE_OVERLOADING-data BufferAppendMethodInfo-instance (signature ~ (Buffer -> m Buffer), MonadIO m) => O.MethodInfo BufferAppendMethodInfo Buffer signature where-    overloadedMethod _ = bufferAppend--#endif---- method Buffer::append_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_append_memory" gst_buffer_append_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.Memory.Memory ->                -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    IO ()--{- |-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 'GI.Gst.Structs.Buffer.bufferInsertMemory' with an index of -1.-See 'GI.Gst.Structs.Buffer.bufferInsertMemory' for more details.--}-bufferAppendMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory'. -}-    -> m ()-bufferAppendMemory buffer mem = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    mem' <- B.ManagedPtr.disownBoxed mem-    gst_buffer_append_memory buffer' mem'-    touchManagedPtr buffer-    touchManagedPtr mem-    return ()--#if ENABLE_OVERLOADING-data BufferAppendMemoryMethodInfo-instance (signature ~ (Gst.Memory.Memory -> m ()), MonadIO m) => O.MethodInfo BufferAppendMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferAppendMemory--#endif---- method Buffer::append_region--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buf1", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first source #GstBuffer to append.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "buf2", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second source #GstBuffer to append.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset in @buf2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size or -1 of @buf2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_append_region" gst_buffer_append_region :: -    Ptr Buffer ->                           -- buf1 : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Buffer ->                           -- buf2 : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Int64 ->                                -- offset : TBasicType TInt64-    Int64 ->                                -- size : TBasicType TInt64-    IO (Ptr Buffer)--{- |-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@/.--}-bufferAppendRegion ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buf1@/: the first source 'GI.Gst.Structs.Buffer.Buffer' to append. -}-    -> Buffer-    {- ^ /@buf2@/: the second source 'GI.Gst.Structs.Buffer.Buffer' to append. -}-    -> Int64-    {- ^ /@offset@/: the offset in /@buf2@/ -}-    -> Int64-    {- ^ /@size@/: the size or -1 of /@buf2@/ -}-    -> m Buffer-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Buffer.Buffer' that contains the memory-    of the two source buffers. -}-bufferAppendRegion buf1 buf2 offset size = liftIO $ do-    buf1' <- B.ManagedPtr.disownBoxed buf1-    buf2' <- B.ManagedPtr.disownBoxed buf2-    result <- gst_buffer_append_region buf1' buf2' offset size-    checkUnexpectedReturnNULL "bufferAppendRegion" result-    result' <- (wrapBoxed Buffer) result-    touchManagedPtr buf1-    touchManagedPtr buf2-    return result'--#if ENABLE_OVERLOADING-data BufferAppendRegionMethodInfo-instance (signature ~ (Buffer -> Int64 -> Int64 -> m Buffer), MonadIO m) => O.MethodInfo BufferAppendRegionMethodInfo Buffer signature where-    overloadedMethod _ = bufferAppendRegion--#endif---- method Buffer::copy_deep--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buf", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_copy_deep" gst_buffer_copy_deep :: -    Ptr Buffer ->                           -- buf : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO (Ptr Buffer)--{- |-Create a copy of the given buffer. This will make a newly allocated-copy of the data the source buffer contains.--/Since: 1.6/--}-bufferCopyDeep ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buf@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> m Buffer-    {- ^ __Returns:__ a new copy of /@buf@/. -}-bufferCopyDeep buf = liftIO $ do-    buf' <- unsafeManagedPtrGetPtr buf-    result <- gst_buffer_copy_deep buf'-    checkUnexpectedReturnNULL "bufferCopyDeep" result-    result' <- (wrapBoxed Buffer) result-    touchManagedPtr buf-    return result'--#if ENABLE_OVERLOADING-data BufferCopyDeepMethodInfo-instance (signature ~ (m Buffer), MonadIO m) => O.MethodInfo BufferCopyDeepMethodInfo Buffer signature where-    overloadedMethod _ = bufferCopyDeep--#endif---- method Buffer::copy_into--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a destination #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a source #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "BufferCopyFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags indicating what metadata fields should be copied.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "offset to copy from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "total size to copy. If -1, all data is copied.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_copy_into" gst_buffer_copy_into :: -    Ptr Buffer ->                           -- dest : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Buffer ->                           -- src : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "BufferCopyFlags"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- size : TBasicType TUInt64-    IO CInt--{- |-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.--}-bufferCopyInto ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@dest@/: a destination 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Buffer-    {- ^ /@src@/: a source 'GI.Gst.Structs.Buffer.Buffer' -}-    -> [Gst.Flags.BufferCopyFlags]-    {- ^ /@flags@/: flags indicating what metadata fields should be copied. -}-    -> Word64-    {- ^ /@offset@/: offset to copy from -}-    -> Word64-    {- ^ /@size@/: total size to copy. If -1, all data is copied. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the copying succeeded, 'False' otherwise. -}-bufferCopyInto dest src flags offset size = liftIO $ do-    dest' <- unsafeManagedPtrGetPtr dest-    src' <- unsafeManagedPtrGetPtr src-    let flags' = gflagsToWord flags-    result <- gst_buffer_copy_into dest' src' flags' offset size-    let result' = (/= 0) result-    touchManagedPtr dest-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-data BufferCopyIntoMethodInfo-instance (signature ~ (Buffer -> [Gst.Flags.BufferCopyFlags] -> Word64 -> Word64 -> m Bool), MonadIO m) => O.MethodInfo BufferCopyIntoMethodInfo Buffer signature where-    overloadedMethod _ = bufferCopyInto--#endif---- method Buffer::copy_region--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "BufferCopyFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBufferCopyFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset into parent #GstBuffer at which the new sub-buffer\n         begins.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the new #GstBuffer sub-buffer, in bytes. If -1, all\n       data is copied.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_copy_region" gst_buffer_copy_region :: -    Ptr Buffer ->                           -- parent : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "BufferCopyFlags"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- size : TBasicType TUInt64-    IO (Ptr Buffer)--{- |-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 'GI.Gst.Constants.CLOCK_TIME_NONE' and-'GI.Gst.Constants.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 'GI.Gst.Constants.CLOCK_TIME_NONE' and 'GI.Gst.Constants.BUFFER_OFFSET_NONE'.--MT safe.--}-bufferCopyRegion ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@parent@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> [Gst.Flags.BufferCopyFlags]-    {- ^ /@flags@/: the 'GI.Gst.Flags.BufferCopyFlags' -}-    -> Word64-    {- ^ /@offset@/: the offset into parent 'GI.Gst.Structs.Buffer.Buffer' at which the new sub-buffer-         begins. -}-    -> Word64-    {- ^ /@size@/: the size of the new 'GI.Gst.Structs.Buffer.Buffer' sub-buffer, in bytes. If -1, all-       data is copied. -}-    -> m Buffer-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Buffer.Buffer' or 'Nothing' if the arguments were-    invalid. -}-bufferCopyRegion parent flags offset size = liftIO $ do-    parent' <- unsafeManagedPtrGetPtr parent-    let flags' = gflagsToWord flags-    result <- gst_buffer_copy_region parent' flags' offset size-    checkUnexpectedReturnNULL "bufferCopyRegion" result-    result' <- (wrapBoxed Buffer) result-    touchManagedPtr parent-    return result'--#if ENABLE_OVERLOADING-data BufferCopyRegionMethodInfo-instance (signature ~ ([Gst.Flags.BufferCopyFlags] -> Word64 -> Word64 -> m Buffer), MonadIO m) => O.MethodInfo BufferCopyRegionMethodInfo Buffer signature where-    overloadedMethod _ = bufferCopyRegion--#endif---- method Buffer::extract--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset to extract", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n    the destination address", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size to extract", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size to extract", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_extract" gst_buffer_extract :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Ptr Word8 ->                            -- dest : TCArray False (-1) 3 (TBasicType TUInt8)-    Word64 ->                               -- size : TBasicType TUInt64-    IO Word64--{- |-Copy /@size@/ bytes starting from /@offset@/ in /@buffer@/ to /@dest@/.--}-bufferExtract ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word64-    {- ^ /@offset@/: the offset to extract -}-    -> Maybe (ByteString)-    {- ^ /@dest@/: -    the destination address -}-    -> m ((Word64, Maybe ByteString))-    {- ^ __Returns:__ The amount of bytes extracted. This value can be lower than /@size@/-   when /@buffer@/ did not contain enough data. -}-bufferExtract buffer offset dest = liftIO $ do-    let size = case dest of-            Nothing -> 0-            Just jDest -> fromIntegral $ B.length jDest-    buffer' <- unsafeManagedPtrGetPtr buffer-    maybeDest <- case dest of-        Nothing -> return nullPtr-        Just jDest -> do-            jDest' <- packByteString jDest-            return jDest'-    result <- gst_buffer_extract buffer' offset maybeDest size-    maybeMaybeDest <- convertIfNonNull maybeDest $ \maybeDest' -> do-        maybeDest'' <- (unpackByteStringWithLength size) maybeDest'-        return maybeDest''-    touchManagedPtr buffer-    return (result, maybeMaybeDest)--#if ENABLE_OVERLOADING-data BufferExtractMethodInfo-instance (signature ~ (Word64 -> Maybe (ByteString) -> m ((Word64, Maybe ByteString))), MonadIO m) => O.MethodInfo BufferExtractMethodInfo Buffer signature where-    overloadedMethod _ = bufferExtract--#endif---- method Buffer::extract_dup--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset to extract", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size to extract", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer where\n the destination array will be written. Might be %NULL if the size is 0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "dest_size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location where the size of @dest can be written", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "dest_size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location where the size of @dest can be written", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_extract_dup" gst_buffer_extract_dup :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- size : TBasicType TUInt64-    Ptr (Ptr Word8) ->                      -- dest : TCArray False (-1) 4 (TBasicType TUInt8)-    Ptr Word64 ->                           -- dest_size : TBasicType TUInt64-    IO ()--{- |-Extracts a copy of at most /@size@/ bytes the data at /@offset@/ into-newly-allocated memory. /@dest@/ must be freed using 'GI.GLib.Functions.free' when done.--/Since: 1.0.10/--}-bufferExtractDup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Word64-    {- ^ /@offset@/: the offset to extract -}-    -> Word64-    {- ^ /@size@/: the size to extract -}-    -> m (ByteString)-bufferExtractDup buffer offset size = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    dest <- allocMem :: IO (Ptr (Ptr Word8))-    destSize <- allocMem :: IO (Ptr Word64)-    gst_buffer_extract_dup buffer' offset size dest destSize-    destSize' <- peek destSize-    dest' <- peek dest-    dest'' <- (unpackByteStringWithLength destSize') dest'-    freeMem dest'-    touchManagedPtr buffer-    freeMem dest-    freeMem destSize-    return dest''--#if ENABLE_OVERLOADING-data BufferExtractDupMethodInfo-instance (signature ~ (Word64 -> Word64 -> m (ByteString)), MonadIO m) => O.MethodInfo BufferExtractDupMethodInfo Buffer signature where-    overloadedMethod _ = bufferExtractDup--#endif---- method Buffer::fill--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset to fill", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source address", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size to fill", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size to fill", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_fill" gst_buffer_fill :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Ptr Word8 ->                            -- src : TCArray False (-1) 3 (TBasicType TUInt8)-    Word64 ->                               -- size : TBasicType TUInt64-    IO Word64--{- |-Copy /@size@/ bytes from /@src@/ to /@buffer@/ at /@offset@/.--}-bufferFill ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word64-    {- ^ /@offset@/: the offset to fill -}-    -> ByteString-    {- ^ /@src@/: the source address -}-    -> m Word64-    {- ^ __Returns:__ The amount of bytes copied. This value can be lower than /@size@/-   when /@buffer@/ did not contain enough data. -}-bufferFill buffer offset src = liftIO $ do-    let size = fromIntegral $ B.length src-    buffer' <- unsafeManagedPtrGetPtr buffer-    src' <- packByteString src-    result <- gst_buffer_fill buffer' offset src' size-    touchManagedPtr buffer-    freeMem src'-    return result--#if ENABLE_OVERLOADING-data BufferFillMethodInfo-instance (signature ~ (Word64 -> ByteString -> m Word64), MonadIO m) => O.MethodInfo BufferFillMethodInfo Buffer signature where-    overloadedMethod _ = bufferFill--#endif---- method Buffer::find_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "length", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to length", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "skip", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to skip", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_find_memory" gst_buffer_find_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- size : TBasicType TUInt64-    Ptr Word32 ->                           -- idx : TBasicType TUInt-    Ptr Word32 ->                           -- length : TBasicType TUInt-    Ptr Word64 ->                           -- skip : TBasicType TUInt64-    IO CInt--{- |-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@/.--}-bufferFindMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word64-    {- ^ /@offset@/: an offset -}-    -> Word64-    {- ^ /@size@/: a size -}-    -> m ((Bool, Word32, Word32, Word64))-    {- ^ __Returns:__ 'True' when /@size@/ bytes starting from /@offset@/ could be found in-/@buffer@/ and /@idx@/, /@length@/ and /@skip@/ will be filled. -}-bufferFindMemory buffer offset size = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    idx <- allocMem :: IO (Ptr Word32)-    length_ <- allocMem :: IO (Ptr Word32)-    skip <- allocMem :: IO (Ptr Word64)-    result <- gst_buffer_find_memory buffer' offset size idx length_ skip-    let result' = (/= 0) result-    idx' <- peek idx-    length_' <- peek length_-    skip' <- peek skip-    touchManagedPtr buffer-    freeMem idx-    freeMem length_-    freeMem skip-    return (result', idx', length_', skip')--#if ENABLE_OVERLOADING-data BufferFindMemoryMethodInfo-instance (signature ~ (Word64 -> Word64 -> m ((Bool, Word32, Word32, Word64))), MonadIO m) => O.MethodInfo BufferFindMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferFindMemory--#endif---- method Buffer::foreach_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "BufferForeachMetaFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferForeachMetaFunc to call", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_foreach_meta" gst_buffer_foreach_meta :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    FunPtr Gst.Callbacks.C_BufferForeachMetaFunc -> -- func : TInterface (Name {namespace = "Gst", name = "BufferForeachMetaFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Call /@func@/ with /@userData@/ 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.--}-bufferForeachMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Gst.Callbacks.BufferForeachMetaFunc-    {- ^ /@func@/: a 'GI.Gst.Callbacks.BufferForeachMetaFunc' to call -}-    -> m Bool-    {- ^ __Returns:__ 'False' when /@func@/ returned 'False' for one of the metadata. -}-bufferForeachMeta buffer func = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    func' <- Gst.Callbacks.mk_BufferForeachMetaFunc (Gst.Callbacks.wrap_BufferForeachMetaFunc Nothing (Gst.Callbacks.drop_closures_BufferForeachMetaFunc func))-    let userData = nullPtr-    result <- gst_buffer_foreach_meta buffer' func' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data BufferForeachMetaMethodInfo-instance (signature ~ (Gst.Callbacks.BufferForeachMetaFunc -> m Bool), MonadIO m) => O.MethodInfo BufferForeachMetaMethodInfo Buffer signature where-    overloadedMethod _ = bufferForeachMeta--#endif---- method Buffer::get_all_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_all_memory" gst_buffer_get_all_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO (Ptr Gst.Memory.Memory)--{- |-Get all the memory block in /@buffer@/. The memory blocks will be merged-into one large 'GI.Gst.Structs.Memory.Memory'.--}-bufferGetAllMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> m (Maybe Gst.Memory.Memory)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Memory.Memory' that contains the merged memory.-Use gst_memory_unref () after usage. -}-bufferGetAllMemory buffer = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_get_all_memory buffer'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Memory.Memory) result'-        return result''-    touchManagedPtr buffer-    return maybeResult--#if ENABLE_OVERLOADING-data BufferGetAllMemoryMethodInfo-instance (signature ~ (m (Maybe Gst.Memory.Memory)), MonadIO m) => O.MethodInfo BufferGetAllMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetAllMemory--#endif---- method Buffer::get_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferFlags"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_flags" gst_buffer_get_flags :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO CUInt--{- |-Get the 'GI.Gst.Flags.BufferFlags' flags set on this buffer.--/Since: 1.10/--}-bufferGetFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> m [Gst.Flags.BufferFlags]-    {- ^ __Returns:__ the flags set on this buffer. -}-bufferGetFlags buffer = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_get_flags buffer'-    let result' = wordToGFlags result-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data BufferGetFlagsMethodInfo-instance (signature ~ (m [Gst.Flags.BufferFlags]), MonadIO m) => O.MethodInfo BufferGetFlagsMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetFlags--#endif---- method Buffer::get_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_memory" gst_buffer_get_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    IO (Ptr Gst.Memory.Memory)--{- |-Get the memory block at index /@idx@/ in /@buffer@/.--}-bufferGetMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> m (Maybe Gst.Memory.Memory)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Memory.Memory' that contains the data of the-memory block at /@idx@/. Use gst_memory_unref () after usage. -}-bufferGetMemory buffer idx = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_get_memory buffer' idx-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Memory.Memory) result'-        return result''-    touchManagedPtr buffer-    return maybeResult--#if ENABLE_OVERLOADING-data BufferGetMemoryMethodInfo-instance (signature ~ (Word32 -> m (Maybe Gst.Memory.Memory)), MonadIO m) => O.MethodInfo BufferGetMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetMemory--#endif---- method Buffer::get_memory_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a length", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_memory_range" gst_buffer_get_memory_range :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    Int32 ->                                -- length : TBasicType TInt-    IO (Ptr Gst.Memory.Memory)--{- |-Get /@length@/ memory blocks in /@buffer@/ starting at /@idx@/. The memory blocks will-be merged into one large 'GI.Gst.Structs.Memory.Memory'.--If /@length@/ is -1, all memory starting from /@idx@/ is merged.--}-bufferGetMemoryRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> Int32-    {- ^ /@length@/: a length -}-    -> m (Maybe Gst.Memory.Memory)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Memory.Memory' that contains the merged data of /@length@/-   blocks starting at /@idx@/. Use gst_memory_unref () after usage. -}-bufferGetMemoryRange buffer idx length_ = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_get_memory_range buffer' idx length_-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Memory.Memory) result'-        return result''-    touchManagedPtr buffer-    return maybeResult--#if ENABLE_OVERLOADING-data BufferGetMemoryRangeMethodInfo-instance (signature ~ (Word32 -> Int32 -> m (Maybe Gst.Memory.Memory)), MonadIO m) => O.MethodInfo BufferGetMemoryRangeMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetMemoryRange--#endif---- method Buffer::get_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "api", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of an API", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Meta"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_meta" gst_buffer_get_meta :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CGType ->                               -- api : TBasicType TGType-    IO (Ptr Gst.Meta.Meta)--{- |-Get the metadata for /@api@/ on buffer. When there is no such metadata, 'Nothing' 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 'GI.Gst.Structs.Buffer.bufferForeachMeta' instead-and check the meta->info.api member for the API type.--}-bufferGetMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> GType-    {- ^ /@api@/: the 'GType' of an API -}-    -> m (Maybe Gst.Meta.Meta)-    {- ^ __Returns:__ the metadata for /@api@/ on-/@buffer@/. -}-bufferGetMeta buffer api = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    let api' = gtypeToCGType api-    result <- gst_buffer_get_meta buffer' api'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newPtr Gst.Meta.Meta) result'-        return result''-    touchManagedPtr buffer-    return maybeResult--#if ENABLE_OVERLOADING-data BufferGetMetaMethodInfo-instance (signature ~ (GType -> m (Maybe Gst.Meta.Meta)), MonadIO m) => O.MethodInfo BufferGetMetaMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetMeta--#endif---- method Buffer::get_n_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "api_type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GType of an API", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_n_meta" gst_buffer_get_n_meta :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CGType ->                               -- api_type : TBasicType TGType-    IO Word32--{- |-/No description available in the introspection data./--/Since: 1.14/--}-bufferGetNMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> GType-    {- ^ /@apiType@/: the 'GType' of an API -}-    -> m Word32-    {- ^ __Returns:__ number of metas of type /@apiType@/ on /@buffer@/. -}-bufferGetNMeta buffer apiType = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    let apiType' = gtypeToCGType apiType-    result <- gst_buffer_get_n_meta buffer' apiType'-    touchManagedPtr buffer-    return result--#if ENABLE_OVERLOADING-data BufferGetNMetaMethodInfo-instance (signature ~ (GType -> m Word32), MonadIO m) => O.MethodInfo BufferGetNMetaMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetNMeta--#endif---- method Buffer::get_reference_timestamp_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reference", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a reference #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ReferenceTimestampMeta"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_reference_timestamp_meta" gst_buffer_get_reference_timestamp_meta :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.Caps.Caps ->                    -- reference : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Gst.ReferenceTimestampMeta.ReferenceTimestampMeta)--{- |-Find the first 'GI.Gst.Structs.ReferenceTimestampMeta.ReferenceTimestampMeta' 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 'GI.Gst.Structs.ReferenceTimestampMeta.ReferenceTimestampMeta' metadata items.--/Since: 1.14/--}-bufferGetReferenceTimestampMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@reference@/: a reference 'GI.Gst.Structs.Caps.Caps' -}-    -> m (Maybe Gst.ReferenceTimestampMeta.ReferenceTimestampMeta)-    {- ^ __Returns:__ the 'GI.Gst.Structs.ReferenceTimestampMeta.ReferenceTimestampMeta' or 'Nothing' when there-is no such metadata on /@buffer@/. -}-bufferGetReferenceTimestampMeta buffer reference = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    maybeReference <- case reference of-        Nothing -> return nullPtr-        Just jReference -> do-            jReference' <- unsafeManagedPtrGetPtr jReference-            return jReference'-    result <- gst_buffer_get_reference_timestamp_meta buffer' maybeReference-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newPtr Gst.ReferenceTimestampMeta.ReferenceTimestampMeta) result'-        return result''-    touchManagedPtr buffer-    whenJust reference touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-data BufferGetReferenceTimestampMetaMethodInfo-instance (signature ~ (Maybe (Gst.Caps.Caps) -> m (Maybe Gst.ReferenceTimestampMeta.ReferenceTimestampMeta)), MonadIO m) => O.MethodInfo BufferGetReferenceTimestampMetaMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetReferenceTimestampMeta--#endif---- method Buffer::get_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_size" gst_buffer_get_size :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO Word64--{- |-Get the total size of the memory blocks in /@buffer@/.--}-bufferGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> m Word64-    {- ^ __Returns:__ total size of the memory blocks in /@buffer@/. -}-bufferGetSize buffer = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_get_size buffer'-    touchManagedPtr buffer-    return result--#if ENABLE_OVERLOADING-data BufferGetSizeMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo BufferGetSizeMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetSize--#endif---- method Buffer::get_sizes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "maxsize", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the maxsize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_sizes" gst_buffer_get_sizes :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Word64 ->                           -- offset : TBasicType TUInt64-    Ptr Word64 ->                           -- maxsize : TBasicType TUInt64-    IO Word64--{- |-Get the total size of the memory blocks in /@b@/.--When not 'Nothing', /@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 'GI.Gst.Structs.Buffer.bufferResize'.--}-bufferGetSizes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> m ((Word64, Word64, Word64))-    {- ^ __Returns:__ total size of the memory blocks in /@buffer@/. -}-bufferGetSizes buffer = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    offset <- allocMem :: IO (Ptr Word64)-    maxsize <- allocMem :: IO (Ptr Word64)-    result <- gst_buffer_get_sizes buffer' offset maxsize-    offset' <- peek offset-    maxsize' <- peek maxsize-    touchManagedPtr buffer-    freeMem offset-    freeMem maxsize-    return (result, offset', maxsize')--#if ENABLE_OVERLOADING-data BufferGetSizesMethodInfo-instance (signature ~ (m ((Word64, Word64, Word64))), MonadIO m) => O.MethodInfo BufferGetSizesMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetSizes--#endif---- method Buffer::get_sizes_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a length", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "maxsize", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the maxsize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_sizes_range" gst_buffer_get_sizes_range :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    Int32 ->                                -- length : TBasicType TInt-    Ptr Word64 ->                           -- offset : TBasicType TUInt64-    Ptr Word64 ->                           -- maxsize : TBasicType TUInt64-    IO Word64--{- |-Get the total size of /@length@/ memory blocks stating from /@idx@/ in /@buffer@/.--When not 'Nothing', /@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-'GI.Gst.Structs.Buffer.bufferResizeRange'.--}-bufferGetSizesRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> Int32-    {- ^ /@length@/: a length -}-    -> m ((Word64, Word64, Word64))-    {- ^ __Returns:__ total size of /@length@/ memory blocks starting at /@idx@/ in /@buffer@/. -}-bufferGetSizesRange buffer idx length_ = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    offset <- allocMem :: IO (Ptr Word64)-    maxsize <- allocMem :: IO (Ptr Word64)-    result <- gst_buffer_get_sizes_range buffer' idx length_ offset maxsize-    offset' <- peek offset-    maxsize' <- peek maxsize-    touchManagedPtr buffer-    freeMem offset-    freeMem maxsize-    return (result, offset', maxsize')--#if ENABLE_OVERLOADING-data BufferGetSizesRangeMethodInfo-instance (signature ~ (Word32 -> Int32 -> m ((Word64, Word64, Word64))), MonadIO m) => O.MethodInfo BufferGetSizesRangeMethodInfo Buffer signature where-    overloadedMethod _ = bufferGetSizesRange--#endif---- method Buffer::has_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "BufferFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_has_flags" gst_buffer_has_flags :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "BufferFlags"})-    IO CInt--{- |-/No description available in the introspection data./--}-bufferHasFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    -> [Gst.Flags.BufferFlags]-    -> m Bool-bufferHasFlags buffer flags = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    let flags' = gflagsToWord flags-    result <- gst_buffer_has_flags buffer' flags'-    let result' = (/= 0) result-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data BufferHasFlagsMethodInfo-instance (signature ~ ([Gst.Flags.BufferFlags] -> m Bool), MonadIO m) => O.MethodInfo BufferHasFlagsMethodInfo Buffer signature where-    overloadedMethod _ = bufferHasFlags--#endif---- method Buffer::insert_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index to add the memory at, or -1 to append it to the end", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_insert_memory" gst_buffer_insert_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Int32 ->                                -- idx : TBasicType TInt-    Ptr Gst.Memory.Memory ->                -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    IO ()--{- |-Insert the memory block /@mem@/ to /@buffer@/ at /@idx@/. This function takes ownership-of /@mem@/ and thus doesn\'t increase its refcount.--Only 'GI.Gst.Functions.bufferGetMaxMemory' 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.--}-bufferInsertMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Int32-    {- ^ /@idx@/: the index to add the memory at, or -1 to append it to the end -}-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory'. -}-    -> m ()-bufferInsertMemory buffer idx mem = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    mem' <- B.ManagedPtr.disownBoxed mem-    gst_buffer_insert_memory buffer' idx mem'-    touchManagedPtr buffer-    touchManagedPtr mem-    return ()--#if ENABLE_OVERLOADING-data BufferInsertMemoryMethodInfo-instance (signature ~ (Int32 -> Gst.Memory.Memory -> m ()), MonadIO m) => O.MethodInfo BufferInsertMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferInsertMemory--#endif---- method Buffer::is_all_memory_writable--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_is_all_memory_writable" gst_buffer_is_all_memory_writable :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO CInt--{- |-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.--/Since: 1.4/--}-bufferIsAllMemoryWritable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if all memory blocks in /@buffer@/ are writable -}-bufferIsAllMemoryWritable buffer = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_is_all_memory_writable buffer'-    let result' = (/= 0) result-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data BufferIsAllMemoryWritableMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo BufferIsAllMemoryWritableMethodInfo Buffer signature where-    overloadedMethod _ = bufferIsAllMemoryWritable--#endif---- method Buffer::is_memory_range_writable--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a length should not be 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_is_memory_range_writable" gst_buffer_is_memory_range_writable :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    Int32 ->                                -- length : TBasicType TInt-    IO CInt--{- |-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.--/Since: 1.4/--}-bufferIsMemoryRangeWritable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> Int32-    {- ^ /@length@/: a length should not be 0 -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the memory range is writable -}-bufferIsMemoryRangeWritable buffer idx length_ = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_is_memory_range_writable buffer' idx length_-    let result' = (/= 0) result-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data BufferIsMemoryRangeWritableMethodInfo-instance (signature ~ (Word32 -> Int32 -> m Bool), MonadIO m) => O.MethodInfo BufferIsMemoryRangeWritableMethodInfo Buffer signature where-    overloadedMethod _ = bufferIsMemoryRangeWritable--#endif---- method Buffer::map--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "info about the mapping", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "MapFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the mapping", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_map" gst_buffer_map :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.MapInfo.MapInfo ->              -- info : TInterface (Name {namespace = "Gst", name = "MapInfo"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "MapFlags"})-    IO CInt--{- |-This function fills /@info@/ with the 'GI.Gst.Structs.MapInfo.MapInfo' 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 'GI.Gst.Structs.Buffer.bufferUnmap' after-usage.--}-bufferMap ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> [Gst.Flags.MapFlags]-    {- ^ /@flags@/: flags for the mapping -}-    -> m ((Bool, Gst.MapInfo.MapInfo))-    {- ^ __Returns:__ 'True' if the map succeeded and /@info@/ contains valid data. -}-bufferMap buffer flags = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    info <- callocBytes 104 :: IO (Ptr Gst.MapInfo.MapInfo)-    let flags' = gflagsToWord flags-    result <- gst_buffer_map buffer' info flags'-    let result' = (/= 0) result-    info' <- (wrapPtr Gst.MapInfo.MapInfo) info-    touchManagedPtr buffer-    return (result', info')--#if ENABLE_OVERLOADING-data BufferMapMethodInfo-instance (signature ~ ([Gst.Flags.MapFlags] -> m ((Bool, Gst.MapInfo.MapInfo))), MonadIO m) => O.MethodInfo BufferMapMethodInfo Buffer signature where-    overloadedMethod _ = bufferMap--#endif---- method Buffer::map_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a length", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "info about the mapping", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "MapFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags for the mapping", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_map_range" gst_buffer_map_range :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    Int32 ->                                -- length : TBasicType TInt-    Ptr Gst.MapInfo.MapInfo ->              -- info : TInterface (Name {namespace = "Gst", name = "MapInfo"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "MapFlags"})-    IO CInt--{- |-This function fills /@info@/ with the 'GI.Gst.Structs.MapInfo.MapInfo' 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 'GI.Gst.Structs.Buffer.bufferUnmap' after usage.--}-bufferMapRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> Int32-    {- ^ /@length@/: a length -}-    -> [Gst.Flags.MapFlags]-    {- ^ /@flags@/: flags for the mapping -}-    -> m ((Bool, Gst.MapInfo.MapInfo))-    {- ^ __Returns:__ 'True' if the map succeeded and /@info@/ contains valid-data. -}-bufferMapRange buffer idx length_ flags = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    info <- callocBytes 104 :: IO (Ptr Gst.MapInfo.MapInfo)-    let flags' = gflagsToWord flags-    result <- gst_buffer_map_range buffer' idx length_ info flags'-    let result' = (/= 0) result-    info' <- (wrapPtr Gst.MapInfo.MapInfo) info-    touchManagedPtr buffer-    return (result', info')--#if ENABLE_OVERLOADING-data BufferMapRangeMethodInfo-instance (signature ~ (Word32 -> Int32 -> [Gst.Flags.MapFlags] -> m ((Bool, Gst.MapInfo.MapInfo))), MonadIO m) => O.MethodInfo BufferMapRangeMethodInfo Buffer signature where-    overloadedMethod _ = bufferMapRange--#endif---- method Buffer::memcmp--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem", argType = TCArray False (-1) 3 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the memory to compare", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size to compare", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size to compare", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_memcmp" gst_buffer_memcmp :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Ptr Word8 ->                            -- mem : TCArray False (-1) 3 (TBasicType TUInt8)-    Word64 ->                               -- size : TBasicType TUInt64-    IO Int32--{- |-Compare /@size@/ bytes starting from /@offset@/ in /@buffer@/ with the memory in /@mem@/.--}-bufferMemcmp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word64-    {- ^ /@offset@/: the offset in /@buffer@/ -}-    -> ByteString-    {- ^ /@mem@/: the memory to compare -}-    -> m Int32-    {- ^ __Returns:__ 0 if the memory is equal. -}-bufferMemcmp buffer offset mem = liftIO $ do-    let size = fromIntegral $ B.length mem-    buffer' <- unsafeManagedPtrGetPtr buffer-    mem' <- packByteString mem-    result <- gst_buffer_memcmp buffer' offset mem' size-    touchManagedPtr buffer-    freeMem mem'-    return result--#if ENABLE_OVERLOADING-data BufferMemcmpMethodInfo-instance (signature ~ (Word64 -> ByteString -> m Int32), MonadIO m) => O.MethodInfo BufferMemcmpMethodInfo Buffer signature where-    overloadedMethod _ = bufferMemcmp--#endif---- method Buffer::memset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset in @buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_memset" gst_buffer_memset :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word8 ->                                -- val : TBasicType TUInt8-    Word64 ->                               -- size : TBasicType TUInt64-    IO Word64--{- |-Fill /@buf@/ with /@size@/ bytes with /@val@/ starting from /@offset@/.--}-bufferMemset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word64-    {- ^ /@offset@/: the offset in /@buffer@/ -}-    -> Word8-    {- ^ /@val@/: the value to set -}-    -> Word64-    {- ^ /@size@/: the size to set -}-    -> m Word64-    {- ^ __Returns:__ The amount of bytes filled. This value can be lower than /@size@/-   when /@buffer@/ did not contain enough data. -}-bufferMemset buffer offset val size = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_memset buffer' offset val size-    touchManagedPtr buffer-    return result--#if ENABLE_OVERLOADING-data BufferMemsetMethodInfo-instance (signature ~ (Word64 -> Word8 -> Word64 -> m Word64), MonadIO m) => O.MethodInfo BufferMemsetMethodInfo Buffer signature where-    overloadedMethod _ = bufferMemset--#endif---- method Buffer::n_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_n_memory" gst_buffer_n_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO Word32--{- |-Get the amount of memory blocks that this buffer has. This amount is never-larger than what 'GI.Gst.Functions.bufferGetMaxMemory' returns.--}-bufferNMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> m Word32-    {- ^ __Returns:__ the number of memory blocks this buffer is made of. -}-bufferNMemory buffer = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_n_memory buffer'-    touchManagedPtr buffer-    return result--#if ENABLE_OVERLOADING-data BufferNMemoryMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo BufferNMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferNMemory--#endif---- method Buffer::peek_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_peek_memory" gst_buffer_peek_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    IO (Ptr Gst.Memory.Memory)--{- |-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@/.--}-bufferPeekMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> m (Maybe Gst.Memory.Memory)-    {- ^ __Returns:__ the 'GI.Gst.Structs.Memory.Memory' at /@idx@/. -}-bufferPeekMemory buffer idx = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_peek_memory buffer' idx-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Memory.Memory) result'-        return result''-    touchManagedPtr buffer-    return maybeResult--#if ENABLE_OVERLOADING-data BufferPeekMemoryMethodInfo-instance (signature ~ (Word32 -> m (Maybe Gst.Memory.Memory)), MonadIO m) => O.MethodInfo BufferPeekMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferPeekMemory--#endif---- method Buffer::prepend_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_prepend_memory" gst_buffer_prepend_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.Memory.Memory ->                -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    IO ()--{- |-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 'GI.Gst.Structs.Buffer.bufferInsertMemory' with an index of 0.-See 'GI.Gst.Structs.Buffer.bufferInsertMemory' for more details.--}-bufferPrependMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory'. -}-    -> m ()-bufferPrependMemory buffer mem = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    mem' <- B.ManagedPtr.disownBoxed mem-    gst_buffer_prepend_memory buffer' mem'-    touchManagedPtr buffer-    touchManagedPtr mem-    return ()--#if ENABLE_OVERLOADING-data BufferPrependMemoryMethodInfo-instance (signature ~ (Gst.Memory.Memory -> m ()), MonadIO m) => O.MethodInfo BufferPrependMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferPrependMemory--#endif---- method Buffer::remove_all_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_remove_all_memory" gst_buffer_remove_all_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO ()--{- |-Remove all the memory blocks in /@buffer@/.--}-bufferRemoveAllMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> m ()-bufferRemoveAllMemory buffer = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    gst_buffer_remove_all_memory buffer'-    touchManagedPtr buffer-    return ()--#if ENABLE_OVERLOADING-data BufferRemoveAllMemoryMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BufferRemoveAllMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferRemoveAllMemory--#endif---- method Buffer::remove_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_remove_memory" gst_buffer_remove_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    IO ()--{- |-Remove the memory block in /@b@/ at index /@i@/.--}-bufferRemoveMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> m ()-bufferRemoveMemory buffer idx = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    gst_buffer_remove_memory buffer' idx-    touchManagedPtr buffer-    return ()--#if ENABLE_OVERLOADING-data BufferRemoveMemoryMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo BufferRemoveMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferRemoveMemory--#endif---- method Buffer::remove_memory_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a length", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_remove_memory_range" gst_buffer_remove_memory_range :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    Int32 ->                                -- length : TBasicType TInt-    IO ()--{- |-Remove /@length@/ memory blocks in /@buffer@/ starting from /@idx@/.--/@length@/ can be -1, in which case all memory starting from /@idx@/ is removed.--}-bufferRemoveMemoryRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> Int32-    {- ^ /@length@/: a length -}-    -> m ()-bufferRemoveMemoryRange buffer idx length_ = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    gst_buffer_remove_memory_range buffer' idx length_-    touchManagedPtr buffer-    return ()--#if ENABLE_OVERLOADING-data BufferRemoveMemoryRangeMethodInfo-instance (signature ~ (Word32 -> Int32 -> m ()), MonadIO m) => O.MethodInfo BufferRemoveMemoryRangeMethodInfo Buffer signature where-    overloadedMethod _ = bufferRemoveMemoryRange--#endif---- method Buffer::remove_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_remove_meta" gst_buffer_remove_meta :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.Meta.Meta ->                    -- meta : TInterface (Name {namespace = "Gst", name = "Meta"})-    IO CInt--{- |-Remove the metadata for /@meta@/ on /@buffer@/.--}-bufferRemoveMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Gst.Meta.Meta-    {- ^ /@meta@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the metadata existed and was removed, 'False' if no such-metadata was on /@buffer@/. -}-bufferRemoveMeta buffer meta = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    meta' <- unsafeManagedPtrGetPtr meta-    result <- gst_buffer_remove_meta buffer' meta'-    let result' = (/= 0) result-    touchManagedPtr buffer-    touchManagedPtr meta-    return result'--#if ENABLE_OVERLOADING-data BufferRemoveMetaMethodInfo-instance (signature ~ (Gst.Meta.Meta -> m Bool), MonadIO m) => O.MethodInfo BufferRemoveMetaMethodInfo Buffer signature where-    overloadedMethod _ = bufferRemoveMeta--#endif---- method Buffer::replace_all_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_replace_all_memory" gst_buffer_replace_all_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.Memory.Memory ->                -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    IO ()--{- |-Replaces all memory in /@buffer@/ with /@mem@/.--}-bufferReplaceAllMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> m ()-bufferReplaceAllMemory buffer mem = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    mem' <- B.ManagedPtr.disownBoxed mem-    gst_buffer_replace_all_memory buffer' mem'-    touchManagedPtr buffer-    touchManagedPtr mem-    return ()--#if ENABLE_OVERLOADING-data BufferReplaceAllMemoryMethodInfo-instance (signature ~ (Gst.Memory.Memory -> m ()), MonadIO m) => O.MethodInfo BufferReplaceAllMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferReplaceAllMemory--#endif---- method Buffer::replace_memory--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_replace_memory" gst_buffer_replace_memory :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    Ptr Gst.Memory.Memory ->                -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    IO ()--{- |-Replaces the memory block at index /@idx@/ in /@buffer@/ with /@mem@/.--}-bufferReplaceMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> m ()-bufferReplaceMemory buffer idx mem = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    mem' <- B.ManagedPtr.disownBoxed mem-    gst_buffer_replace_memory buffer' idx mem'-    touchManagedPtr buffer-    touchManagedPtr mem-    return ()--#if ENABLE_OVERLOADING-data BufferReplaceMemoryMethodInfo-instance (signature ~ (Word32 -> Gst.Memory.Memory -> m ()), MonadIO m) => O.MethodInfo BufferReplaceMemoryMethodInfo Buffer signature where-    overloadedMethod _ = bufferReplaceMemory--#endif---- method Buffer::replace_memory_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a length should not be 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_replace_memory_range" gst_buffer_replace_memory_range :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    Int32 ->                                -- length : TBasicType TInt-    Ptr Gst.Memory.Memory ->                -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    IO ()--{- |-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.--}-bufferReplaceMemoryRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> Int32-    {- ^ /@length@/: a length should not be 0 -}-    -> Gst.Memory.Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> m ()-bufferReplaceMemoryRange buffer idx length_ mem = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    mem' <- B.ManagedPtr.disownBoxed mem-    gst_buffer_replace_memory_range buffer' idx length_ mem'-    touchManagedPtr buffer-    touchManagedPtr mem-    return ()--#if ENABLE_OVERLOADING-data BufferReplaceMemoryRangeMethodInfo-instance (signature ~ (Word32 -> Int32 -> Gst.Memory.Memory -> m ()), MonadIO m) => O.MethodInfo BufferReplaceMemoryRangeMethodInfo Buffer signature where-    overloadedMethod _ = bufferReplaceMemoryRange--#endif---- method Buffer::resize--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new size or -1 to just adjust the offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_resize" gst_buffer_resize :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Int64 ->                                -- offset : TBasicType TInt64-    Int64 ->                                -- size : TBasicType TInt64-    IO ()--{- |-Set the offset and total size of the memory blocks in /@buffer@/.--}-bufferResize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Int64-    {- ^ /@offset@/: the offset adjustment -}-    -> Int64-    {- ^ /@size@/: the new size or -1 to just adjust the offset -}-    -> m ()-bufferResize buffer offset size = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    gst_buffer_resize buffer' offset size-    touchManagedPtr buffer-    return ()--#if ENABLE_OVERLOADING-data BufferResizeMethodInfo-instance (signature ~ (Int64 -> Int64 -> m ()), MonadIO m) => O.MethodInfo BufferResizeMethodInfo Buffer signature where-    overloadedMethod _ = bufferResize--#endif---- method Buffer::resize_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a length", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset adjustment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new size or -1 to just adjust the offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_resize_range" gst_buffer_resize_range :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Word32 ->                               -- idx : TBasicType TUInt-    Int32 ->                                -- length : TBasicType TInt-    Int64 ->                                -- offset : TBasicType TInt64-    Int64 ->                                -- size : TBasicType TInt64-    IO CInt--{- |-Set the total size of the /@length@/ memory blocks starting at /@idx@/ in-/@buffer@/--}-bufferResizeRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Word32-    {- ^ /@idx@/: an index -}-    -> Int32-    {- ^ /@length@/: a length -}-    -> Int64-    {- ^ /@offset@/: the offset adjustment -}-    -> Int64-    {- ^ /@size@/: the new size or -1 to just adjust the offset -}-    -> m Bool-    {- ^ __Returns:__ 'True' if resizing succeeded, 'False' otherwise. -}-bufferResizeRange buffer idx length_ offset size = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    result <- gst_buffer_resize_range buffer' idx length_ offset size-    let result' = (/= 0) result-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data BufferResizeRangeMethodInfo-instance (signature ~ (Word32 -> Int32 -> Int64 -> Int64 -> m Bool), MonadIO m) => O.MethodInfo BufferResizeRangeMethodInfo Buffer signature where-    overloadedMethod _ = bufferResizeRange--#endif---- method Buffer::set_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "BufferFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBufferFlags to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_set_flags" gst_buffer_set_flags :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "BufferFlags"})-    IO CInt--{- |-Sets one or more buffer flags on a buffer.--/Since: 1.10/--}-bufferSetFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> [Gst.Flags.BufferFlags]-    {- ^ /@flags@/: the 'GI.Gst.Flags.BufferFlags' to set. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@flags@/ were successfully set on buffer. -}-bufferSetFlags buffer flags = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    let flags' = gflagsToWord flags-    result <- gst_buffer_set_flags buffer' flags'-    let result' = (/= 0) result-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data BufferSetFlagsMethodInfo-instance (signature ~ ([Gst.Flags.BufferFlags] -> m Bool), MonadIO m) => O.MethodInfo BufferSetFlagsMethodInfo Buffer signature where-    overloadedMethod _ = bufferSetFlags--#endif---- method Buffer::set_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_set_size" gst_buffer_set_size :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Int64 ->                                -- size : TBasicType TInt64-    IO ()--{- |-Set the total size of the memory blocks in /@buffer@/.--}-bufferSetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Int64-    {- ^ /@size@/: the new size -}-    -> m ()-bufferSetSize buffer size = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    gst_buffer_set_size buffer' size-    touchManagedPtr buffer-    return ()--#if ENABLE_OVERLOADING-data BufferSetSizeMethodInfo-instance (signature ~ (Int64 -> m ()), MonadIO m) => O.MethodInfo BufferSetSizeMethodInfo Buffer signature where-    overloadedMethod _ = bufferSetSize--#endif---- method Buffer::unmap--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMapInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_unmap" gst_buffer_unmap :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.MapInfo.MapInfo ->              -- info : TInterface (Name {namespace = "Gst", name = "MapInfo"})-    IO ()--{- |-Release the memory previously mapped with 'GI.Gst.Structs.Buffer.bufferMap'.--}-bufferUnmap ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer'. -}-    -> Gst.MapInfo.MapInfo-    {- ^ /@info@/: a 'GI.Gst.Structs.MapInfo.MapInfo' -}-    -> m ()-bufferUnmap buffer info = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    info' <- unsafeManagedPtrGetPtr info-    gst_buffer_unmap buffer' info'-    touchManagedPtr buffer-    touchManagedPtr info-    return ()--#if ENABLE_OVERLOADING-data BufferUnmapMethodInfo-instance (signature ~ (Gst.MapInfo.MapInfo -> m ()), MonadIO m) => O.MethodInfo BufferUnmapMethodInfo Buffer signature where-    overloadedMethod _ = bufferUnmap--#endif---- method Buffer::unset_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "BufferFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBufferFlags to clear", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_unset_flags" gst_buffer_unset_flags :: -    Ptr Buffer ->                           -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "BufferFlags"})-    IO CInt--{- |-Clears one or more buffer flags.--/Since: 1.10/--}-bufferUnsetFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> [Gst.Flags.BufferFlags]-    {- ^ /@flags@/: the 'GI.Gst.Flags.BufferFlags' to clear -}-    -> m Bool-    {- ^ __Returns:__ true if /@flags@/ is successfully cleared from buffer. -}-bufferUnsetFlags buffer flags = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    let flags' = gflagsToWord flags-    result <- gst_buffer_unset_flags buffer' flags'-    let result' = (/= 0) result-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data BufferUnsetFlagsMethodInfo-instance (signature ~ ([Gst.Flags.BufferFlags] -> m Bool), MonadIO m) => O.MethodInfo BufferUnsetFlagsMethodInfo Buffer signature where-    overloadedMethod _ = bufferUnsetFlags--#endif---- method Buffer::get_max_memory--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_get_max_memory" gst_buffer_get_max_memory :: -    IO Word32--{- |-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.--/Since: 1.2/--}-bufferGetMaxMemory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-    {- ^ __Returns:__ the maximum amount of memory blocks that a buffer can hold. -}-bufferGetMaxMemory  = liftIO $ do-    result <- gst_buffer_get_max_memory-    return result--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveBufferMethod (t :: Symbol) (o :: *) :: * where-    ResolveBufferMethod "addMeta" o = BufferAddMetaMethodInfo-    ResolveBufferMethod "addParentBufferMeta" o = BufferAddParentBufferMetaMethodInfo-    ResolveBufferMethod "addProtectionMeta" o = BufferAddProtectionMetaMethodInfo-    ResolveBufferMethod "addReferenceTimestampMeta" o = BufferAddReferenceTimestampMetaMethodInfo-    ResolveBufferMethod "append" o = BufferAppendMethodInfo-    ResolveBufferMethod "appendMemory" o = BufferAppendMemoryMethodInfo-    ResolveBufferMethod "appendRegion" o = BufferAppendRegionMethodInfo-    ResolveBufferMethod "copyDeep" o = BufferCopyDeepMethodInfo-    ResolveBufferMethod "copyInto" o = BufferCopyIntoMethodInfo-    ResolveBufferMethod "copyRegion" o = BufferCopyRegionMethodInfo-    ResolveBufferMethod "extract" o = BufferExtractMethodInfo-    ResolveBufferMethod "extractDup" o = BufferExtractDupMethodInfo-    ResolveBufferMethod "fill" o = BufferFillMethodInfo-    ResolveBufferMethod "findMemory" o = BufferFindMemoryMethodInfo-    ResolveBufferMethod "foreachMeta" o = BufferForeachMetaMethodInfo-    ResolveBufferMethod "hasFlags" o = BufferHasFlagsMethodInfo-    ResolveBufferMethod "insertMemory" o = BufferInsertMemoryMethodInfo-    ResolveBufferMethod "isAllMemoryWritable" o = BufferIsAllMemoryWritableMethodInfo-    ResolveBufferMethod "isMemoryRangeWritable" o = BufferIsMemoryRangeWritableMethodInfo-    ResolveBufferMethod "map" o = BufferMapMethodInfo-    ResolveBufferMethod "mapRange" o = BufferMapRangeMethodInfo-    ResolveBufferMethod "memcmp" o = BufferMemcmpMethodInfo-    ResolveBufferMethod "memset" o = BufferMemsetMethodInfo-    ResolveBufferMethod "nMemory" o = BufferNMemoryMethodInfo-    ResolveBufferMethod "peekMemory" o = BufferPeekMemoryMethodInfo-    ResolveBufferMethod "prependMemory" o = BufferPrependMemoryMethodInfo-    ResolveBufferMethod "removeAllMemory" o = BufferRemoveAllMemoryMethodInfo-    ResolveBufferMethod "removeMemory" o = BufferRemoveMemoryMethodInfo-    ResolveBufferMethod "removeMemoryRange" o = BufferRemoveMemoryRangeMethodInfo-    ResolveBufferMethod "removeMeta" o = BufferRemoveMetaMethodInfo-    ResolveBufferMethod "replaceAllMemory" o = BufferReplaceAllMemoryMethodInfo-    ResolveBufferMethod "replaceMemory" o = BufferReplaceMemoryMethodInfo-    ResolveBufferMethod "replaceMemoryRange" o = BufferReplaceMemoryRangeMethodInfo-    ResolveBufferMethod "resize" o = BufferResizeMethodInfo-    ResolveBufferMethod "resizeRange" o = BufferResizeRangeMethodInfo-    ResolveBufferMethod "unmap" o = BufferUnmapMethodInfo-    ResolveBufferMethod "unsetFlags" o = BufferUnsetFlagsMethodInfo-    ResolveBufferMethod "getAllMemory" o = BufferGetAllMemoryMethodInfo-    ResolveBufferMethod "getFlags" o = BufferGetFlagsMethodInfo-    ResolveBufferMethod "getMemory" o = BufferGetMemoryMethodInfo-    ResolveBufferMethod "getMemoryRange" o = BufferGetMemoryRangeMethodInfo-    ResolveBufferMethod "getMeta" o = BufferGetMetaMethodInfo-    ResolveBufferMethod "getNMeta" o = BufferGetNMetaMethodInfo-    ResolveBufferMethod "getReferenceTimestampMeta" o = BufferGetReferenceTimestampMetaMethodInfo-    ResolveBufferMethod "getSize" o = BufferGetSizeMethodInfo-    ResolveBufferMethod "getSizes" o = BufferGetSizesMethodInfo-    ResolveBufferMethod "getSizesRange" o = BufferGetSizesRangeMethodInfo-    ResolveBufferMethod "setFlags" o = BufferSetFlagsMethodInfo-    ResolveBufferMethod "setSize" o = BufferSetSizeMethodInfo-    ResolveBufferMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBufferMethod t Buffer, O.MethodInfo info Buffer p) => OL.IsLabel t (Buffer -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Buffer.hs-boot
@@ -1,173 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Buffer where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Buffer = Buffer (ManagedPtr Buffer)-instance BoxedObject Buffer where-#if ENABLE_OVERLOADING-data BufferAddMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferAddParentBufferMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferAddProtectionMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferAddReferenceTimestampMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferAppendMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferAppendMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferAppendRegionMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferCopyDeepMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferCopyIntoMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferCopyRegionMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferExtractMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferExtractDupMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferFillMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferFindMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferForeachMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetAllMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetMemoryRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetNMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetReferenceTimestampMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetSizesMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferGetSizesRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferHasFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferInsertMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferIsAllMemoryWritableMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferIsMemoryRangeWritableMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferMapMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferMapRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferMemcmpMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferMemsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferNMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPeekMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferPrependMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferRemoveAllMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferRemoveMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferRemoveMemoryRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferRemoveMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferReplaceAllMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferReplaceMemoryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferReplaceMemoryRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferResizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferResizeRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferSetFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferSetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferUnmapMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferUnsetFlagsMethodInfo-#endif
− GI/Gst/Structs/BufferList.hs
@@ -1,570 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Buffer lists are an object containing a list of buffers.--Buffer lists are created with 'GI.Gst.Structs.BufferList.bufferListNew' and filled with data-using a 'GI.Gst.Structs.BufferList.bufferListInsert'.--Buffer lists can be pushed on a srcpad with 'GI.Gst.Objects.Pad.padPushList'. 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.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.BufferList-    ( ---- * Exported types-    BufferList(..)                          ,-    noBufferList                            ,--- -- * Methods--- ** calculateSize #method:calculateSize#--#if ENABLE_OVERLOADING-    BufferListCalculateSizeMethodInfo       ,-#endif-    bufferListCalculateSize                 ,----- ** copyDeep #method:copyDeep#--#if ENABLE_OVERLOADING-    BufferListCopyDeepMethodInfo            ,-#endif-    bufferListCopyDeep                      ,----- ** foreach #method:foreach#--#if ENABLE_OVERLOADING-    BufferListForeachMethodInfo             ,-#endif-    bufferListForeach                       ,----- ** get #method:get#--#if ENABLE_OVERLOADING-    BufferListGetMethodInfo                 ,-#endif-    bufferListGet                           ,----- ** getWritable #method:getWritable#--#if ENABLE_OVERLOADING-    BufferListGetWritableMethodInfo         ,-#endif-    bufferListGetWritable                   ,----- ** insert #method:insert#--#if ENABLE_OVERLOADING-    BufferListInsertMethodInfo              ,-#endif-    bufferListInsert                        ,----- ** length #method:length#--#if ENABLE_OVERLOADING-    BufferListLengthMethodInfo              ,-#endif-    bufferListLength                        ,----- ** new #method:new#--    bufferListNew                           ,----- ** newSized #method:newSized#--    bufferListNewSized                      ,----- ** remove #method:remove#--#if ENABLE_OVERLOADING-    BufferListRemoveMethodInfo              ,-#endif-    bufferListRemove                        ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer---- | Memory-managed wrapper type.-newtype BufferList = BufferList (ManagedPtr BufferList)-foreign import ccall "gst_buffer_list_get_type" c_gst_buffer_list_get_type :: -    IO GType--instance BoxedObject BufferList where-    boxedType _ = c_gst_buffer_list_get_type---- | A convenience alias for `Nothing` :: `Maybe` `BufferList`.-noBufferList :: Maybe BufferList-noBufferList = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList BufferList-type instance O.AttributeList BufferList = BufferListAttributeList-type BufferListAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method BufferList::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_new" gst_buffer_list_new :: -    IO (Ptr BufferList)--{- |-Creates a new, empty 'GI.Gst.Structs.BufferList.BufferList'. The caller is responsible for unreffing-the returned 'GI.Gst.Structs.BufferList.BufferList'.--Free-function: gst_buffer_list_unref--}-bufferListNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m BufferList-    {- ^ __Returns:__ the new 'GI.Gst.Structs.BufferList.BufferList'. @/gst_buffer_list_unref()/@-    after usage. -}-bufferListNew  = liftIO $ do-    result <- gst_buffer_list_new-    checkUnexpectedReturnNULL "bufferListNew" result-    result' <- (wrapBoxed BufferList) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method BufferList::new_sized--- method type : Constructor--- Args : [Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an initial reserved size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_new_sized" gst_buffer_list_new_sized :: -    Word32 ->                               -- size : TBasicType TUInt-    IO (Ptr BufferList)--{- |-Creates a new, empty 'GI.Gst.Structs.BufferList.BufferList'. The caller is responsible for unreffing-the returned 'GI.Gst.Structs.BufferList.BufferList'. The list will have /@size@/ space preallocated so-that memory reallocations can be avoided.--Free-function: gst_buffer_list_unref--}-bufferListNewSized ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@size@/: an initial reserved size -}-    -> m BufferList-    {- ^ __Returns:__ the new 'GI.Gst.Structs.BufferList.BufferList'. @/gst_buffer_list_unref()/@-    after usage. -}-bufferListNewSized size = liftIO $ do-    result <- gst_buffer_list_new_sized size-    checkUnexpectedReturnNULL "bufferListNewSized" result-    result' <- (wrapBoxed BufferList) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method BufferList::calculate_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_calculate_size" gst_buffer_list_calculate_size :: -    Ptr BufferList ->                       -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    IO Word64--{- |-Calculates the size of the data contained in buffer list by adding the-size of all buffers.--/Since: 1.14/--}-bufferListCalculateSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BufferList-    {- ^ /@list@/: a 'GI.Gst.Structs.BufferList.BufferList' -}-    -> m Word64-    {- ^ __Returns:__ the size of the data contained in buffer list in bytes. -}-bufferListCalculateSize list = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_buffer_list_calculate_size list'-    touchManagedPtr list-    return result--#if ENABLE_OVERLOADING-data BufferListCalculateSizeMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo BufferListCalculateSizeMethodInfo BufferList signature where-    overloadedMethod _ = bufferListCalculateSize--#endif---- method BufferList::copy_deep--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_copy_deep" gst_buffer_list_copy_deep :: -    Ptr BufferList ->                       -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    IO (Ptr BufferList)--{- |-Create a copy of the given buffer list. This will make a newly allocated-copy of the buffer that the source buffer list contains.--/Since: 1.6/--}-bufferListCopyDeep ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BufferList-    {- ^ /@list@/: a 'GI.Gst.Structs.BufferList.BufferList' -}-    -> m BufferList-    {- ^ __Returns:__ a new copy of /@list@/. -}-bufferListCopyDeep list = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_buffer_list_copy_deep list'-    checkUnexpectedReturnNULL "bufferListCopyDeep" result-    result' <- (wrapBoxed BufferList) result-    touchManagedPtr list-    return result'--#if ENABLE_OVERLOADING-data BufferListCopyDeepMethodInfo-instance (signature ~ (m BufferList), MonadIO m) => O.MethodInfo BufferListCopyDeepMethodInfo BufferList signature where-    overloadedMethod _ = bufferListCopyDeep--#endif---- method BufferList::foreach--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "BufferListFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferListFunc to call", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_foreach" gst_buffer_list_foreach :: -    Ptr BufferList ->                       -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    FunPtr Gst.Callbacks.C_BufferListFunc -> -- func : TInterface (Name {namespace = "Gst", name = "BufferListFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-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.--}-bufferListForeach ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BufferList-    {- ^ /@list@/: a 'GI.Gst.Structs.BufferList.BufferList' -}-    -> Gst.Callbacks.BufferListFunc-    {- ^ /@func@/: a 'GI.Gst.Callbacks.BufferListFunc' to call -}-    -> m Bool-    {- ^ __Returns:__ 'True' when /@func@/ returned 'True' for each buffer in /@list@/ or when-/@list@/ is empty. -}-bufferListForeach list func = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    func' <- Gst.Callbacks.mk_BufferListFunc (Gst.Callbacks.wrap_BufferListFunc Nothing (Gst.Callbacks.drop_closures_BufferListFunc func))-    let userData = nullPtr-    result <- gst_buffer_list_foreach list' func' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr list-    return result'--#if ENABLE_OVERLOADING-data BufferListForeachMethodInfo-instance (signature ~ (Gst.Callbacks.BufferListFunc -> m Bool), MonadIO m) => O.MethodInfo BufferListForeachMethodInfo BufferList signature where-    overloadedMethod _ = bufferListForeach--#endif---- method BufferList::get--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_get" gst_buffer_list_get :: -    Ptr BufferList ->                       -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    Word32 ->                               -- idx : TBasicType TUInt-    IO (Ptr Gst.Buffer.Buffer)--{- |-Get the buffer at /@idx@/.--You must make sure that /@idx@/ does not exceed the number of-buffers available.--}-bufferListGet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BufferList-    {- ^ /@list@/: a 'GI.Gst.Structs.BufferList.BufferList' -}-    -> Word32-    {- ^ /@idx@/: the index -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ the buffer at /@idx@/ in /@group@/-    or 'Nothing' when there is no buffer. The buffer remains valid as-    long as /@list@/ is valid and buffer is not removed from the list. -}-bufferListGet list idx = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_buffer_list_get list' idx-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr list-    return maybeResult--#if ENABLE_OVERLOADING-data BufferListGetMethodInfo-instance (signature ~ (Word32 -> m (Maybe Gst.Buffer.Buffer)), MonadIO m) => O.MethodInfo BufferListGetMethodInfo BufferList signature where-    overloadedMethod _ = bufferListGet--#endif---- method BufferList::get_writable--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a (writable) #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_get_writable" gst_buffer_list_get_writable :: -    Ptr BufferList ->                       -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    Word32 ->                               -- idx : TBasicType TUInt-    IO (Ptr Gst.Buffer.Buffer)--{- |-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.--/Since: 1.14/--}-bufferListGetWritable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BufferList-    {- ^ /@list@/: a (writable) 'GI.Gst.Structs.BufferList.BufferList' -}-    -> Word32-    {- ^ /@idx@/: the index -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ 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. -}-bufferListGetWritable list idx = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_buffer_list_get_writable list' idx-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr list-    return maybeResult--#if ENABLE_OVERLOADING-data BufferListGetWritableMethodInfo-instance (signature ~ (Word32 -> m (Maybe Gst.Buffer.Buffer)), MonadIO m) => O.MethodInfo BufferListGetWritableMethodInfo BufferList signature where-    overloadedMethod _ = bufferListGetWritable--#endif---- method BufferList::insert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_insert" gst_buffer_list_insert :: -    Ptr BufferList ->                       -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    Int32 ->                                -- idx : TBasicType TInt-    Ptr Gst.Buffer.Buffer ->                -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO ()--{- |-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.--}-bufferListInsert ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BufferList-    {- ^ /@list@/: a 'GI.Gst.Structs.BufferList.BufferList' -}-    -> Int32-    {- ^ /@idx@/: the index -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> m ()-bufferListInsert list idx buffer = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    buffer' <- B.ManagedPtr.disownBoxed buffer-    gst_buffer_list_insert list' idx buffer'-    touchManagedPtr list-    touchManagedPtr buffer-    return ()--#if ENABLE_OVERLOADING-data BufferListInsertMethodInfo-instance (signature ~ (Int32 -> Gst.Buffer.Buffer -> m ()), MonadIO m) => O.MethodInfo BufferListInsertMethodInfo BufferList signature where-    overloadedMethod _ = bufferListInsert--#endif---- method BufferList::length--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_length" gst_buffer_list_length :: -    Ptr BufferList ->                       -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    IO Word32--{- |-Returns the number of buffers in /@list@/.--}-bufferListLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BufferList-    {- ^ /@list@/: a 'GI.Gst.Structs.BufferList.BufferList' -}-    -> m Word32-    {- ^ __Returns:__ the number of buffers in the buffer list -}-bufferListLength list = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_buffer_list_length list'-    touchManagedPtr list-    return result--#if ENABLE_OVERLOADING-data BufferListLengthMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo BufferListLengthMethodInfo BufferList signature where-    overloadedMethod _ = bufferListLength--#endif---- method BufferList::remove--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_buffer_list_remove" gst_buffer_list_remove :: -    Ptr BufferList ->                       -- list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    Word32 ->                               -- idx : TBasicType TUInt-    Word32 ->                               -- length : TBasicType TUInt-    IO ()--{- |-Remove /@length@/ buffers starting from /@idx@/ in /@list@/. The following buffers-are moved to close the gap.--}-bufferListRemove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BufferList-    {- ^ /@list@/: a 'GI.Gst.Structs.BufferList.BufferList' -}-    -> Word32-    {- ^ /@idx@/: the index -}-    -> Word32-    {- ^ /@length@/: the amount to remove -}-    -> m ()-bufferListRemove list idx length_ = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    gst_buffer_list_remove list' idx length_-    touchManagedPtr list-    return ()--#if ENABLE_OVERLOADING-data BufferListRemoveMethodInfo-instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m) => O.MethodInfo BufferListRemoveMethodInfo BufferList signature where-    overloadedMethod _ = bufferListRemove--#endif--#if ENABLE_OVERLOADING-type family ResolveBufferListMethod (t :: Symbol) (o :: *) :: * where-    ResolveBufferListMethod "calculateSize" o = BufferListCalculateSizeMethodInfo-    ResolveBufferListMethod "copyDeep" o = BufferListCopyDeepMethodInfo-    ResolveBufferListMethod "foreach" o = BufferListForeachMethodInfo-    ResolveBufferListMethod "get" o = BufferListGetMethodInfo-    ResolveBufferListMethod "insert" o = BufferListInsertMethodInfo-    ResolveBufferListMethod "length" o = BufferListLengthMethodInfo-    ResolveBufferListMethod "remove" o = BufferListRemoveMethodInfo-    ResolveBufferListMethod "getWritable" o = BufferListGetWritableMethodInfo-    ResolveBufferListMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBufferListMethod t BufferList, O.MethodInfo info BufferList p) => OL.IsLabel t (BufferList -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/BufferList.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.BufferList where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype BufferList = BufferList (ManagedPtr BufferList)-instance BoxedObject BufferList where-#if ENABLE_OVERLOADING-data BufferListCalculateSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferListCopyDeepMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferListForeachMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferListGetMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferListGetWritableMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferListInsertMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferListLengthMethodInfo-#endif-#if ENABLE_OVERLOADING-data BufferListRemoveMethodInfo-#endif
− GI/Gst/Structs/BufferPoolAcquireParams.hs
@@ -1,322 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Parameters passed to the 'GI.Gst.Objects.BufferPool.bufferPoolAcquireBuffer' 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.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.BufferPoolAcquireParams-    ( ---- * Exported types-    BufferPoolAcquireParams(..)             ,-    newZeroBufferPoolAcquireParams          ,-    noBufferPoolAcquireParams               ,--- -- * Properties--- ** flags #attr:flags#-{- | additional flags--}-#if ENABLE_OVERLOADING-    bufferPoolAcquireParams_flags           ,-#endif-    getBufferPoolAcquireParamsFlags         ,-    setBufferPoolAcquireParamsFlags         ,----- ** format #attr:format#-{- | the format of /@start@/ and /@stop@/--}-#if ENABLE_OVERLOADING-    bufferPoolAcquireParams_format          ,-#endif-    getBufferPoolAcquireParamsFormat        ,-    setBufferPoolAcquireParamsFormat        ,----- ** start #attr:start#-{- | the start position--}-#if ENABLE_OVERLOADING-    bufferPoolAcquireParams_start           ,-#endif-    getBufferPoolAcquireParamsStart         ,-    setBufferPoolAcquireParamsStart         ,----- ** stop #attr:stop#-{- | the stop position--}-#if ENABLE_OVERLOADING-    bufferPoolAcquireParams_stop            ,-#endif-    getBufferPoolAcquireParamsStop          ,-    setBufferPoolAcquireParamsStop          ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags---- | Memory-managed wrapper type.-newtype BufferPoolAcquireParams = BufferPoolAcquireParams (ManagedPtr BufferPoolAcquireParams)-instance WrappedPtr BufferPoolAcquireParams where-    wrappedPtrCalloc = callocBytes 64-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr BufferPoolAcquireParams)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `BufferPoolAcquireParams` struct initialized to zero.-newZeroBufferPoolAcquireParams :: MonadIO m => m BufferPoolAcquireParams-newZeroBufferPoolAcquireParams = liftIO $ wrappedPtrCalloc >>= wrapPtr BufferPoolAcquireParams--instance tag ~ 'AttrSet => Constructible BufferPoolAcquireParams tag where-    new _ attrs = do-        o <- newZeroBufferPoolAcquireParams-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `BufferPoolAcquireParams`.-noBufferPoolAcquireParams :: Maybe BufferPoolAcquireParams-noBufferPoolAcquireParams = Nothing--{- |-Get the value of the “@format@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' bufferPoolAcquireParams #format-@--}-getBufferPoolAcquireParamsFormat :: MonadIO m => BufferPoolAcquireParams -> m Gst.Enums.Format-getBufferPoolAcquireParamsFormat s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@format@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' bufferPoolAcquireParams [ #format 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferPoolAcquireParamsFormat :: MonadIO m => BufferPoolAcquireParams -> Gst.Enums.Format -> m ()-setBufferPoolAcquireParamsFormat s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 0) (val' :: CUInt)--#if ENABLE_OVERLOADING-data BufferPoolAcquireParamsFormatFieldInfo-instance AttrInfo BufferPoolAcquireParamsFormatFieldInfo where-    type AttrAllowedOps BufferPoolAcquireParamsFormatFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BufferPoolAcquireParamsFormatFieldInfo = (~) Gst.Enums.Format-    type AttrBaseTypeConstraint BufferPoolAcquireParamsFormatFieldInfo = (~) BufferPoolAcquireParams-    type AttrGetType BufferPoolAcquireParamsFormatFieldInfo = Gst.Enums.Format-    type AttrLabel BufferPoolAcquireParamsFormatFieldInfo = "format"-    type AttrOrigin BufferPoolAcquireParamsFormatFieldInfo = BufferPoolAcquireParams-    attrGet _ = getBufferPoolAcquireParamsFormat-    attrSet _ = setBufferPoolAcquireParamsFormat-    attrConstruct = undefined-    attrClear _ = undefined--bufferPoolAcquireParams_format :: AttrLabelProxy "format"-bufferPoolAcquireParams_format = AttrLabelProxy--#endif---{- |-Get the value of the “@start@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' bufferPoolAcquireParams #start-@--}-getBufferPoolAcquireParamsStart :: MonadIO m => BufferPoolAcquireParams -> m Int64-getBufferPoolAcquireParamsStart s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Int64-    return val--{- |-Set the value of the “@start@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' bufferPoolAcquireParams [ #start 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferPoolAcquireParamsStart :: MonadIO m => BufferPoolAcquireParams -> Int64 -> m ()-setBufferPoolAcquireParamsStart s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Int64)--#if ENABLE_OVERLOADING-data BufferPoolAcquireParamsStartFieldInfo-instance AttrInfo BufferPoolAcquireParamsStartFieldInfo where-    type AttrAllowedOps BufferPoolAcquireParamsStartFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BufferPoolAcquireParamsStartFieldInfo = (~) Int64-    type AttrBaseTypeConstraint BufferPoolAcquireParamsStartFieldInfo = (~) BufferPoolAcquireParams-    type AttrGetType BufferPoolAcquireParamsStartFieldInfo = Int64-    type AttrLabel BufferPoolAcquireParamsStartFieldInfo = "start"-    type AttrOrigin BufferPoolAcquireParamsStartFieldInfo = BufferPoolAcquireParams-    attrGet _ = getBufferPoolAcquireParamsStart-    attrSet _ = setBufferPoolAcquireParamsStart-    attrConstruct = undefined-    attrClear _ = undefined--bufferPoolAcquireParams_start :: AttrLabelProxy "start"-bufferPoolAcquireParams_start = AttrLabelProxy--#endif---{- |-Get the value of the “@stop@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' bufferPoolAcquireParams #stop-@--}-getBufferPoolAcquireParamsStop :: MonadIO m => BufferPoolAcquireParams -> m Int64-getBufferPoolAcquireParamsStop s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Int64-    return val--{- |-Set the value of the “@stop@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' bufferPoolAcquireParams [ #stop 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferPoolAcquireParamsStop :: MonadIO m => BufferPoolAcquireParams -> Int64 -> m ()-setBufferPoolAcquireParamsStop s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Int64)--#if ENABLE_OVERLOADING-data BufferPoolAcquireParamsStopFieldInfo-instance AttrInfo BufferPoolAcquireParamsStopFieldInfo where-    type AttrAllowedOps BufferPoolAcquireParamsStopFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BufferPoolAcquireParamsStopFieldInfo = (~) Int64-    type AttrBaseTypeConstraint BufferPoolAcquireParamsStopFieldInfo = (~) BufferPoolAcquireParams-    type AttrGetType BufferPoolAcquireParamsStopFieldInfo = Int64-    type AttrLabel BufferPoolAcquireParamsStopFieldInfo = "stop"-    type AttrOrigin BufferPoolAcquireParamsStopFieldInfo = BufferPoolAcquireParams-    attrGet _ = getBufferPoolAcquireParamsStop-    attrSet _ = setBufferPoolAcquireParamsStop-    attrConstruct = undefined-    attrClear _ = undefined--bufferPoolAcquireParams_stop :: AttrLabelProxy "stop"-bufferPoolAcquireParams_stop = AttrLabelProxy--#endif---{- |-Get the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' bufferPoolAcquireParams #flags-@--}-getBufferPoolAcquireParamsFlags :: MonadIO m => BufferPoolAcquireParams -> m [Gst.Flags.BufferPoolAcquireFlags]-getBufferPoolAcquireParamsFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO CUInt-    let val' = wordToGFlags val-    return val'--{- |-Set the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' bufferPoolAcquireParams [ #flags 'Data.GI.Base.Attributes.:=' value ]-@--}-setBufferPoolAcquireParamsFlags :: MonadIO m => BufferPoolAcquireParams -> [Gst.Flags.BufferPoolAcquireFlags] -> m ()-setBufferPoolAcquireParamsFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gflagsToWord val-    poke (ptr `plusPtr` 24) (val' :: CUInt)--#if ENABLE_OVERLOADING-data BufferPoolAcquireParamsFlagsFieldInfo-instance AttrInfo BufferPoolAcquireParamsFlagsFieldInfo where-    type AttrAllowedOps BufferPoolAcquireParamsFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BufferPoolAcquireParamsFlagsFieldInfo = (~) [Gst.Flags.BufferPoolAcquireFlags]-    type AttrBaseTypeConstraint BufferPoolAcquireParamsFlagsFieldInfo = (~) BufferPoolAcquireParams-    type AttrGetType BufferPoolAcquireParamsFlagsFieldInfo = [Gst.Flags.BufferPoolAcquireFlags]-    type AttrLabel BufferPoolAcquireParamsFlagsFieldInfo = "flags"-    type AttrOrigin BufferPoolAcquireParamsFlagsFieldInfo = BufferPoolAcquireParams-    attrGet _ = getBufferPoolAcquireParamsFlags-    attrSet _ = setBufferPoolAcquireParamsFlags-    attrConstruct = undefined-    attrClear _ = undefined--bufferPoolAcquireParams_flags :: AttrLabelProxy "flags"-bufferPoolAcquireParams_flags = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList BufferPoolAcquireParams-type instance O.AttributeList BufferPoolAcquireParams = BufferPoolAcquireParamsAttributeList-type BufferPoolAcquireParamsAttributeList = ('[ '("format", BufferPoolAcquireParamsFormatFieldInfo), '("start", BufferPoolAcquireParamsStartFieldInfo), '("stop", BufferPoolAcquireParamsStopFieldInfo), '("flags", BufferPoolAcquireParamsFlagsFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveBufferPoolAcquireParamsMethod (t :: Symbol) (o :: *) :: * where-    ResolveBufferPoolAcquireParamsMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBufferPoolAcquireParamsMethod t BufferPoolAcquireParams, O.MethodInfo info BufferPoolAcquireParams p) => OL.IsLabel t (BufferPoolAcquireParams -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/BufferPoolAcquireParams.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.BufferPoolAcquireParams where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype BufferPoolAcquireParams = BufferPoolAcquireParams (ManagedPtr BufferPoolAcquireParams)-instance WrappedPtr BufferPoolAcquireParams where
− GI/Gst/Structs/Caps.hs
@@ -1,2311 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Caps (capabilities) are lightweight refcounted objects describing media types.-They are composed of an array of 'GI.Gst.Structs.Structure.Structure'.--Caps are exposed on 'GI.Gst.Objects.PadTemplate.PadTemplate' to describe all possible types a-given pad can handle. They are also stored in the 'GI.Gst.Objects.Registry.Registry' along with-a description of the 'GI.Gst.Objects.Element.Element'.--Caps are exposed on the element pads using the 'GI.Gst.Objects.Pad.padQueryCaps' pad-function. This function describes the possible types that the pad can-handle or produce at runtime.--A 'GI.Gst.Structs.Caps.Caps' can be constructed with the following code fragment:--=== /C code/->->  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 'GI.Gst.Structs.Caps.Caps' is fixed when it has no properties with ranges or lists. Use-'GI.Gst.Structs.Caps.capsIsFixed' 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 'GI.Gst.Structs.Caps.Caps' \/ 'GI.Gst.Structs.Structure.Structure' serialization into string-has limited support for nested 'GI.Gst.Structs.Caps.Caps' \/ 'GI.Gst.Structs.Structure.Structure' fields. It can only-support one level of nesting. Using more levels will lead to unexpected-behavior when using serialization features, such as 'GI.Gst.Structs.Caps.capsToString' or-'GI.Gst.Functions.valueSerialize' and their counterparts.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Caps-    ( ---- * Exported types-    Caps(..)                                ,-    newZeroCaps                             ,-    noCaps                                  ,--- -- * Methods--- ** append #method:append#--#if ENABLE_OVERLOADING-    CapsAppendMethodInfo                    ,-#endif-    capsAppend                              ,----- ** appendStructure #method:appendStructure#--#if ENABLE_OVERLOADING-    CapsAppendStructureMethodInfo           ,-#endif-    capsAppendStructure                     ,----- ** appendStructureFull #method:appendStructureFull#--#if ENABLE_OVERLOADING-    CapsAppendStructureFullMethodInfo       ,-#endif-    capsAppendStructureFull                 ,----- ** canIntersect #method:canIntersect#--#if ENABLE_OVERLOADING-    CapsCanIntersectMethodInfo              ,-#endif-    capsCanIntersect                        ,----- ** copy #method:copy#--#if ENABLE_OVERLOADING-    CapsCopyMethodInfo                      ,-#endif-    capsCopy                                ,----- ** copyNth #method:copyNth#--#if ENABLE_OVERLOADING-    CapsCopyNthMethodInfo                   ,-#endif-    capsCopyNth                             ,----- ** filterAndMapInPlace #method:filterAndMapInPlace#--#if ENABLE_OVERLOADING-    CapsFilterAndMapInPlaceMethodInfo       ,-#endif-    capsFilterAndMapInPlace                 ,----- ** fixate #method:fixate#--#if ENABLE_OVERLOADING-    CapsFixateMethodInfo                    ,-#endif-    capsFixate                              ,----- ** foreach #method:foreach#--#if ENABLE_OVERLOADING-    CapsForeachMethodInfo                   ,-#endif-    capsForeach                             ,----- ** fromString #method:fromString#--    capsFromString                          ,----- ** getFeatures #method:getFeatures#--#if ENABLE_OVERLOADING-    CapsGetFeaturesMethodInfo               ,-#endif-    capsGetFeatures                         ,----- ** getSize #method:getSize#--#if ENABLE_OVERLOADING-    CapsGetSizeMethodInfo                   ,-#endif-    capsGetSize                             ,----- ** getStructure #method:getStructure#--#if ENABLE_OVERLOADING-    CapsGetStructureMethodInfo              ,-#endif-    capsGetStructure                        ,----- ** intersect #method:intersect#--#if ENABLE_OVERLOADING-    CapsIntersectMethodInfo                 ,-#endif-    capsIntersect                           ,----- ** intersectFull #method:intersectFull#--#if ENABLE_OVERLOADING-    CapsIntersectFullMethodInfo             ,-#endif-    capsIntersectFull                       ,----- ** isAlwaysCompatible #method:isAlwaysCompatible#--#if ENABLE_OVERLOADING-    CapsIsAlwaysCompatibleMethodInfo        ,-#endif-    capsIsAlwaysCompatible                  ,----- ** isAny #method:isAny#--#if ENABLE_OVERLOADING-    CapsIsAnyMethodInfo                     ,-#endif-    capsIsAny                               ,----- ** isEmpty #method:isEmpty#--#if ENABLE_OVERLOADING-    CapsIsEmptyMethodInfo                   ,-#endif-    capsIsEmpty                             ,----- ** isEqual #method:isEqual#--#if ENABLE_OVERLOADING-    CapsIsEqualMethodInfo                   ,-#endif-    capsIsEqual                             ,----- ** isEqualFixed #method:isEqualFixed#--#if ENABLE_OVERLOADING-    CapsIsEqualFixedMethodInfo              ,-#endif-    capsIsEqualFixed                        ,----- ** isFixed #method:isFixed#--#if ENABLE_OVERLOADING-    CapsIsFixedMethodInfo                   ,-#endif-    capsIsFixed                             ,----- ** isStrictlyEqual #method:isStrictlyEqual#--#if ENABLE_OVERLOADING-    CapsIsStrictlyEqualMethodInfo           ,-#endif-    capsIsStrictlyEqual                     ,----- ** isSubset #method:isSubset#--#if ENABLE_OVERLOADING-    CapsIsSubsetMethodInfo                  ,-#endif-    capsIsSubset                            ,----- ** isSubsetStructure #method:isSubsetStructure#--#if ENABLE_OVERLOADING-    CapsIsSubsetStructureMethodInfo         ,-#endif-    capsIsSubsetStructure                   ,----- ** isSubsetStructureFull #method:isSubsetStructureFull#--#if ENABLE_OVERLOADING-    CapsIsSubsetStructureFullMethodInfo     ,-#endif-    capsIsSubsetStructureFull               ,----- ** mapInPlace #method:mapInPlace#--#if ENABLE_OVERLOADING-    CapsMapInPlaceMethodInfo                ,-#endif-    capsMapInPlace                          ,----- ** merge #method:merge#--#if ENABLE_OVERLOADING-    CapsMergeMethodInfo                     ,-#endif-    capsMerge                               ,----- ** mergeStructure #method:mergeStructure#--#if ENABLE_OVERLOADING-    CapsMergeStructureMethodInfo            ,-#endif-    capsMergeStructure                      ,----- ** mergeStructureFull #method:mergeStructureFull#--#if ENABLE_OVERLOADING-    CapsMergeStructureFullMethodInfo        ,-#endif-    capsMergeStructureFull                  ,----- ** newAny #method:newAny#--    capsNewAny                              ,----- ** newEmpty #method:newEmpty#--    capsNewEmpty                            ,----- ** newEmptySimple #method:newEmptySimple#--    capsNewEmptySimple                      ,----- ** normalize #method:normalize#--#if ENABLE_OVERLOADING-    CapsNormalizeMethodInfo                 ,-#endif-    capsNormalize                           ,----- ** removeStructure #method:removeStructure#--#if ENABLE_OVERLOADING-    CapsRemoveStructureMethodInfo           ,-#endif-    capsRemoveStructure                     ,----- ** setFeatures #method:setFeatures#--#if ENABLE_OVERLOADING-    CapsSetFeaturesMethodInfo               ,-#endif-    capsSetFeatures                         ,----- ** setFeaturesSimple #method:setFeaturesSimple#--#if ENABLE_OVERLOADING-    CapsSetFeaturesSimpleMethodInfo         ,-#endif-    capsSetFeaturesSimple                   ,----- ** setValue #method:setValue#--#if ENABLE_OVERLOADING-    CapsSetValueMethodInfo                  ,-#endif-    capsSetValue                            ,----- ** simplify #method:simplify#--#if ENABLE_OVERLOADING-    CapsSimplifyMethodInfo                  ,-#endif-    capsSimplify                            ,----- ** stealStructure #method:stealStructure#--#if ENABLE_OVERLOADING-    CapsStealStructureMethodInfo            ,-#endif-    capsStealStructure                      ,----- ** subtract #method:subtract#--#if ENABLE_OVERLOADING-    CapsSubtractMethodInfo                  ,-#endif-    capsSubtract                            ,----- ** toString #method:toString#--#if ENABLE_OVERLOADING-    CapsToStringMethodInfo                  ,-#endif-    capsToString                            ,----- ** truncate #method:truncate#--#if ENABLE_OVERLOADING-    CapsTruncateMethodInfo                  ,-#endif-    capsTruncate                            ,----- -- * Properties--- ** miniObject #attr:miniObject#-{- | the parent type--}-#if ENABLE_OVERLOADING-    caps_miniObject                         ,-#endif-    getCapsMiniObject                       ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Structs.CapsFeatures as Gst.CapsFeatures-import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype Caps = Caps (ManagedPtr Caps)-foreign import ccall "gst_caps_get_type" c_gst_caps_get_type :: -    IO GType--instance BoxedObject Caps where-    boxedType _ = c_gst_caps_get_type---- | Construct a `Caps` struct initialized to zero.-newZeroCaps :: MonadIO m => m Caps-newZeroCaps = liftIO $ callocBoxedBytes 64 >>= wrapBoxed Caps--instance tag ~ 'AttrSet => Constructible Caps tag where-    new _ attrs = do-        o <- newZeroCaps-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Caps`.-noCaps :: Maybe Caps-noCaps = Nothing--{- |-Get the value of the “@mini_object@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' caps #miniObject-@--}-getCapsMiniObject :: MonadIO m => Caps -> m Gst.MiniObject.MiniObject-getCapsMiniObject s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.MiniObject.MiniObject)-    val' <- (newPtr Gst.MiniObject.MiniObject) val-    return val'--#if ENABLE_OVERLOADING-data CapsMiniObjectFieldInfo-instance AttrInfo CapsMiniObjectFieldInfo where-    type AttrAllowedOps CapsMiniObjectFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint CapsMiniObjectFieldInfo = (~) (Ptr Gst.MiniObject.MiniObject)-    type AttrBaseTypeConstraint CapsMiniObjectFieldInfo = (~) Caps-    type AttrGetType CapsMiniObjectFieldInfo = Gst.MiniObject.MiniObject-    type AttrLabel CapsMiniObjectFieldInfo = "mini_object"-    type AttrOrigin CapsMiniObjectFieldInfo = Caps-    attrGet _ = getCapsMiniObject-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--caps_miniObject :: AttrLabelProxy "miniObject"-caps_miniObject = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Caps-type instance O.AttributeList Caps = CapsAttributeList-type CapsAttributeList = ('[ '("miniObject", CapsMiniObjectFieldInfo)] :: [(Symbol, *)])-#endif---- method Caps::new_any--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_new_any" gst_caps_new_any :: -    IO (Ptr Caps)--{- |-Creates a new 'GI.Gst.Structs.Caps.Caps' that indicates that it is compatible with-any media format.--}-capsNewAny ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Caps-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Caps.Caps' -}-capsNewAny  = liftIO $ do-    result <- gst_caps_new_any-    checkUnexpectedReturnNULL "capsNewAny" result-    result' <- (wrapBoxed Caps) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Caps::new_empty--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_new_empty" gst_caps_new_empty :: -    IO (Ptr Caps)--{- |-Creates a new 'GI.Gst.Structs.Caps.Caps' that is empty.  That is, the returned-'GI.Gst.Structs.Caps.Caps' contains no media formats.-The 'GI.Gst.Structs.Caps.Caps' is guaranteed to be writable.-Caller is responsible for unreffing the returned caps.--}-capsNewEmpty ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Caps-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Caps.Caps' -}-capsNewEmpty  = liftIO $ do-    result <- gst_caps_new_empty-    checkUnexpectedReturnNULL "capsNewEmpty" result-    result' <- (wrapBoxed Caps) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Caps::new_empty_simple--- method type : Constructor--- Args : [Arg {argCName = "media_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the media type of the structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_new_empty_simple" gst_caps_new_empty_simple :: -    CString ->                              -- media_type : TBasicType TUTF8-    IO (Ptr Caps)--{- |-Creates a new 'GI.Gst.Structs.Caps.Caps' that contains one 'GI.Gst.Structs.Structure.Structure' with name-/@mediaType@/.-Caller is responsible for unreffing the returned caps.--}-capsNewEmptySimple ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@mediaType@/: the media type of the structure -}-    -> m Caps-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Caps.Caps' -}-capsNewEmptySimple mediaType = liftIO $ do-    mediaType' <- textToCString mediaType-    result <- gst_caps_new_empty_simple mediaType'-    checkUnexpectedReturnNULL "capsNewEmptySimple" result-    result' <- (wrapBoxed Caps) result-    freeMem mediaType'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Caps::append--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps1", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps that will be appended to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps2", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to append", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_append" gst_caps_append :: -    Ptr Caps ->                             -- caps1 : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- caps2 : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-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.--}-capsAppend ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps1@/: the 'GI.Gst.Structs.Caps.Caps' that will be appended to -}-    -> Caps-    {- ^ /@caps2@/: the 'GI.Gst.Structs.Caps.Caps' to append -}-    -> m ()-capsAppend caps1 caps2 = liftIO $ do-    caps1' <- unsafeManagedPtrGetPtr caps1-    caps2' <- B.ManagedPtr.disownBoxed caps2-    gst_caps_append caps1' caps2'-    touchManagedPtr caps1-    touchManagedPtr caps2-    return ()--#if ENABLE_OVERLOADING-data CapsAppendMethodInfo-instance (signature ~ (Caps -> m ()), MonadIO m) => O.MethodInfo CapsAppendMethodInfo Caps signature where-    overloadedMethod _ = capsAppend--#endif---- method Caps::append_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps that will be appended to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure to append", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_append_structure" gst_caps_append_structure :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Appends /@structure@/ to /@caps@/.  The structure is not copied; /@caps@/-becomes the owner of /@structure@/.--}-capsAppendStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' that will be appended to -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' to append -}-    -> m ()-capsAppendStructure caps structure = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    structure' <- B.ManagedPtr.disownBoxed structure-    gst_caps_append_structure caps' structure'-    touchManagedPtr caps-    touchManagedPtr structure-    return ()--#if ENABLE_OVERLOADING-data CapsAppendStructureMethodInfo-instance (signature ~ (Gst.Structure.Structure -> m ()), MonadIO m) => O.MethodInfo CapsAppendStructureMethodInfo Caps signature where-    overloadedMethod _ = capsAppendStructure--#endif---- method Caps::append_structure_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps that will be appended to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure to append", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures to append", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_append_structure_full" gst_caps_append_structure_full :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Gst.CapsFeatures.CapsFeatures ->    -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO ()--{- |-Appends /@structure@/ with /@features@/ to /@caps@/.  The structure is not copied; /@caps@/-becomes the owner of /@structure@/.--/Since: 1.2/--}-capsAppendStructureFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' that will be appended to -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' to append -}-    -> Maybe (Gst.CapsFeatures.CapsFeatures)-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' to append -}-    -> m ()-capsAppendStructureFull caps structure features = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    structure' <- B.ManagedPtr.disownBoxed structure-    maybeFeatures <- case features of-        Nothing -> return nullPtr-        Just jFeatures -> do-            jFeatures' <- B.ManagedPtr.disownBoxed jFeatures-            return jFeatures'-    gst_caps_append_structure_full caps' structure' maybeFeatures-    touchManagedPtr caps-    touchManagedPtr structure-    whenJust features touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data CapsAppendStructureFullMethodInfo-instance (signature ~ (Gst.Structure.Structure -> Maybe (Gst.CapsFeatures.CapsFeatures) -> m ()), MonadIO m) => O.MethodInfo CapsAppendStructureFullMethodInfo Caps signature where-    overloadedMethod _ = capsAppendStructureFull--#endif---- method Caps::can_intersect--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps1", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps2", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_can_intersect" gst_caps_can_intersect :: -    Ptr Caps ->                             -- caps1 : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- caps2 : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Tries intersecting /@caps1@/ and /@caps2@/ and reports whether the result would not-be empty--}-capsCanIntersect ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps1@/: a 'GI.Gst.Structs.Caps.Caps' to intersect -}-    -> Caps-    {- ^ /@caps2@/: a 'GI.Gst.Structs.Caps.Caps' to intersect -}-    -> m Bool-    {- ^ __Returns:__ 'True' if intersection would be not empty -}-capsCanIntersect caps1 caps2 = liftIO $ do-    caps1' <- unsafeManagedPtrGetPtr caps1-    caps2' <- unsafeManagedPtrGetPtr caps2-    result <- gst_caps_can_intersect caps1' caps2'-    let result' = (/= 0) result-    touchManagedPtr caps1-    touchManagedPtr caps2-    return result'--#if ENABLE_OVERLOADING-data CapsCanIntersectMethodInfo-instance (signature ~ (Caps -> m Bool), MonadIO m) => O.MethodInfo CapsCanIntersectMethodInfo Caps signature where-    overloadedMethod _ = capsCanIntersect--#endif---- method Caps::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_copy" gst_caps_copy :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Caps)--{- |-Creates a new 'GI.Gst.Structs.Caps.Caps' 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.--}-capsCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps'. -}-    -> m Caps-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Caps.Caps' -}-capsCopy caps = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_copy caps'-    checkUnexpectedReturnNULL "capsCopy" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsCopyMethodInfo-instance (signature ~ (m Caps), MonadIO m) => O.MethodInfo CapsCopyMethodInfo Caps signature where-    overloadedMethod _ = capsCopy--#endif---- method Caps::copy_nth--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nth", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nth structure to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_copy_nth" gst_caps_copy_nth :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Word32 ->                               -- nth : TBasicType TUInt-    IO (Ptr Caps)--{- |-Creates a new 'GI.Gst.Structs.Caps.Caps' and appends a copy of the nth structure-contained in /@caps@/.--}-capsCopyNth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to copy -}-    -> Word32-    {- ^ /@nth@/: the nth structure to copy -}-    -> m Caps-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Caps.Caps' -}-capsCopyNth caps nth = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_copy_nth caps' nth-    checkUnexpectedReturnNULL "capsCopyNth" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsCopyNthMethodInfo-instance (signature ~ (Word32 -> m Caps), MonadIO m) => O.MethodInfo CapsCopyNthMethodInfo Caps signature where-    overloadedMethod _ = capsCopyNth--#endif---- method Caps::filter_and_map_in_place--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "CapsFilterMapFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call for each field", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "private data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_filter_and_map_in_place" gst_caps_filter_and_map_in_place :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    FunPtr Gst.Callbacks.C_CapsFilterMapFunc -> -- func : TInterface (Name {namespace = "Gst", name = "CapsFilterMapFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Calls the provided function once for each structure and caps feature in the-'GI.Gst.Structs.Caps.Caps'. In contrast to 'GI.Gst.Structs.Caps.capsForeach', the function may modify the-structure and features. In contrast to 'GI.Gst.Structs.Caps.capsFilterAndMapInPlace',-the structure and features are removed from the caps if 'False' is returned-from the function.-The caps must be mutable.--/Since: 1.6/--}-capsFilterAndMapInPlace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Gst.Callbacks.CapsFilterMapFunc-    {- ^ /@func@/: a function to call for each field -}-    -> m ()-capsFilterAndMapInPlace caps func = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    func' <- Gst.Callbacks.mk_CapsFilterMapFunc (Gst.Callbacks.wrap_CapsFilterMapFunc Nothing (Gst.Callbacks.drop_closures_CapsFilterMapFunc func))-    let userData = nullPtr-    gst_caps_filter_and_map_in_place caps' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr caps-    return ()--#if ENABLE_OVERLOADING-data CapsFilterAndMapInPlaceMethodInfo-instance (signature ~ (Gst.Callbacks.CapsFilterMapFunc -> m ()), MonadIO m) => O.MethodInfo CapsFilterAndMapInPlaceMethodInfo Caps signature where-    overloadedMethod _ = capsFilterAndMapInPlace--#endif---- method Caps::fixate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to fixate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_fixate" gst_caps_fixate :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Caps)--{- |-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 'GI.Gst.Structs.Structure.structureFixate'.--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()/@.--}-capsFixate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' to fixate -}-    -> m Caps-    {- ^ __Returns:__ the fixated caps -}-capsFixate caps = liftIO $ do-    caps' <- B.ManagedPtr.disownBoxed caps-    result <- gst_caps_fixate caps'-    checkUnexpectedReturnNULL "capsFixate" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsFixateMethodInfo-instance (signature ~ (m Caps), MonadIO m) => O.MethodInfo CapsFixateMethodInfo Caps signature where-    overloadedMethod _ = capsFixate--#endif---- method Caps::foreach--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "CapsForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call for each field", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "private data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_foreach" gst_caps_foreach :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    FunPtr Gst.Callbacks.C_CapsForeachFunc -> -- func : TInterface (Name {namespace = "Gst", name = "CapsForeachFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Calls the provided function once for each structure and caps feature in the-'GI.Gst.Structs.Caps.Caps'. The function must not modify the fields.-Also see 'GI.Gst.Structs.Caps.capsMapInPlace' and 'GI.Gst.Structs.Caps.capsFilterAndMapInPlace'.--/Since: 1.6/--}-capsForeach ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Gst.Callbacks.CapsForeachFunc-    {- ^ /@func@/: a function to call for each field -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the supplied function returns 'True' for each call,-'False' otherwise. -}-capsForeach caps func = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    func' <- Gst.Callbacks.mk_CapsForeachFunc (Gst.Callbacks.wrap_CapsForeachFunc Nothing (Gst.Callbacks.drop_closures_CapsForeachFunc func))-    let userData = nullPtr-    result <- gst_caps_foreach caps' func' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsForeachMethodInfo-instance (signature ~ (Gst.Callbacks.CapsForeachFunc -> m Bool), MonadIO m) => O.MethodInfo CapsForeachMethodInfo Caps signature where-    overloadedMethod _ = capsForeach--#endif---- method Caps::get_features--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "CapsFeatures"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_get_features" gst_caps_get_features :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Word32 ->                               -- index : TBasicType TUInt-    IO (Ptr Gst.CapsFeatures.CapsFeatures)--{- |-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-'GI.Gst.Structs.Caps.Caps' 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-'GI.Gst.Structs.CapsFeatures.capsFeaturesAdd'.--You do not need to free or unref the structure returned, it-belongs to the 'GI.Gst.Structs.Caps.Caps'.--/Since: 1.2/--}-capsGetFeatures ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Word32-    {- ^ /@index@/: the index of the structure -}-    -> m (Maybe Gst.CapsFeatures.CapsFeatures)-    {- ^ __Returns:__ a pointer to the 'GI.Gst.Structs.CapsFeatures.CapsFeatures'-    corresponding to /@index@/ -}-capsGetFeatures caps index = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_get_features caps' index-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.CapsFeatures.CapsFeatures) result'-        return result''-    touchManagedPtr caps-    return maybeResult--#if ENABLE_OVERLOADING-data CapsGetFeaturesMethodInfo-instance (signature ~ (Word32 -> m (Maybe Gst.CapsFeatures.CapsFeatures)), MonadIO m) => O.MethodInfo CapsGetFeaturesMethodInfo Caps signature where-    overloadedMethod _ = capsGetFeatures--#endif---- method Caps::get_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_get_size" gst_caps_get_size :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO Word32--{- |-Gets the number of structures contained in /@caps@/.--}-capsGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> m Word32-    {- ^ __Returns:__ the number of structures that /@caps@/ contains -}-capsGetSize caps = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_get_size caps'-    touchManagedPtr caps-    return result--#if ENABLE_OVERLOADING-data CapsGetSizeMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo CapsGetSizeMethodInfo Caps signature where-    overloadedMethod _ = capsGetSize--#endif---- method Caps::get_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_get_structure" gst_caps_get_structure :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Word32 ->                               -- index : TBasicType TUInt-    IO (Ptr Gst.Structure.Structure)--{- |-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-'GI.Gst.Structs.Caps.Caps' 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 'GI.Gst.Structs.Caps.Caps'.--}-capsGetStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Word32-    {- ^ /@index@/: the index of the structure -}-    -> m Gst.Structure.Structure-    {- ^ __Returns:__ a pointer to the 'GI.Gst.Structs.Structure.Structure' corresponding-    to /@index@/ -}-capsGetStructure caps index = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_get_structure caps' index-    checkUnexpectedReturnNULL "capsGetStructure" result-    result' <- (newBoxed Gst.Structure.Structure) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsGetStructureMethodInfo-instance (signature ~ (Word32 -> m Gst.Structure.Structure), MonadIO m) => O.MethodInfo CapsGetStructureMethodInfo Caps signature where-    overloadedMethod _ = capsGetStructure--#endif---- method Caps::intersect--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps1", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps2", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_intersect" gst_caps_intersect :: -    Ptr Caps ->                             -- caps1 : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- caps2 : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Caps)--{- |-Creates a new 'GI.Gst.Structs.Caps.Caps' that contains all the formats that are common-to both /@caps1@/ and /@caps2@/. Defaults to 'GI.Gst.Enums.CapsIntersectModeZigZag' mode.--}-capsIntersect ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps1@/: a 'GI.Gst.Structs.Caps.Caps' to intersect -}-    -> Caps-    {- ^ /@caps2@/: a 'GI.Gst.Structs.Caps.Caps' to intersect -}-    -> m Caps-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Caps.Caps' -}-capsIntersect caps1 caps2 = liftIO $ do-    caps1' <- unsafeManagedPtrGetPtr caps1-    caps2' <- unsafeManagedPtrGetPtr caps2-    result <- gst_caps_intersect caps1' caps2'-    checkUnexpectedReturnNULL "capsIntersect" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps1-    touchManagedPtr caps2-    return result'--#if ENABLE_OVERLOADING-data CapsIntersectMethodInfo-instance (signature ~ (Caps -> m Caps), MonadIO m) => O.MethodInfo CapsIntersectMethodInfo Caps signature where-    overloadedMethod _ = capsIntersect--#endif---- method Caps::intersect_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps1", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps2", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to intersect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "CapsIntersectMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The intersection algorithm/mode to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_intersect_full" gst_caps_intersect_full :: -    Ptr Caps ->                             -- caps1 : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- caps2 : TInterface (Name {namespace = "Gst", name = "Caps"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "CapsIntersectMode"})-    IO (Ptr Caps)--{- |-Creates a new 'GI.Gst.Structs.Caps.Caps' that contains all the formats that are common-to both /@caps1@/ and /@caps2@/, the order is defined by the 'GI.Gst.Enums.CapsIntersectMode'-used.--}-capsIntersectFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps1@/: a 'GI.Gst.Structs.Caps.Caps' to intersect -}-    -> Caps-    {- ^ /@caps2@/: a 'GI.Gst.Structs.Caps.Caps' to intersect -}-    -> Gst.Enums.CapsIntersectMode-    {- ^ /@mode@/: The intersection algorithm\/mode to use -}-    -> m Caps-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Caps.Caps' -}-capsIntersectFull caps1 caps2 mode = liftIO $ do-    caps1' <- unsafeManagedPtrGetPtr caps1-    caps2' <- unsafeManagedPtrGetPtr caps2-    let mode' = (fromIntegral . fromEnum) mode-    result <- gst_caps_intersect_full caps1' caps2' mode'-    checkUnexpectedReturnNULL "capsIntersectFull" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps1-    touchManagedPtr caps2-    return result'--#if ENABLE_OVERLOADING-data CapsIntersectFullMethodInfo-instance (signature ~ (Caps -> Gst.Enums.CapsIntersectMode -> m Caps), MonadIO m) => O.MethodInfo CapsIntersectFullMethodInfo Caps signature where-    overloadedMethod _ = capsIntersectFull--#endif---- method Caps::is_always_compatible--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps1", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps2", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_always_compatible" gst_caps_is_always_compatible :: -    Ptr Caps ->                             -- caps1 : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- caps2 : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-A given 'GI.Gst.Structs.Caps.Caps' 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@/.--}-capsIsAlwaysCompatible ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps1@/: the 'GI.Gst.Structs.Caps.Caps' to test -}-    -> Caps-    {- ^ /@caps2@/: the 'GI.Gst.Structs.Caps.Caps' to test -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@caps1@/ is a subset of /@caps2@/. -}-capsIsAlwaysCompatible caps1 caps2 = liftIO $ do-    caps1' <- unsafeManagedPtrGetPtr caps1-    caps2' <- unsafeManagedPtrGetPtr caps2-    result <- gst_caps_is_always_compatible caps1' caps2'-    let result' = (/= 0) result-    touchManagedPtr caps1-    touchManagedPtr caps2-    return result'--#if ENABLE_OVERLOADING-data CapsIsAlwaysCompatibleMethodInfo-instance (signature ~ (Caps -> m Bool), MonadIO m) => O.MethodInfo CapsIsAlwaysCompatibleMethodInfo Caps signature where-    overloadedMethod _ = capsIsAlwaysCompatible--#endif---- method Caps::is_any--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_any" gst_caps_is_any :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Determines if /@caps@/ represents any media format.--}-capsIsAny ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to test -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@caps@/ represents any format. -}-capsIsAny caps = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_is_any caps'-    let result' = (/= 0) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsIsAnyMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo CapsIsAnyMethodInfo Caps signature where-    overloadedMethod _ = capsIsAny--#endif---- method Caps::is_empty--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_empty" gst_caps_is_empty :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Determines if /@caps@/ represents no media formats.--}-capsIsEmpty ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to test -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@caps@/ represents no formats. -}-capsIsEmpty caps = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_is_empty caps'-    let result' = (/= 0) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsIsEmptyMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo CapsIsEmptyMethodInfo Caps signature where-    overloadedMethod _ = capsIsEmpty--#endif---- method Caps::is_equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps1", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps2", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_equal" gst_caps_is_equal :: -    Ptr Caps ->                             -- caps1 : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- caps2 : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Checks if the given caps represent the same set of caps.--}-capsIsEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps1@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Caps-    {- ^ /@caps2@/: another 'GI.Gst.Structs.Caps.Caps' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if both caps are equal. -}-capsIsEqual caps1 caps2 = liftIO $ do-    caps1' <- unsafeManagedPtrGetPtr caps1-    caps2' <- unsafeManagedPtrGetPtr caps2-    result <- gst_caps_is_equal caps1' caps2'-    let result' = (/= 0) result-    touchManagedPtr caps1-    touchManagedPtr caps2-    return result'--#if ENABLE_OVERLOADING-data CapsIsEqualMethodInfo-instance (signature ~ (Caps -> m Bool), MonadIO m) => O.MethodInfo CapsIsEqualMethodInfo Caps signature where-    overloadedMethod _ = capsIsEqual--#endif---- method Caps::is_equal_fixed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps1", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps2", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_equal_fixed" gst_caps_is_equal_fixed :: -    Ptr Caps ->                             -- caps1 : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- caps2 : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Tests if two 'GI.Gst.Structs.Caps.Caps' are equal.  This function only works on fixed-'GI.Gst.Structs.Caps.Caps'.--}-capsIsEqualFixed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps1@/: the 'GI.Gst.Structs.Caps.Caps' to test -}-    -> Caps-    {- ^ /@caps2@/: the 'GI.Gst.Structs.Caps.Caps' to test -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the arguments represent the same format -}-capsIsEqualFixed caps1 caps2 = liftIO $ do-    caps1' <- unsafeManagedPtrGetPtr caps1-    caps2' <- unsafeManagedPtrGetPtr caps2-    result <- gst_caps_is_equal_fixed caps1' caps2'-    let result' = (/= 0) result-    touchManagedPtr caps1-    touchManagedPtr caps2-    return result'--#if ENABLE_OVERLOADING-data CapsIsEqualFixedMethodInfo-instance (signature ~ (Caps -> m Bool), MonadIO m) => O.MethodInfo CapsIsEqualFixedMethodInfo Caps signature where-    overloadedMethod _ = capsIsEqualFixed--#endif---- method Caps::is_fixed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_fixed" gst_caps_is_fixed :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Fixed 'GI.Gst.Structs.Caps.Caps' 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.--}-capsIsFixed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to test -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@caps@/ is fixed -}-capsIsFixed caps = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_is_fixed caps'-    let result' = (/= 0) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsIsFixedMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo CapsIsFixedMethodInfo Caps signature where-    overloadedMethod _ = capsIsFixed--#endif---- method Caps::is_strictly_equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps1", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps2", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_strictly_equal" gst_caps_is_strictly_equal :: -    Ptr Caps ->                             -- caps1 : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- caps2 : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Checks if the given caps are exactly the same set of caps.--}-capsIsStrictlyEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps1@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Caps-    {- ^ /@caps2@/: another 'GI.Gst.Structs.Caps.Caps' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if both caps are strictly equal. -}-capsIsStrictlyEqual caps1 caps2 = liftIO $ do-    caps1' <- unsafeManagedPtrGetPtr caps1-    caps2' <- unsafeManagedPtrGetPtr caps2-    result <- gst_caps_is_strictly_equal caps1' caps2'-    let result' = (/= 0) result-    touchManagedPtr caps1-    touchManagedPtr caps2-    return result'--#if ENABLE_OVERLOADING-data CapsIsStrictlyEqualMethodInfo-instance (signature ~ (Caps -> m Bool), MonadIO m) => O.MethodInfo CapsIsStrictlyEqualMethodInfo Caps signature where-    overloadedMethod _ = capsIsStrictlyEqual--#endif---- method Caps::is_subset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "subset", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "superset", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a potentially greater #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_subset" gst_caps_is_subset :: -    Ptr Caps ->                             -- subset : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- superset : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Checks if all caps represented by /@subset@/ are also represented by /@superset@/.--}-capsIsSubset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@subset@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Caps-    {- ^ /@superset@/: a potentially greater 'GI.Gst.Structs.Caps.Caps' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@subset@/ is a subset of /@superset@/ -}-capsIsSubset subset superset = liftIO $ do-    subset' <- unsafeManagedPtrGetPtr subset-    superset' <- unsafeManagedPtrGetPtr superset-    result <- gst_caps_is_subset subset' superset'-    let result' = (/= 0) result-    touchManagedPtr subset-    touchManagedPtr superset-    return result'--#if ENABLE_OVERLOADING-data CapsIsSubsetMethodInfo-instance (signature ~ (Caps -> m Bool), MonadIO m) => O.MethodInfo CapsIsSubsetMethodInfo Caps signature where-    overloadedMethod _ = capsIsSubset--#endif---- method Caps::is_subset_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a potential #GstStructure subset of @caps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_subset_structure" gst_caps_is_subset_structure :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO CInt--{- |-Checks if /@structure@/ is a subset of /@caps@/. See 'GI.Gst.Structs.Caps.capsIsSubset'-for more information.--}-capsIsSubsetStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: a potential 'GI.Gst.Structs.Structure.Structure' subset of /@caps@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@structure@/ is a subset of /@caps@/ -}-capsIsSubsetStructure caps structure = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_caps_is_subset_structure caps' structure'-    let result' = (/= 0) result-    touchManagedPtr caps-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data CapsIsSubsetStructureMethodInfo-instance (signature ~ (Gst.Structure.Structure -> m Bool), MonadIO m) => O.MethodInfo CapsIsSubsetStructureMethodInfo Caps signature where-    overloadedMethod _ = capsIsSubsetStructure--#endif---- method Caps::is_subset_structure_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a potential #GstStructure subset of @caps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures for @structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_is_subset_structure_full" gst_caps_is_subset_structure_full :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Gst.CapsFeatures.CapsFeatures ->    -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO CInt--{- |-Checks if /@structure@/ is a subset of /@caps@/. See 'GI.Gst.Structs.Caps.capsIsSubset'-for more information.--/Since: 1.2/--}-capsIsSubsetStructureFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: a potential 'GI.Gst.Structs.Structure.Structure' subset of /@caps@/ -}-    -> Maybe (Gst.CapsFeatures.CapsFeatures)-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures' for /@structure@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@structure@/ is a subset of /@caps@/ -}-capsIsSubsetStructureFull caps structure features = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    structure' <- unsafeManagedPtrGetPtr structure-    maybeFeatures <- case features of-        Nothing -> return nullPtr-        Just jFeatures -> do-            jFeatures' <- unsafeManagedPtrGetPtr jFeatures-            return jFeatures'-    result <- gst_caps_is_subset_structure_full caps' structure' maybeFeatures-    let result' = (/= 0) result-    touchManagedPtr caps-    touchManagedPtr structure-    whenJust features touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-data CapsIsSubsetStructureFullMethodInfo-instance (signature ~ (Gst.Structure.Structure -> Maybe (Gst.CapsFeatures.CapsFeatures) -> m Bool), MonadIO m) => O.MethodInfo CapsIsSubsetStructureFullMethodInfo Caps signature where-    overloadedMethod _ = capsIsSubsetStructureFull--#endif---- method Caps::map_in_place--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "CapsMapFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call for each field", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "private data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_map_in_place" gst_caps_map_in_place :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    FunPtr Gst.Callbacks.C_CapsMapFunc ->   -- func : TInterface (Name {namespace = "Gst", name = "CapsMapFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Calls the provided function once for each structure and caps feature in the-'GI.Gst.Structs.Caps.Caps'. In contrast to 'GI.Gst.Structs.Caps.capsForeach', the function may modify but not-delete the structures and features. The caps must be mutable.--/Since: 1.6/--}-capsMapInPlace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Gst.Callbacks.CapsMapFunc-    {- ^ /@func@/: a function to call for each field -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the supplied function returns 'True' for each call,-'False' otherwise. -}-capsMapInPlace caps func = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    func' <- Gst.Callbacks.mk_CapsMapFunc (Gst.Callbacks.wrap_CapsMapFunc Nothing (Gst.Callbacks.drop_closures_CapsMapFunc func))-    let userData = nullPtr-    result <- gst_caps_map_in_place caps' func' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsMapInPlaceMethodInfo-instance (signature ~ (Gst.Callbacks.CapsMapFunc -> m Bool), MonadIO m) => O.MethodInfo CapsMapInPlaceMethodInfo Caps signature where-    overloadedMethod _ = capsMapInPlace--#endif---- method Caps::merge--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps1", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps that will take the new entries", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "caps2", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to merge in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_merge" gst_caps_merge :: -    Ptr Caps ->                             -- caps1 : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- caps2 : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Caps)--{- |-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.--}-capsMerge ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps1@/: the 'GI.Gst.Structs.Caps.Caps' that will take the new entries -}-    -> Caps-    {- ^ /@caps2@/: the 'GI.Gst.Structs.Caps.Caps' to merge in -}-    -> m Caps-    {- ^ __Returns:__ the merged caps. -}-capsMerge caps1 caps2 = liftIO $ do-    caps1' <- B.ManagedPtr.disownBoxed caps1-    caps2' <- B.ManagedPtr.disownBoxed caps2-    result <- gst_caps_merge caps1' caps2'-    checkUnexpectedReturnNULL "capsMerge" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps1-    touchManagedPtr caps2-    return result'--#if ENABLE_OVERLOADING-data CapsMergeMethodInfo-instance (signature ~ (Caps -> m Caps), MonadIO m) => O.MethodInfo CapsMergeMethodInfo Caps signature where-    overloadedMethod _ = capsMerge--#endif---- method Caps::merge_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to merge into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure to merge", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_merge_structure" gst_caps_merge_structure :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Caps)--{- |-Appends /@structure@/ to /@caps@/ if its not already expressed by /@caps@/.--}-capsMergeStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to merge into -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' to merge -}-    -> m Caps-    {- ^ __Returns:__ the merged caps. -}-capsMergeStructure caps structure = liftIO $ do-    caps' <- B.ManagedPtr.disownBoxed caps-    structure' <- B.ManagedPtr.disownBoxed structure-    result <- gst_caps_merge_structure caps' structure'-    checkUnexpectedReturnNULL "capsMergeStructure" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data CapsMergeStructureMethodInfo-instance (signature ~ (Gst.Structure.Structure -> m Caps), MonadIO m) => O.MethodInfo CapsMergeStructureMethodInfo Caps signature where-    overloadedMethod _ = capsMergeStructure--#endif---- method Caps::merge_structure_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to merge into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure to merge", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures to merge", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_merge_structure_full" gst_caps_merge_structure_full :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Gst.CapsFeatures.CapsFeatures ->    -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO (Ptr Caps)--{- |-Appends /@structure@/ with /@features@/ to /@caps@/ if its not already expressed by /@caps@/.--/Since: 1.2/--}-capsMergeStructureFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to merge into -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' to merge -}-    -> Maybe (Gst.CapsFeatures.CapsFeatures)-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' to merge -}-    -> m Caps-    {- ^ __Returns:__ the merged caps. -}-capsMergeStructureFull caps structure features = liftIO $ do-    caps' <- B.ManagedPtr.disownBoxed caps-    structure' <- B.ManagedPtr.disownBoxed structure-    maybeFeatures <- case features of-        Nothing -> return nullPtr-        Just jFeatures -> do-            jFeatures' <- B.ManagedPtr.disownBoxed jFeatures-            return jFeatures'-    result <- gst_caps_merge_structure_full caps' structure' maybeFeatures-    checkUnexpectedReturnNULL "capsMergeStructureFull" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps-    touchManagedPtr structure-    whenJust features touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-data CapsMergeStructureFullMethodInfo-instance (signature ~ (Gst.Structure.Structure -> Maybe (Gst.CapsFeatures.CapsFeatures) -> m Caps), MonadIO m) => O.MethodInfo CapsMergeStructureFullMethodInfo Caps signature where-    overloadedMethod _ = capsMergeStructureFull--#endif---- method Caps::normalize--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to normalize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_normalize" gst_caps_normalize :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Caps)--{- |-Returns a 'GI.Gst.Structs.Caps.Caps' 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()/@.--}-capsNormalize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' to normalize -}-    -> m Caps-    {- ^ __Returns:__ the normalized 'GI.Gst.Structs.Caps.Caps' -}-capsNormalize caps = liftIO $ do-    caps' <- B.ManagedPtr.disownBoxed caps-    result <- gst_caps_normalize caps'-    checkUnexpectedReturnNULL "capsNormalize" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsNormalizeMethodInfo-instance (signature ~ (m Caps), MonadIO m) => O.MethodInfo CapsNormalizeMethodInfo Caps signature where-    overloadedMethod _ = capsNormalize--#endif---- method Caps::remove_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to remove from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Index of the structure to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_remove_structure" gst_caps_remove_structure :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Word32 ->                               -- idx : TBasicType TUInt-    IO ()--{- |-removes the structure with the given index from the list of structures-contained in /@caps@/.--}-capsRemoveStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to remove from -}-    -> Word32-    {- ^ /@idx@/: Index of the structure to remove -}-    -> m ()-capsRemoveStructure caps idx = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    gst_caps_remove_structure caps' idx-    touchManagedPtr caps-    return ()--#if ENABLE_OVERLOADING-data CapsRemoveStructureMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo CapsRemoveStructureMethodInfo Caps signature where-    overloadedMethod _ = capsRemoveStructure--#endif---- method Caps::set_features--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_set_features" gst_caps_set_features :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Word32 ->                               -- index : TBasicType TUInt-    Ptr Gst.CapsFeatures.CapsFeatures ->    -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO ()--{- |-Sets the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' /@features@/ for the structure at /@index@/.--/Since: 1.2/--}-capsSetFeatures ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Word32-    {- ^ /@index@/: the index of the structure -}-    -> Maybe (Gst.CapsFeatures.CapsFeatures)-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' to set -}-    -> m ()-capsSetFeatures caps index features = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    maybeFeatures <- case features of-        Nothing -> return nullPtr-        Just jFeatures -> do-            jFeatures' <- B.ManagedPtr.disownBoxed jFeatures-            return jFeatures'-    gst_caps_set_features caps' index maybeFeatures-    touchManagedPtr caps-    whenJust features touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data CapsSetFeaturesMethodInfo-instance (signature ~ (Word32 -> Maybe (Gst.CapsFeatures.CapsFeatures) -> m ()), MonadIO m) => O.MethodInfo CapsSetFeaturesMethodInfo Caps signature where-    overloadedMethod _ = capsSetFeatures--#endif---- method Caps::set_features_simple--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_set_features_simple" gst_caps_set_features_simple :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Gst.CapsFeatures.CapsFeatures ->    -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO ()--{- |-Sets the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' /@features@/ for all the structures of /@caps@/.--/Since: 1.16/--}-capsSetFeaturesSimple ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> Maybe (Gst.CapsFeatures.CapsFeatures)-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' to set -}-    -> m ()-capsSetFeaturesSimple caps features = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    maybeFeatures <- case features of-        Nothing -> return nullPtr-        Just jFeatures -> do-            jFeatures' <- B.ManagedPtr.disownBoxed jFeatures-            return jFeatures'-    gst_caps_set_features_simple caps' maybeFeatures-    touchManagedPtr caps-    whenJust features touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data CapsSetFeaturesSimpleMethodInfo-instance (signature ~ (Maybe (Gst.CapsFeatures.CapsFeatures) -> m ()), MonadIO m) => O.MethodInfo CapsSetFeaturesSimpleMethodInfo Caps signature where-    overloadedMethod _ = capsSetFeaturesSimple--#endif---- method Caps::set_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a writable caps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the field to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value to set the field to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_set_value" gst_caps_set_value :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    CString ->                              -- field : TBasicType TUTF8-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-Sets the given /@field@/ on all structures of /@caps@/ to the given /@value@/.-This is a convenience function for calling 'GI.Gst.Structs.Structure.structureSetValue' on-all structures of /@caps@/.--}-capsSetValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a writable caps -}-    -> T.Text-    {- ^ /@field@/: name of the field to set -}-    -> GValue-    {- ^ /@value@/: value to set the field to -}-    -> m ()-capsSetValue caps field value = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    field' <- textToCString field-    value' <- unsafeManagedPtrGetPtr value-    gst_caps_set_value caps' field' value'-    touchManagedPtr caps-    touchManagedPtr value-    freeMem field'-    return ()--#if ENABLE_OVERLOADING-data CapsSetValueMethodInfo-instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m) => O.MethodInfo CapsSetValueMethodInfo Caps signature where-    overloadedMethod _ = capsSetValue--#endif---- method Caps::simplify--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps to simplify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_simplify" gst_caps_simplify :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Caps)--{- |-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@/.--}-capsSimplify ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' to simplify -}-    -> m Caps-    {- ^ __Returns:__ The simplified caps. -}-capsSimplify caps = liftIO $ do-    caps' <- B.ManagedPtr.disownBoxed caps-    result <- gst_caps_simplify caps'-    checkUnexpectedReturnNULL "capsSimplify" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsSimplifyMethodInfo-instance (signature ~ (m Caps), MonadIO m) => O.MethodInfo CapsSimplifyMethodInfo Caps signature where-    overloadedMethod _ = capsSimplify--#endif---- method Caps::steal_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to retrieve from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Index of the structure to retrieve", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_steal_structure" gst_caps_steal_structure :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Word32 ->                               -- index : TBasicType TUInt-    IO (Ptr Gst.Structure.Structure)--{- |-Retrieves the structure with the given index from the list of structures-contained in /@caps@/. The caller becomes the owner of the returned structure.--}-capsStealStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to retrieve from -}-    -> Word32-    {- ^ /@index@/: Index of the structure to retrieve -}-    -> m (Maybe Gst.Structure.Structure)-    {- ^ __Returns:__ a pointer to the 'GI.Gst.Structs.Structure.Structure'-    corresponding to /@index@/. -}-capsStealStructure caps index = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_steal_structure caps' index-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Structure.Structure) result'-        return result''-    touchManagedPtr caps-    return maybeResult--#if ENABLE_OVERLOADING-data CapsStealStructureMethodInfo-instance (signature ~ (Word32 -> m (Maybe Gst.Structure.Structure)), MonadIO m) => O.MethodInfo CapsStealStructureMethodInfo Caps signature where-    overloadedMethod _ = capsStealStructure--#endif---- method Caps::subtract--- method type : OrdinaryMethod--- Args : [Arg {argCName = "minuend", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstCaps to subtract from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subtrahend", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstCaps to subtract", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_subtract" gst_caps_subtract :: -    Ptr Caps ->                             -- minuend : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Caps ->                             -- subtrahend : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Caps)--{- |-Subtracts the /@subtrahend@/ from the /@minuend@/.-> This function does not work reliably if optional properties for caps-> are included on one caps and omitted on the other.--}-capsSubtract ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@minuend@/: 'GI.Gst.Structs.Caps.Caps' to subtract from -}-    -> Caps-    {- ^ /@subtrahend@/: 'GI.Gst.Structs.Caps.Caps' to subtract -}-    -> m Caps-    {- ^ __Returns:__ the resulting caps -}-capsSubtract minuend subtrahend = liftIO $ do-    minuend' <- unsafeManagedPtrGetPtr minuend-    subtrahend' <- unsafeManagedPtrGetPtr subtrahend-    result <- gst_caps_subtract minuend' subtrahend'-    checkUnexpectedReturnNULL "capsSubtract" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr minuend-    touchManagedPtr subtrahend-    return result'--#if ENABLE_OVERLOADING-data CapsSubtractMethodInfo-instance (signature ~ (Caps -> m Caps), MonadIO m) => O.MethodInfo CapsSubtractMethodInfo Caps signature where-    overloadedMethod _ = capsSubtract--#endif---- method Caps::to_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_to_string" gst_caps_to_string :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CString--{- |-Converts /@caps@/ to a string representation.  This string representation-can be converted back to a 'GI.Gst.Structs.Caps.Caps' by 'GI.Gst.Functions.capsFromString'.--For debugging purposes its easier to do something like this:--=== /C code/->->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 'GI.Gst.Structs.Caps.Caps' \/ 'GI.Gst.Structs.Structure.Structure' deeper than one level.--}-capsToString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string representing /@caps@/. -}-capsToString caps = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_caps_to_string caps'-    checkUnexpectedReturnNULL "capsToString" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsToStringMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo CapsToStringMethodInfo Caps signature where-    overloadedMethod _ = capsToString--#endif---- method Caps::truncate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCaps to truncate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_truncate" gst_caps_truncate :: -    Ptr Caps ->                             -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Caps)--{- |-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()/@.--}-capsTruncate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Caps-    {- ^ /@caps@/: the 'GI.Gst.Structs.Caps.Caps' to truncate -}-    -> m Caps-    {- ^ __Returns:__ truncated caps -}-capsTruncate caps = liftIO $ do-    caps' <- B.ManagedPtr.disownBoxed caps-    result <- gst_caps_truncate caps'-    checkUnexpectedReturnNULL "capsTruncate" result-    result' <- (wrapBoxed Caps) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data CapsTruncateMethodInfo-instance (signature ~ (m Caps), MonadIO m) => O.MethodInfo CapsTruncateMethodInfo Caps signature where-    overloadedMethod _ = capsTruncate--#endif---- method Caps::from_string--- method type : MemberFunction--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string to convert to #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_from_string" gst_caps_from_string :: -    CString ->                              -- string : TBasicType TUTF8-    IO (Ptr Caps)--{- |-Converts /@caps@/ from a string representation.--The current implementation of serialization will lead to unexpected results-when there are nested 'GI.Gst.Structs.Caps.Caps' \/ 'GI.Gst.Structs.Structure.Structure' deeper than one level.--}-capsFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: a string to convert to 'GI.Gst.Structs.Caps.Caps' -}-    -> m (Maybe Caps)-    {- ^ __Returns:__ a newly allocated 'GI.Gst.Structs.Caps.Caps' -}-capsFromString string = liftIO $ do-    string' <- textToCString string-    result <- gst_caps_from_string string'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Caps) result'-        return result''-    freeMem string'-    return maybeResult--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveCapsMethod (t :: Symbol) (o :: *) :: * where-    ResolveCapsMethod "append" o = CapsAppendMethodInfo-    ResolveCapsMethod "appendStructure" o = CapsAppendStructureMethodInfo-    ResolveCapsMethod "appendStructureFull" o = CapsAppendStructureFullMethodInfo-    ResolveCapsMethod "canIntersect" o = CapsCanIntersectMethodInfo-    ResolveCapsMethod "copy" o = CapsCopyMethodInfo-    ResolveCapsMethod "copyNth" o = CapsCopyNthMethodInfo-    ResolveCapsMethod "filterAndMapInPlace" o = CapsFilterAndMapInPlaceMethodInfo-    ResolveCapsMethod "fixate" o = CapsFixateMethodInfo-    ResolveCapsMethod "foreach" o = CapsForeachMethodInfo-    ResolveCapsMethod "intersect" o = CapsIntersectMethodInfo-    ResolveCapsMethod "intersectFull" o = CapsIntersectFullMethodInfo-    ResolveCapsMethod "isAlwaysCompatible" o = CapsIsAlwaysCompatibleMethodInfo-    ResolveCapsMethod "isAny" o = CapsIsAnyMethodInfo-    ResolveCapsMethod "isEmpty" o = CapsIsEmptyMethodInfo-    ResolveCapsMethod "isEqual" o = CapsIsEqualMethodInfo-    ResolveCapsMethod "isEqualFixed" o = CapsIsEqualFixedMethodInfo-    ResolveCapsMethod "isFixed" o = CapsIsFixedMethodInfo-    ResolveCapsMethod "isStrictlyEqual" o = CapsIsStrictlyEqualMethodInfo-    ResolveCapsMethod "isSubset" o = CapsIsSubsetMethodInfo-    ResolveCapsMethod "isSubsetStructure" o = CapsIsSubsetStructureMethodInfo-    ResolveCapsMethod "isSubsetStructureFull" o = CapsIsSubsetStructureFullMethodInfo-    ResolveCapsMethod "mapInPlace" o = CapsMapInPlaceMethodInfo-    ResolveCapsMethod "merge" o = CapsMergeMethodInfo-    ResolveCapsMethod "mergeStructure" o = CapsMergeStructureMethodInfo-    ResolveCapsMethod "mergeStructureFull" o = CapsMergeStructureFullMethodInfo-    ResolveCapsMethod "normalize" o = CapsNormalizeMethodInfo-    ResolveCapsMethod "removeStructure" o = CapsRemoveStructureMethodInfo-    ResolveCapsMethod "simplify" o = CapsSimplifyMethodInfo-    ResolveCapsMethod "stealStructure" o = CapsStealStructureMethodInfo-    ResolveCapsMethod "subtract" o = CapsSubtractMethodInfo-    ResolveCapsMethod "toString" o = CapsToStringMethodInfo-    ResolveCapsMethod "truncate" o = CapsTruncateMethodInfo-    ResolveCapsMethod "getFeatures" o = CapsGetFeaturesMethodInfo-    ResolveCapsMethod "getSize" o = CapsGetSizeMethodInfo-    ResolveCapsMethod "getStructure" o = CapsGetStructureMethodInfo-    ResolveCapsMethod "setFeatures" o = CapsSetFeaturesMethodInfo-    ResolveCapsMethod "setFeaturesSimple" o = CapsSetFeaturesSimpleMethodInfo-    ResolveCapsMethod "setValue" o = CapsSetValueMethodInfo-    ResolveCapsMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveCapsMethod t Caps, O.MethodInfo info Caps p) => OL.IsLabel t (Caps -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Caps.hs-boot
@@ -1,140 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Caps where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Caps = Caps (ManagedPtr Caps)-instance BoxedObject Caps where-#if ENABLE_OVERLOADING-data CapsAppendMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsAppendStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsAppendStructureFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsCanIntersectMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsCopyNthMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFilterAndMapInPlaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFixateMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsForeachMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsGetFeaturesMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsGetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsGetStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIntersectMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIntersectFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsAlwaysCompatibleMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsAnyMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsEmptyMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsEqualFixedMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsFixedMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsStrictlyEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsSubsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsSubsetStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsIsSubsetStructureFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsMapInPlaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsMergeMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsMergeStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsMergeStructureFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsNormalizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsRemoveStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsSetFeaturesMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsSetFeaturesSimpleMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsSetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsSimplifyMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsStealStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsSubtractMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsToStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsTruncateMethodInfo-#endif
− GI/Gst/Structs/CapsFeatures.hs
@@ -1,955 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Structs.CapsFeatures.CapsFeatures' can optionally be set on a 'GI.Gst.Structs.Caps.Caps' to add requirements-for additional features for a specific 'GI.Gst.Structs.Structure.Structure'. 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 'GI.Gst.Structs.CapsFeatures.CapsFeatures' are equivalent with the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' that only-contain 'GI.Gst.Constants.CAPS_FEATURE_MEMORY_SYSTEM_MEMORY'. ANY 'GI.Gst.Structs.CapsFeatures.CapsFeatures' as-created by 'GI.Gst.Structs.CapsFeatures.capsFeaturesNewAny' are equal to any other 'GI.Gst.Structs.CapsFeatures.CapsFeatures'-and can be used to specify that any 'GI.Gst.Structs.CapsFeatures.CapsFeatures' would be supported, e.g.-for elements that don\'t touch buffer memory. 'GI.Gst.Structs.Caps.Caps' with ANY 'GI.Gst.Structs.CapsFeatures.CapsFeatures'-are considered non-fixed and during negotiation some 'GI.Gst.Structs.CapsFeatures.CapsFeatures' have-to be selected.--Examples for caps features would be the requirement of a specific 'GI.Gst.Structs.Memory.Memory'-types or the requirement of having a specific 'GI.Gst.Structs.Meta.Meta' on the buffer. Features-are given as a string of the format \"memory:GstMemoryTypeName\" or-\"meta:GstMetaAPIName\".--/Since: 1.2/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.CapsFeatures-    ( ---- * Exported types-    CapsFeatures(..)                        ,-    noCapsFeatures                          ,--- -- * Methods--- ** add #method:add#--#if ENABLE_OVERLOADING-    CapsFeaturesAddMethodInfo               ,-#endif-    capsFeaturesAdd                         ,----- ** addId #method:addId#--#if ENABLE_OVERLOADING-    CapsFeaturesAddIdMethodInfo             ,-#endif-    capsFeaturesAddId                       ,----- ** contains #method:contains#--#if ENABLE_OVERLOADING-    CapsFeaturesContainsMethodInfo          ,-#endif-    capsFeaturesContains                    ,----- ** containsId #method:containsId#--#if ENABLE_OVERLOADING-    CapsFeaturesContainsIdMethodInfo        ,-#endif-    capsFeaturesContainsId                  ,----- ** copy #method:copy#--#if ENABLE_OVERLOADING-    CapsFeaturesCopyMethodInfo              ,-#endif-    capsFeaturesCopy                        ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    CapsFeaturesFreeMethodInfo              ,-#endif-    capsFeaturesFree                        ,----- ** fromString #method:fromString#--    capsFeaturesFromString                  ,----- ** getNth #method:getNth#--#if ENABLE_OVERLOADING-    CapsFeaturesGetNthMethodInfo            ,-#endif-    capsFeaturesGetNth                      ,----- ** getNthId #method:getNthId#--#if ENABLE_OVERLOADING-    CapsFeaturesGetNthIdMethodInfo          ,-#endif-    capsFeaturesGetNthId                    ,----- ** getSize #method:getSize#--#if ENABLE_OVERLOADING-    CapsFeaturesGetSizeMethodInfo           ,-#endif-    capsFeaturesGetSize                     ,----- ** isAny #method:isAny#--#if ENABLE_OVERLOADING-    CapsFeaturesIsAnyMethodInfo             ,-#endif-    capsFeaturesIsAny                       ,----- ** isEqual #method:isEqual#--#if ENABLE_OVERLOADING-    CapsFeaturesIsEqualMethodInfo           ,-#endif-    capsFeaturesIsEqual                     ,----- ** newAny #method:newAny#--    capsFeaturesNewAny                      ,----- ** newEmpty #method:newEmpty#--    capsFeaturesNewEmpty                    ,----- ** remove #method:remove#--#if ENABLE_OVERLOADING-    CapsFeaturesRemoveMethodInfo            ,-#endif-    capsFeaturesRemove                      ,----- ** removeId #method:removeId#--#if ENABLE_OVERLOADING-    CapsFeaturesRemoveIdMethodInfo          ,-#endif-    capsFeaturesRemoveId                    ,----- ** setParentRefcount #method:setParentRefcount#--#if ENABLE_OVERLOADING-    CapsFeaturesSetParentRefcountMethodInfo ,-#endif-    capsFeaturesSetParentRefcount           ,----- ** toString #method:toString#--#if ENABLE_OVERLOADING-    CapsFeaturesToStringMethodInfo          ,-#endif-    capsFeaturesToString                    ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- | Memory-managed wrapper type.-newtype CapsFeatures = CapsFeatures (ManagedPtr CapsFeatures)-foreign import ccall "gst_caps_features_get_type" c_gst_caps_features_get_type :: -    IO GType--instance BoxedObject CapsFeatures where-    boxedType _ = c_gst_caps_features_get_type---- | A convenience alias for `Nothing` :: `Maybe` `CapsFeatures`.-noCapsFeatures :: Maybe CapsFeatures-noCapsFeatures = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList CapsFeatures-type instance O.AttributeList CapsFeatures = CapsFeaturesAttributeList-type CapsFeaturesAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method CapsFeatures::new_any--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "CapsFeatures"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_new_any" gst_caps_features_new_any :: -    IO (Ptr CapsFeatures)--{- |-Creates a new, ANY 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. This will be equal-to any other 'GI.Gst.Structs.CapsFeatures.CapsFeatures' but caps with these are-unfixed.--Free-function: gst_caps_features_free--/Since: 1.2/--}-capsFeaturesNewAny ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m CapsFeatures-    {- ^ __Returns:__ a new, ANY 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-capsFeaturesNewAny  = liftIO $ do-    result <- gst_caps_features_new_any-    checkUnexpectedReturnNULL "capsFeaturesNewAny" result-    result' <- (wrapBoxed CapsFeatures) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method CapsFeatures::new_empty--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "CapsFeatures"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_new_empty" gst_caps_features_new_empty :: -    IO (Ptr CapsFeatures)--{- |-Creates a new, empty 'GI.Gst.Structs.CapsFeatures.CapsFeatures'.--Free-function: gst_caps_features_free--/Since: 1.2/--}-capsFeaturesNewEmpty ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m CapsFeatures-    {- ^ __Returns:__ a new, empty 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-capsFeaturesNewEmpty  = liftIO $ do-    result <- gst_caps_features_new_empty-    checkUnexpectedReturnNULL "capsFeaturesNewEmpty" result-    result' <- (wrapBoxed CapsFeatures) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method CapsFeatures::add--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_add" gst_caps_features_add :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    CString ->                              -- feature : TBasicType TUTF8-    IO ()--{- |-Adds /@feature@/ to /@features@/.--/Since: 1.2/--}-capsFeaturesAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> T.Text-    {- ^ /@feature@/: a feature. -}-    -> m ()-capsFeaturesAdd features feature = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    feature' <- textToCString feature-    gst_caps_features_add features' feature'-    touchManagedPtr features-    freeMem feature'-    return ()--#if ENABLE_OVERLOADING-data CapsFeaturesAddMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo CapsFeaturesAddMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesAdd--#endif---- method CapsFeatures::add_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_add_id" gst_caps_features_add_id :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    Word32 ->                               -- feature : TBasicType TUInt32-    IO ()--{- |-Adds /@feature@/ to /@features@/.--/Since: 1.2/--}-capsFeaturesAddId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> Word32-    {- ^ /@feature@/: a feature. -}-    -> m ()-capsFeaturesAddId features feature = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    gst_caps_features_add_id features' feature-    touchManagedPtr features-    return ()--#if ENABLE_OVERLOADING-data CapsFeaturesAddIdMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo CapsFeaturesAddIdMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesAddId--#endif---- method CapsFeatures::contains--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_contains" gst_caps_features_contains :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    CString ->                              -- feature : TBasicType TUTF8-    IO CInt--{- |-Check if /@features@/ contains /@feature@/.--/Since: 1.2/--}-capsFeaturesContains ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> T.Text-    {- ^ /@feature@/: a feature -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@features@/ contains /@feature@/. -}-capsFeaturesContains features feature = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    feature' <- textToCString feature-    result <- gst_caps_features_contains features' feature'-    let result' = (/= 0) result-    touchManagedPtr features-    freeMem feature'-    return result'--#if ENABLE_OVERLOADING-data CapsFeaturesContainsMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo CapsFeaturesContainsMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesContains--#endif---- method CapsFeatures::contains_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_contains_id" gst_caps_features_contains_id :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    Word32 ->                               -- feature : TBasicType TUInt32-    IO CInt--{- |-Check if /@features@/ contains /@feature@/.--/Since: 1.2/--}-capsFeaturesContainsId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> Word32-    {- ^ /@feature@/: a feature -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@features@/ contains /@feature@/. -}-capsFeaturesContainsId features feature = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    result <- gst_caps_features_contains_id features' feature-    let result' = (/= 0) result-    touchManagedPtr features-    return result'--#if ENABLE_OVERLOADING-data CapsFeaturesContainsIdMethodInfo-instance (signature ~ (Word32 -> m Bool), MonadIO m) => O.MethodInfo CapsFeaturesContainsIdMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesContainsId--#endif---- method CapsFeatures::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures to duplicate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "CapsFeatures"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_copy" gst_caps_features_copy :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO (Ptr CapsFeatures)--{- |-Duplicates a 'GI.Gst.Structs.CapsFeatures.CapsFeatures' and all its values.--Free-function: gst_caps_features_free--/Since: 1.2/--}-capsFeaturesCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures' to duplicate -}-    -> m CapsFeatures-    {- ^ __Returns:__ a new 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-capsFeaturesCopy features = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    result <- gst_caps_features_copy features'-    checkUnexpectedReturnNULL "capsFeaturesCopy" result-    result' <- (wrapBoxed CapsFeatures) result-    touchManagedPtr features-    return result'--#if ENABLE_OVERLOADING-data CapsFeaturesCopyMethodInfo-instance (signature ~ (m CapsFeatures), MonadIO m) => O.MethodInfo CapsFeaturesCopyMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesCopy--#endif---- method CapsFeatures::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCapsFeatures to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_free" gst_caps_features_free :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO ()--{- |-Frees a 'GI.Gst.Structs.CapsFeatures.CapsFeatures' and all its values. The caps features must not-have a parent when this function is called.--/Since: 1.2/--}-capsFeaturesFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: the 'GI.Gst.Structs.CapsFeatures.CapsFeatures' to free -}-    -> m ()-capsFeaturesFree features = liftIO $ do-    features' <- B.ManagedPtr.disownBoxed features-    gst_caps_features_free features'-    touchManagedPtr features-    return ()--#if ENABLE_OVERLOADING-data CapsFeaturesFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo CapsFeaturesFreeMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesFree--#endif---- method CapsFeatures::get_nth--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of the feature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_get_nth" gst_caps_features_get_nth :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    Word32 ->                               -- i : TBasicType TUInt-    IO CString--{- |-Returns the /@i@/-th feature of /@features@/.--/Since: 1.2/--}-capsFeaturesGetNth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> Word32-    {- ^ /@i@/: index of the feature -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The /@i@/-th feature of /@features@/. -}-capsFeaturesGetNth features i = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    result <- gst_caps_features_get_nth features' i-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr features-    return maybeResult--#if ENABLE_OVERLOADING-data CapsFeaturesGetNthMethodInfo-instance (signature ~ (Word32 -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo CapsFeaturesGetNthMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesGetNth--#endif---- method CapsFeatures::get_nth_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "i", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of the feature", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_get_nth_id" gst_caps_features_get_nth_id :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    Word32 ->                               -- i : TBasicType TUInt-    IO Word32--{- |-Returns the /@i@/-th feature of /@features@/.--/Since: 1.2/--}-capsFeaturesGetNthId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> Word32-    {- ^ /@i@/: index of the feature -}-    -> m Word32-    {- ^ __Returns:__ The /@i@/-th feature of /@features@/. -}-capsFeaturesGetNthId features i = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    result <- gst_caps_features_get_nth_id features' i-    touchManagedPtr features-    return result--#if ENABLE_OVERLOADING-data CapsFeaturesGetNthIdMethodInfo-instance (signature ~ (Word32 -> m Word32), MonadIO m) => O.MethodInfo CapsFeaturesGetNthIdMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesGetNthId--#endif---- method CapsFeatures::get_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_get_size" gst_caps_features_get_size :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO Word32--{- |-Returns the number of features in /@features@/.--/Since: 1.2/--}-capsFeaturesGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> m Word32-    {- ^ __Returns:__ The number of features in /@features@/. -}-capsFeaturesGetSize features = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    result <- gst_caps_features_get_size features'-    touchManagedPtr features-    return result--#if ENABLE_OVERLOADING-data CapsFeaturesGetSizeMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo CapsFeaturesGetSizeMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesGetSize--#endif---- method CapsFeatures::is_any--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_is_any" gst_caps_features_is_any :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO CInt--{- |-Check if /@features@/ is @/GST_CAPS_FEATURES_ANY/@.--/Since: 1.2/--}-capsFeaturesIsAny ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@features@/ is @/GST_CAPS_FEATURES_ANY/@. -}-capsFeaturesIsAny features = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    result <- gst_caps_features_is_any features'-    let result' = (/= 0) result-    touchManagedPtr features-    return result'--#if ENABLE_OVERLOADING-data CapsFeaturesIsAnyMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo CapsFeaturesIsAnyMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesIsAny--#endif---- method CapsFeatures::is_equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features1", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "features2", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_is_equal" gst_caps_features_is_equal :: -    Ptr CapsFeatures ->                     -- features1 : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    Ptr CapsFeatures ->                     -- features2 : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO CInt--{- |-Check if /@features1@/ and /@features2@/ are equal.--/Since: 1.2/--}-capsFeaturesIsEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features1@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> CapsFeatures-    {- ^ /@features2@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@features1@/ and /@features2@/ are equal. -}-capsFeaturesIsEqual features1 features2 = liftIO $ do-    features1' <- unsafeManagedPtrGetPtr features1-    features2' <- unsafeManagedPtrGetPtr features2-    result <- gst_caps_features_is_equal features1' features2'-    let result' = (/= 0) result-    touchManagedPtr features1-    touchManagedPtr features2-    return result'--#if ENABLE_OVERLOADING-data CapsFeaturesIsEqualMethodInfo-instance (signature ~ (CapsFeatures -> m Bool), MonadIO m) => O.MethodInfo CapsFeaturesIsEqualMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesIsEqual--#endif---- method CapsFeatures::remove--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_remove" gst_caps_features_remove :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    CString ->                              -- feature : TBasicType TUTF8-    IO ()--{- |-Removes /@feature@/ from /@features@/.--/Since: 1.2/--}-capsFeaturesRemove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> T.Text-    {- ^ /@feature@/: a feature. -}-    -> m ()-capsFeaturesRemove features feature = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    feature' <- textToCString feature-    gst_caps_features_remove features' feature'-    touchManagedPtr features-    freeMem feature'-    return ()--#if ENABLE_OVERLOADING-data CapsFeaturesRemoveMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo CapsFeaturesRemoveMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesRemove--#endif---- method CapsFeatures::remove_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "feature", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a feature.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_remove_id" gst_caps_features_remove_id :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    Word32 ->                               -- feature : TBasicType TUInt32-    IO ()--{- |-Removes /@feature@/ from /@features@/.--/Since: 1.2/--}-capsFeaturesRemoveId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> Word32-    {- ^ /@feature@/: a feature. -}-    -> m ()-capsFeaturesRemoveId features feature = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    gst_caps_features_remove_id features' feature-    touchManagedPtr features-    return ()--#if ENABLE_OVERLOADING-data CapsFeaturesRemoveIdMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo CapsFeaturesRemoveIdMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesRemoveId--#endif---- method CapsFeatures::set_parent_refcount--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refcount", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the parent's refcount", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_set_parent_refcount" gst_caps_features_set_parent_refcount :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    Int32 ->                                -- refcount : TBasicType TInt-    IO CInt--{- |-Sets the parent_refcount field of 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. 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 'GI.Gst.Structs.CapsFeatures.CapsFeatures', as described in-the MT Refcounting section of the design documents.--/Since: 1.2/--}-capsFeaturesSetParentRefcount ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> Int32-    {- ^ /@refcount@/: a pointer to the parent\'s refcount -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the parent refcount could be set. -}-capsFeaturesSetParentRefcount features refcount = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    result <- gst_caps_features_set_parent_refcount features' refcount-    let result' = (/= 0) result-    touchManagedPtr features-    return result'--#if ENABLE_OVERLOADING-data CapsFeaturesSetParentRefcountMethodInfo-instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo CapsFeaturesSetParentRefcountMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesSetParentRefcount--#endif---- method CapsFeatures::to_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "features", argType = TInterface (Name {namespace = "Gst", name = "CapsFeatures"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCapsFeatures", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_to_string" gst_caps_features_to_string :: -    Ptr CapsFeatures ->                     -- features : TInterface (Name {namespace = "Gst", name = "CapsFeatures"})-    IO CString--{- |-Converts /@features@/ to a human-readable string representation.--For debugging purposes its easier to do something like this:--=== /C code/->->GST_LOG ("features is %" GST_PTR_FORMAT, features);--This prints the features in human readable form.--Free-function: g_free--/Since: 1.2/--}-capsFeaturesToString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CapsFeatures-    {- ^ /@features@/: a 'GI.Gst.Structs.CapsFeatures.CapsFeatures' -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to string allocated by 'GI.GLib.Functions.malloc'.-    'GI.GLib.Functions.free' after usage. -}-capsFeaturesToString features = liftIO $ do-    features' <- unsafeManagedPtrGetPtr features-    result <- gst_caps_features_to_string features'-    checkUnexpectedReturnNULL "capsFeaturesToString" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr features-    return result'--#if ENABLE_OVERLOADING-data CapsFeaturesToStringMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo CapsFeaturesToStringMethodInfo CapsFeatures signature where-    overloadedMethod _ = capsFeaturesToString--#endif---- method CapsFeatures::from_string--- method type : MemberFunction--- Args : [Arg {argCName = "features", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string representation of a #GstCapsFeatures.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "CapsFeatures"}))--- throws : False--- Skip return : False--foreign import ccall "gst_caps_features_from_string" gst_caps_features_from_string :: -    CString ->                              -- features : TBasicType TUTF8-    IO (Ptr CapsFeatures)--{- |-Creates a 'GI.Gst.Structs.CapsFeatures.CapsFeatures' from a string representation.--Free-function: gst_caps_features_free--/Since: 1.2/--}-capsFeaturesFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@features@/: a string representation of a 'GI.Gst.Structs.CapsFeatures.CapsFeatures'. -}-    -> m (Maybe CapsFeatures)-    {- ^ __Returns:__ a new 'GI.Gst.Structs.CapsFeatures.CapsFeatures' or-    'Nothing' when the string could not be parsed. Free with-    'GI.Gst.Structs.CapsFeatures.capsFeaturesFree' after use. -}-capsFeaturesFromString features = liftIO $ do-    features' <- textToCString features-    result <- gst_caps_features_from_string features'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed CapsFeatures) result'-        return result''-    freeMem features'-    return maybeResult--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveCapsFeaturesMethod (t :: Symbol) (o :: *) :: * where-    ResolveCapsFeaturesMethod "add" o = CapsFeaturesAddMethodInfo-    ResolveCapsFeaturesMethod "addId" o = CapsFeaturesAddIdMethodInfo-    ResolveCapsFeaturesMethod "contains" o = CapsFeaturesContainsMethodInfo-    ResolveCapsFeaturesMethod "containsId" o = CapsFeaturesContainsIdMethodInfo-    ResolveCapsFeaturesMethod "copy" o = CapsFeaturesCopyMethodInfo-    ResolveCapsFeaturesMethod "free" o = CapsFeaturesFreeMethodInfo-    ResolveCapsFeaturesMethod "isAny" o = CapsFeaturesIsAnyMethodInfo-    ResolveCapsFeaturesMethod "isEqual" o = CapsFeaturesIsEqualMethodInfo-    ResolveCapsFeaturesMethod "remove" o = CapsFeaturesRemoveMethodInfo-    ResolveCapsFeaturesMethod "removeId" o = CapsFeaturesRemoveIdMethodInfo-    ResolveCapsFeaturesMethod "toString" o = CapsFeaturesToStringMethodInfo-    ResolveCapsFeaturesMethod "getNth" o = CapsFeaturesGetNthMethodInfo-    ResolveCapsFeaturesMethod "getNthId" o = CapsFeaturesGetNthIdMethodInfo-    ResolveCapsFeaturesMethod "getSize" o = CapsFeaturesGetSizeMethodInfo-    ResolveCapsFeaturesMethod "setParentRefcount" o = CapsFeaturesSetParentRefcountMethodInfo-    ResolveCapsFeaturesMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveCapsFeaturesMethod t CapsFeatures, O.MethodInfo info CapsFeatures p) => OL.IsLabel t (CapsFeatures -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/CapsFeatures.hs-boot
@@ -1,71 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.CapsFeatures where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype CapsFeatures = CapsFeatures (ManagedPtr CapsFeatures)-instance BoxedObject CapsFeatures where-#if ENABLE_OVERLOADING-data CapsFeaturesAddMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesAddIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesContainsMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesContainsIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesGetNthMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesGetNthIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesGetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesIsAnyMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesIsEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesRemoveMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesRemoveIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesSetParentRefcountMethodInfo-#endif-#if ENABLE_OVERLOADING-data CapsFeaturesToStringMethodInfo-#endif
− GI/Gst/Structs/ClockEntry.hs
@@ -1,772 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.ClockEntry-    ( ---- * Exported types-    ClockEntry(..)                          ,-    newZeroClockEntry                       ,-    noClockEntry                            ,--- -- * Properties--- ** clock #attr:clock#-{- | /No description available in the introspection data./--}-    clearClockEntryClock                    ,-#if ENABLE_OVERLOADING-    clockEntry_clock                        ,-#endif-    getClockEntryClock                      ,-    setClockEntryClock                      ,----- ** destroyData #attr:destroyData#-{- | /No description available in the introspection data./--}-    clearClockEntryDestroyData              ,-#if ENABLE_OVERLOADING-    clockEntry_destroyData                  ,-#endif-    getClockEntryDestroyData                ,-    setClockEntryDestroyData                ,----- ** func #attr:func#-{- | /No description available in the introspection data./--}-    clearClockEntryFunc                     ,-#if ENABLE_OVERLOADING-    clockEntry_func                         ,-#endif-    getClockEntryFunc                       ,-    setClockEntryFunc                       ,----- ** interval #attr:interval#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    clockEntry_interval                     ,-#endif-    getClockEntryInterval                   ,-    setClockEntryInterval                   ,----- ** refcount #attr:refcount#-{- | reference counter (read-only)--}-#if ENABLE_OVERLOADING-    clockEntry_refcount                     ,-#endif-    getClockEntryRefcount                   ,-    setClockEntryRefcount                   ,----- ** status #attr:status#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    clockEntry_status                       ,-#endif-    getClockEntryStatus                     ,-    setClockEntryStatus                     ,----- ** time #attr:time#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    clockEntry_time                         ,-#endif-    getClockEntryTime                       ,-    setClockEntryTime                       ,----- ** type #attr:type#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    clockEntry_type                         ,-#endif-    getClockEntryType                       ,-    setClockEntryType                       ,----- ** unscheduled #attr:unscheduled#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    clockEntry_unscheduled                  ,-#endif-    getClockEntryUnscheduled                ,-    setClockEntryUnscheduled                ,----- ** userData #attr:userData#-{- | /No description available in the introspection data./--}-    clearClockEntryUserData                 ,-#if ENABLE_OVERLOADING-    clockEntry_userData                     ,-#endif-    getClockEntryUserData                   ,-    setClockEntryUserData                   ,----- ** wokenUp #attr:wokenUp#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    clockEntry_wokenUp                      ,-#endif-    getClockEntryWokenUp                    ,-    setClockEntryWokenUp                    ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.Clock as Gst.Clock---- | Memory-managed wrapper type.-newtype ClockEntry = ClockEntry (ManagedPtr ClockEntry)-instance WrappedPtr ClockEntry where-    wrappedPtrCalloc = callocBytes 112-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 112 >=> wrapPtr ClockEntry)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `ClockEntry` struct initialized to zero.-newZeroClockEntry :: MonadIO m => m ClockEntry-newZeroClockEntry = liftIO $ wrappedPtrCalloc >>= wrapPtr ClockEntry--instance tag ~ 'AttrSet => Constructible ClockEntry tag where-    new _ attrs = do-        o <- newZeroClockEntry-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ClockEntry`.-noClockEntry :: Maybe ClockEntry-noClockEntry = Nothing--{- |-Get the value of the “@refcount@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #refcount-@--}-getClockEntryRefcount :: MonadIO m => ClockEntry -> m Int32-getClockEntryRefcount s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Int32-    return val--{- |-Set the value of the “@refcount@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #refcount 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryRefcount :: MonadIO m => ClockEntry -> Int32 -> m ()-setClockEntryRefcount s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Int32)--#if ENABLE_OVERLOADING-data ClockEntryRefcountFieldInfo-instance AttrInfo ClockEntryRefcountFieldInfo where-    type AttrAllowedOps ClockEntryRefcountFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ClockEntryRefcountFieldInfo = (~) Int32-    type AttrBaseTypeConstraint ClockEntryRefcountFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryRefcountFieldInfo = Int32-    type AttrLabel ClockEntryRefcountFieldInfo = "refcount"-    type AttrOrigin ClockEntryRefcountFieldInfo = ClockEntry-    attrGet _ = getClockEntryRefcount-    attrSet _ = setClockEntryRefcount-    attrConstruct = undefined-    attrClear _ = undefined--clockEntry_refcount :: AttrLabelProxy "refcount"-clockEntry_refcount = AttrLabelProxy--#endif---{- |-Get the value of the “@clock@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #clock-@--}-getClockEntryClock :: MonadIO m => ClockEntry -> m (Maybe Gst.Clock.Clock)-getClockEntryClock s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gst.Clock.Clock)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newObject Gst.Clock.Clock) val'-        return val''-    return result--{- |-Set the value of the “@clock@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #clock 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryClock :: MonadIO m => ClockEntry -> Ptr Gst.Clock.Clock -> m ()-setClockEntryClock s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr Gst.Clock.Clock)--{- |-Set the value of the “@clock@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #clock-@--}-clearClockEntryClock :: MonadIO m => ClockEntry -> m ()-clearClockEntryClock s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gst.Clock.Clock)--#if ENABLE_OVERLOADING-data ClockEntryClockFieldInfo-instance AttrInfo ClockEntryClockFieldInfo where-    type AttrAllowedOps ClockEntryClockFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ClockEntryClockFieldInfo = (~) (Ptr Gst.Clock.Clock)-    type AttrBaseTypeConstraint ClockEntryClockFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryClockFieldInfo = Maybe Gst.Clock.Clock-    type AttrLabel ClockEntryClockFieldInfo = "clock"-    type AttrOrigin ClockEntryClockFieldInfo = ClockEntry-    attrGet _ = getClockEntryClock-    attrSet _ = setClockEntryClock-    attrConstruct = undefined-    attrClear _ = clearClockEntryClock--clockEntry_clock :: AttrLabelProxy "clock"-clockEntry_clock = AttrLabelProxy--#endif---{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #type-@--}-getClockEntryType :: MonadIO m => ClockEntry -> m Gst.Enums.ClockEntryType-getClockEntryType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryType :: MonadIO m => ClockEntry -> Gst.Enums.ClockEntryType -> m ()-setClockEntryType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 16) (val' :: CUInt)--#if ENABLE_OVERLOADING-data ClockEntryTypeFieldInfo-instance AttrInfo ClockEntryTypeFieldInfo where-    type AttrAllowedOps ClockEntryTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ClockEntryTypeFieldInfo = (~) Gst.Enums.ClockEntryType-    type AttrBaseTypeConstraint ClockEntryTypeFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryTypeFieldInfo = Gst.Enums.ClockEntryType-    type AttrLabel ClockEntryTypeFieldInfo = "type"-    type AttrOrigin ClockEntryTypeFieldInfo = ClockEntry-    attrGet _ = getClockEntryType-    attrSet _ = setClockEntryType-    attrConstruct = undefined-    attrClear _ = undefined--clockEntry_type :: AttrLabelProxy "type"-clockEntry_type = AttrLabelProxy--#endif---{- |-Get the value of the “@time@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #time-@--}-getClockEntryTime :: MonadIO m => ClockEntry -> m Word64-getClockEntryTime s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word64-    return val--{- |-Set the value of the “@time@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #time 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryTime :: MonadIO m => ClockEntry -> Word64 -> m ()-setClockEntryTime s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Word64)--#if ENABLE_OVERLOADING-data ClockEntryTimeFieldInfo-instance AttrInfo ClockEntryTimeFieldInfo where-    type AttrAllowedOps ClockEntryTimeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ClockEntryTimeFieldInfo = (~) Word64-    type AttrBaseTypeConstraint ClockEntryTimeFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryTimeFieldInfo = Word64-    type AttrLabel ClockEntryTimeFieldInfo = "time"-    type AttrOrigin ClockEntryTimeFieldInfo = ClockEntry-    attrGet _ = getClockEntryTime-    attrSet _ = setClockEntryTime-    attrConstruct = undefined-    attrClear _ = undefined--clockEntry_time :: AttrLabelProxy "time"-clockEntry_time = AttrLabelProxy--#endif---{- |-Get the value of the “@interval@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #interval-@--}-getClockEntryInterval :: MonadIO m => ClockEntry -> m Word64-getClockEntryInterval s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Word64-    return val--{- |-Set the value of the “@interval@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #interval 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryInterval :: MonadIO m => ClockEntry -> Word64 -> m ()-setClockEntryInterval s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: Word64)--#if ENABLE_OVERLOADING-data ClockEntryIntervalFieldInfo-instance AttrInfo ClockEntryIntervalFieldInfo where-    type AttrAllowedOps ClockEntryIntervalFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ClockEntryIntervalFieldInfo = (~) Word64-    type AttrBaseTypeConstraint ClockEntryIntervalFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryIntervalFieldInfo = Word64-    type AttrLabel ClockEntryIntervalFieldInfo = "interval"-    type AttrOrigin ClockEntryIntervalFieldInfo = ClockEntry-    attrGet _ = getClockEntryInterval-    attrSet _ = setClockEntryInterval-    attrConstruct = undefined-    attrClear _ = undefined--clockEntry_interval :: AttrLabelProxy "interval"-clockEntry_interval = AttrLabelProxy--#endif---{- |-Get the value of the “@status@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #status-@--}-getClockEntryStatus :: MonadIO m => ClockEntry -> m Gst.Enums.ClockReturn-getClockEntryStatus s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@status@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #status 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryStatus :: MonadIO m => ClockEntry -> Gst.Enums.ClockReturn -> m ()-setClockEntryStatus s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 40) (val' :: CUInt)--#if ENABLE_OVERLOADING-data ClockEntryStatusFieldInfo-instance AttrInfo ClockEntryStatusFieldInfo where-    type AttrAllowedOps ClockEntryStatusFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ClockEntryStatusFieldInfo = (~) Gst.Enums.ClockReturn-    type AttrBaseTypeConstraint ClockEntryStatusFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryStatusFieldInfo = Gst.Enums.ClockReturn-    type AttrLabel ClockEntryStatusFieldInfo = "status"-    type AttrOrigin ClockEntryStatusFieldInfo = ClockEntry-    attrGet _ = getClockEntryStatus-    attrSet _ = setClockEntryStatus-    attrConstruct = undefined-    attrClear _ = undefined--clockEntry_status :: AttrLabelProxy "status"-clockEntry_status = AttrLabelProxy--#endif---{- |-Get the value of the “@func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #func-@--}-getClockEntryFunc :: MonadIO m => ClockEntry -> m (Maybe Gst.Callbacks.ClockCallback_WithClosures)-getClockEntryFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 48) :: IO (FunPtr Gst.Callbacks.C_ClockCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_ClockCallback val'-        return val''-    return result--{- |-Set the value of the “@func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #func 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryFunc :: MonadIO m => ClockEntry -> FunPtr Gst.Callbacks.C_ClockCallback -> m ()-setClockEntryFunc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (val :: FunPtr Gst.Callbacks.C_ClockCallback)--{- |-Set the value of the “@func@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #func-@--}-clearClockEntryFunc :: MonadIO m => ClockEntry -> m ()-clearClockEntryFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_ClockCallback)--#if ENABLE_OVERLOADING-data ClockEntryFuncFieldInfo-instance AttrInfo ClockEntryFuncFieldInfo where-    type AttrAllowedOps ClockEntryFuncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ClockEntryFuncFieldInfo = (~) (FunPtr Gst.Callbacks.C_ClockCallback)-    type AttrBaseTypeConstraint ClockEntryFuncFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryFuncFieldInfo = Maybe Gst.Callbacks.ClockCallback_WithClosures-    type AttrLabel ClockEntryFuncFieldInfo = "func"-    type AttrOrigin ClockEntryFuncFieldInfo = ClockEntry-    attrGet _ = getClockEntryFunc-    attrSet _ = setClockEntryFunc-    attrConstruct = undefined-    attrClear _ = clearClockEntryFunc--clockEntry_func :: AttrLabelProxy "func"-clockEntry_func = AttrLabelProxy--#endif---{- |-Get the value of the “@user_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #userData-@--}-getClockEntryUserData :: MonadIO m => ClockEntry -> m (Ptr ())-getClockEntryUserData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 56) :: IO (Ptr ())-    return val--{- |-Set the value of the “@user_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #userData 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryUserData :: MonadIO m => ClockEntry -> Ptr () -> m ()-setClockEntryUserData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (val :: Ptr ())--{- |-Set the value of the “@user_data@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #userData-@--}-clearClockEntryUserData :: MonadIO m => ClockEntry -> m ()-clearClockEntryUserData s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data ClockEntryUserDataFieldInfo-instance AttrInfo ClockEntryUserDataFieldInfo where-    type AttrAllowedOps ClockEntryUserDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ClockEntryUserDataFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint ClockEntryUserDataFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryUserDataFieldInfo = Ptr ()-    type AttrLabel ClockEntryUserDataFieldInfo = "user_data"-    type AttrOrigin ClockEntryUserDataFieldInfo = ClockEntry-    attrGet _ = getClockEntryUserData-    attrSet _ = setClockEntryUserData-    attrConstruct = undefined-    attrClear _ = clearClockEntryUserData--clockEntry_userData :: AttrLabelProxy "userData"-clockEntry_userData = AttrLabelProxy--#endif---{- |-Get the value of the “@destroy_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #destroyData-@--}-getClockEntryDestroyData :: MonadIO m => ClockEntry -> m (Maybe GLib.Callbacks.DestroyNotify)-getClockEntryDestroyData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO (FunPtr GLib.Callbacks.C_DestroyNotify)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_DestroyNotify val'-        return val''-    return result--{- |-Set the value of the “@destroy_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #destroyData 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryDestroyData :: MonadIO m => ClockEntry -> FunPtr GLib.Callbacks.C_DestroyNotify -> m ()-setClockEntryDestroyData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (val :: FunPtr GLib.Callbacks.C_DestroyNotify)--{- |-Set the value of the “@destroy_data@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #destroyData-@--}-clearClockEntryDestroyData :: MonadIO m => ClockEntry -> m ()-clearClockEntryDestroyData s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_DestroyNotify)--#if ENABLE_OVERLOADING-data ClockEntryDestroyDataFieldInfo-instance AttrInfo ClockEntryDestroyDataFieldInfo where-    type AttrAllowedOps ClockEntryDestroyDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ClockEntryDestroyDataFieldInfo = (~) (FunPtr GLib.Callbacks.C_DestroyNotify)-    type AttrBaseTypeConstraint ClockEntryDestroyDataFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryDestroyDataFieldInfo = Maybe GLib.Callbacks.DestroyNotify-    type AttrLabel ClockEntryDestroyDataFieldInfo = "destroy_data"-    type AttrOrigin ClockEntryDestroyDataFieldInfo = ClockEntry-    attrGet _ = getClockEntryDestroyData-    attrSet _ = setClockEntryDestroyData-    attrConstruct = undefined-    attrClear _ = clearClockEntryDestroyData--clockEntry_destroyData :: AttrLabelProxy "destroyData"-clockEntry_destroyData = AttrLabelProxy--#endif---{- |-Get the value of the “@unscheduled@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #unscheduled-@--}-getClockEntryUnscheduled :: MonadIO m => ClockEntry -> m Bool-getClockEntryUnscheduled s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@unscheduled@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #unscheduled 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryUnscheduled :: MonadIO m => ClockEntry -> Bool -> m ()-setClockEntryUnscheduled s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 72) (val' :: CInt)--#if ENABLE_OVERLOADING-data ClockEntryUnscheduledFieldInfo-instance AttrInfo ClockEntryUnscheduledFieldInfo where-    type AttrAllowedOps ClockEntryUnscheduledFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ClockEntryUnscheduledFieldInfo = (~) Bool-    type AttrBaseTypeConstraint ClockEntryUnscheduledFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryUnscheduledFieldInfo = Bool-    type AttrLabel ClockEntryUnscheduledFieldInfo = "unscheduled"-    type AttrOrigin ClockEntryUnscheduledFieldInfo = ClockEntry-    attrGet _ = getClockEntryUnscheduled-    attrSet _ = setClockEntryUnscheduled-    attrConstruct = undefined-    attrClear _ = undefined--clockEntry_unscheduled :: AttrLabelProxy "unscheduled"-clockEntry_unscheduled = AttrLabelProxy--#endif---{- |-Get the value of the “@woken_up@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' clockEntry #wokenUp-@--}-getClockEntryWokenUp :: MonadIO m => ClockEntry -> m Bool-getClockEntryWokenUp s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 76) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@woken_up@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' clockEntry [ #wokenUp 'Data.GI.Base.Attributes.:=' value ]-@--}-setClockEntryWokenUp :: MonadIO m => ClockEntry -> Bool -> m ()-setClockEntryWokenUp s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 76) (val' :: CInt)--#if ENABLE_OVERLOADING-data ClockEntryWokenUpFieldInfo-instance AttrInfo ClockEntryWokenUpFieldInfo where-    type AttrAllowedOps ClockEntryWokenUpFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ClockEntryWokenUpFieldInfo = (~) Bool-    type AttrBaseTypeConstraint ClockEntryWokenUpFieldInfo = (~) ClockEntry-    type AttrGetType ClockEntryWokenUpFieldInfo = Bool-    type AttrLabel ClockEntryWokenUpFieldInfo = "woken_up"-    type AttrOrigin ClockEntryWokenUpFieldInfo = ClockEntry-    attrGet _ = getClockEntryWokenUp-    attrSet _ = setClockEntryWokenUp-    attrConstruct = undefined-    attrClear _ = undefined--clockEntry_wokenUp :: AttrLabelProxy "wokenUp"-clockEntry_wokenUp = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ClockEntry-type instance O.AttributeList ClockEntry = ClockEntryAttributeList-type ClockEntryAttributeList = ('[ '("refcount", ClockEntryRefcountFieldInfo), '("clock", ClockEntryClockFieldInfo), '("type", ClockEntryTypeFieldInfo), '("time", ClockEntryTimeFieldInfo), '("interval", ClockEntryIntervalFieldInfo), '("status", ClockEntryStatusFieldInfo), '("func", ClockEntryFuncFieldInfo), '("userData", ClockEntryUserDataFieldInfo), '("destroyData", ClockEntryDestroyDataFieldInfo), '("unscheduled", ClockEntryUnscheduledFieldInfo), '("wokenUp", ClockEntryWokenUpFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveClockEntryMethod (t :: Symbol) (o :: *) :: * where-    ResolveClockEntryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveClockEntryMethod t ClockEntry, O.MethodInfo info ClockEntry p) => OL.IsLabel t (ClockEntry -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/ClockEntry.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.ClockEntry where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ClockEntry = ClockEntry (ManagedPtr ClockEntry)-instance WrappedPtr ClockEntry where
− GI/Gst/Structs/Context.hs
@@ -1,396 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Structs.Context.Context' 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-'GI.Gst.Objects.Element.elementSetContext', which will then be propagated to all-child elements. Elements can handle these in 'GI.Gst.Structs.ElementClass.ElementClass'.@/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.--'GI.Gst.Structs.Context.Context'\<!-- -->s can be persistent.-A persistent 'GI.Gst.Structs.Context.Context' is kept in elements when they reach-'GI.Gst.Enums.StateNull', non-persistent ones will be removed.-Also, a non-persistent context won\'t override a previous persistent-context set to an element.--/Since: 1.2/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Context-    ( ---- * Exported types-    Context(..)                             ,-    noContext                               ,--- -- * Methods--- ** getContextType #method:getContextType#--#if ENABLE_OVERLOADING-    ContextGetContextTypeMethodInfo         ,-#endif-    contextGetContextType                   ,----- ** getStructure #method:getStructure#--#if ENABLE_OVERLOADING-    ContextGetStructureMethodInfo           ,-#endif-    contextGetStructure                     ,----- ** hasContextType #method:hasContextType#--#if ENABLE_OVERLOADING-    ContextHasContextTypeMethodInfo         ,-#endif-    contextHasContextType                   ,----- ** isPersistent #method:isPersistent#--#if ENABLE_OVERLOADING-    ContextIsPersistentMethodInfo           ,-#endif-    contextIsPersistent                     ,----- ** new #method:new#--    contextNew                              ,----- ** writableStructure #method:writableStructure#--#if ENABLE_OVERLOADING-    ContextWritableStructureMethodInfo      ,-#endif-    contextWritableStructure                ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype Context = Context (ManagedPtr Context)-foreign import ccall "gst_context_get_type" c_gst_context_get_type :: -    IO GType--instance BoxedObject Context where-    boxedType _ = c_gst_context_get_type---- | A convenience alias for `Nothing` :: `Maybe` `Context`.-noContext :: Maybe Context-noContext = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Context-type instance O.AttributeList Context = ContextAttributeList-type ContextAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Context::new--- method type : Constructor--- Args : [Arg {argCName = "context_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Context type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "persistent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Persistent context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Context"}))--- throws : False--- Skip return : False--foreign import ccall "gst_context_new" gst_context_new :: -    CString ->                              -- context_type : TBasicType TUTF8-    CInt ->                                 -- persistent : TBasicType TBoolean-    IO (Ptr Context)--{- |-Create a new context.--/Since: 1.2/--}-contextNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@contextType@/: Context type -}-    -> Bool-    {- ^ /@persistent@/: Persistent context -}-    -> m Context-    {- ^ __Returns:__ The new context. -}-contextNew contextType persistent = liftIO $ do-    contextType' <- textToCString contextType-    let persistent' = (fromIntegral . fromEnum) persistent-    result <- gst_context_new contextType' persistent'-    checkUnexpectedReturnNULL "contextNew" result-    result' <- (wrapBoxed Context) result-    freeMem contextType'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Context::get_context_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_context_get_context_type" gst_context_get_context_type :: -    Ptr Context ->                          -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    IO CString--{- |-Get the type of /@context@/.--/Since: 1.2/--}-contextGetContextType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Context-    {- ^ /@context@/: The 'GI.Gst.Structs.Context.Context'. -}-    -> m T.Text-    {- ^ __Returns:__ The type of the context. -}-contextGetContextType context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- gst_context_get_context_type context'-    checkUnexpectedReturnNULL "contextGetContextType" result-    result' <- cstringToText result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data ContextGetContextTypeMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo ContextGetContextTypeMethodInfo Context signature where-    overloadedMethod _ = contextGetContextType--#endif---- method Context::get_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_context_get_structure" gst_context_get_structure :: -    Ptr Context ->                          -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    IO (Ptr Gst.Structure.Structure)--{- |-Access the structure of the context.--/Since: 1.2/--}-contextGetStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Context-    {- ^ /@context@/: The 'GI.Gst.Structs.Context.Context'. -}-    -> m Gst.Structure.Structure-    {- ^ __Returns:__ 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. -}-contextGetStructure context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- gst_context_get_structure context'-    checkUnexpectedReturnNULL "contextGetStructure" result-    result' <- (newBoxed Gst.Structure.Structure) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data ContextGetStructureMethodInfo-instance (signature ~ (m Gst.Structure.Structure), MonadIO m) => O.MethodInfo ContextGetStructureMethodInfo Context signature where-    overloadedMethod _ = contextGetStructure--#endif---- method Context::has_context_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Context type to check.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_context_has_context_type" gst_context_has_context_type :: -    Ptr Context ->                          -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    CString ->                              -- context_type : TBasicType TUTF8-    IO CInt--{- |-Checks if /@context@/ has /@contextType@/.--/Since: 1.2/--}-contextHasContextType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Context-    {- ^ /@context@/: The 'GI.Gst.Structs.Context.Context'. -}-    -> T.Text-    {- ^ /@contextType@/: Context type to check. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@context@/ has /@contextType@/. -}-contextHasContextType context contextType = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    contextType' <- textToCString contextType-    result <- gst_context_has_context_type context' contextType'-    let result' = (/= 0) result-    touchManagedPtr context-    freeMem contextType'-    return result'--#if ENABLE_OVERLOADING-data ContextHasContextTypeMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo ContextHasContextTypeMethodInfo Context signature where-    overloadedMethod _ = contextHasContextType--#endif---- method Context::is_persistent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_context_is_persistent" gst_context_is_persistent :: -    Ptr Context ->                          -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    IO CInt--{- |-Check if /@context@/ is persistent.--/Since: 1.2/--}-contextIsPersistent ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Context-    {- ^ /@context@/: The 'GI.Gst.Structs.Context.Context'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the context is persistent. -}-contextIsPersistent context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- gst_context_is_persistent context'-    let result' = (/= 0) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data ContextIsPersistentMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo ContextIsPersistentMethodInfo Context signature where-    overloadedMethod _ = contextIsPersistent--#endif---- method Context::writable_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstContext.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_context_writable_structure" gst_context_writable_structure :: -    Ptr Context ->                          -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    IO (Ptr Gst.Structure.Structure)--{- |-Get a writable version of the structure.--/Since: 1.2/--}-contextWritableStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Context-    {- ^ /@context@/: The 'GI.Gst.Structs.Context.Context'. -}-    -> m Gst.Structure.Structure-    {- ^ __Returns:__ 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. -}-contextWritableStructure context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- gst_context_writable_structure context'-    checkUnexpectedReturnNULL "contextWritableStructure" result-    result' <- (wrapBoxed Gst.Structure.Structure) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data ContextWritableStructureMethodInfo-instance (signature ~ (m Gst.Structure.Structure), MonadIO m) => O.MethodInfo ContextWritableStructureMethodInfo Context signature where-    overloadedMethod _ = contextWritableStructure--#endif--#if ENABLE_OVERLOADING-type family ResolveContextMethod (t :: Symbol) (o :: *) :: * where-    ResolveContextMethod "hasContextType" o = ContextHasContextTypeMethodInfo-    ResolveContextMethod "isPersistent" o = ContextIsPersistentMethodInfo-    ResolveContextMethod "writableStructure" o = ContextWritableStructureMethodInfo-    ResolveContextMethod "getContextType" o = ContextGetContextTypeMethodInfo-    ResolveContextMethod "getStructure" o = ContextGetStructureMethodInfo-    ResolveContextMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveContextMethod t Context, O.MethodInfo info Context p) => OL.IsLabel t (Context -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Context.hs-boot
@@ -1,41 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Context where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Context = Context (ManagedPtr Context)-instance BoxedObject Context where-#if ENABLE_OVERLOADING-data ContextGetContextTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ContextGetStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data ContextHasContextTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ContextIsPersistentMethodInfo-#endif-#if ENABLE_OVERLOADING-data ContextWritableStructureMethodInfo-#endif
− GI/Gst/Structs/DateTime.hs
@@ -1,1366 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Struct to store date, time and timezone information altogether.-'GI.Gst.Structs.DateTime.DateTime' is refcounted and immutable.--Date information is handled using the proleptic Gregorian calendar.--Provides basic creation functions and accessor functions to its fields.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.DateTime-    ( ---- * Exported types-    DateTime(..)                            ,-    noDateTime                              ,--- -- * Methods--- ** getDay #method:getDay#--#if ENABLE_OVERLOADING-    DateTimeGetDayMethodInfo                ,-#endif-    dateTimeGetDay                          ,----- ** getHour #method:getHour#--#if ENABLE_OVERLOADING-    DateTimeGetHourMethodInfo               ,-#endif-    dateTimeGetHour                         ,----- ** getMicrosecond #method:getMicrosecond#--#if ENABLE_OVERLOADING-    DateTimeGetMicrosecondMethodInfo        ,-#endif-    dateTimeGetMicrosecond                  ,----- ** getMinute #method:getMinute#--#if ENABLE_OVERLOADING-    DateTimeGetMinuteMethodInfo             ,-#endif-    dateTimeGetMinute                       ,----- ** getMonth #method:getMonth#--#if ENABLE_OVERLOADING-    DateTimeGetMonthMethodInfo              ,-#endif-    dateTimeGetMonth                        ,----- ** getSecond #method:getSecond#--#if ENABLE_OVERLOADING-    DateTimeGetSecondMethodInfo             ,-#endif-    dateTimeGetSecond                       ,----- ** getTimeZoneOffset #method:getTimeZoneOffset#--#if ENABLE_OVERLOADING-    DateTimeGetTimeZoneOffsetMethodInfo     ,-#endif-    dateTimeGetTimeZoneOffset               ,----- ** getYear #method:getYear#--#if ENABLE_OVERLOADING-    DateTimeGetYearMethodInfo               ,-#endif-    dateTimeGetYear                         ,----- ** hasDay #method:hasDay#--#if ENABLE_OVERLOADING-    DateTimeHasDayMethodInfo                ,-#endif-    dateTimeHasDay                          ,----- ** hasMonth #method:hasMonth#--#if ENABLE_OVERLOADING-    DateTimeHasMonthMethodInfo              ,-#endif-    dateTimeHasMonth                        ,----- ** hasSecond #method:hasSecond#--#if ENABLE_OVERLOADING-    DateTimeHasSecondMethodInfo             ,-#endif-    dateTimeHasSecond                       ,----- ** hasTime #method:hasTime#--#if ENABLE_OVERLOADING-    DateTimeHasTimeMethodInfo               ,-#endif-    dateTimeHasTime                         ,----- ** hasYear #method:hasYear#--#if ENABLE_OVERLOADING-    DateTimeHasYearMethodInfo               ,-#endif-    dateTimeHasYear                         ,----- ** new #method:new#--    dateTimeNew                             ,----- ** newFromGDateTime #method:newFromGDateTime#--    dateTimeNewFromGDateTime                ,----- ** newFromIso8601String #method:newFromIso8601String#--    dateTimeNewFromIso8601String            ,----- ** newFromUnixEpochLocalTime #method:newFromUnixEpochLocalTime#--    dateTimeNewFromUnixEpochLocalTime       ,----- ** newFromUnixEpochUtc #method:newFromUnixEpochUtc#--    dateTimeNewFromUnixEpochUtc             ,----- ** newLocalTime #method:newLocalTime#--    dateTimeNewLocalTime                    ,----- ** newNowLocalTime #method:newNowLocalTime#--    dateTimeNewNowLocalTime                 ,----- ** newNowUtc #method:newNowUtc#--    dateTimeNewNowUtc                       ,----- ** newY #method:newY#--    dateTimeNewY                            ,----- ** newYm #method:newYm#--    dateTimeNewYm                           ,----- ** newYmd #method:newYmd#--    dateTimeNewYmd                          ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    DateTimeRefMethodInfo                   ,-#endif-    dateTimeRef                             ,----- ** toGDateTime #method:toGDateTime#--#if ENABLE_OVERLOADING-    DateTimeToGDateTimeMethodInfo           ,-#endif-    dateTimeToGDateTime                     ,----- ** toIso8601String #method:toIso8601String#--#if ENABLE_OVERLOADING-    DateTimeToIso8601StringMethodInfo       ,-#endif-    dateTimeToIso8601String                 ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    DateTimeUnrefMethodInfo                 ,-#endif-    dateTimeUnref                           ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Structs.DateTime as GLib.DateTime---- | Memory-managed wrapper type.-newtype DateTime = DateTime (ManagedPtr DateTime)-foreign import ccall "gst_date_time_get_type" c_gst_date_time_get_type :: -    IO GType--instance BoxedObject DateTime where-    boxedType _ = c_gst_date_time_get_type---- | A convenience alias for `Nothing` :: `Maybe` `DateTime`.-noDateTime :: Maybe DateTime-noDateTime = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList DateTime-type instance O.AttributeList DateTime = DateTimeAttributeList-type DateTimeAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method DateTime::new--- method type : Constructor--- Args : [Arg {argCName = "tzoffset", argType = TBasicType TFloat, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Offset from UTC in hours.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gregorian year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gregorian month", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day of the gregorian month", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hour", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hour of the day", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minute", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minute of the hour", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seconds", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second of the minute", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new" gst_date_time_new :: -    CFloat ->                               -- tzoffset : TBasicType TFloat-    Int32 ->                                -- year : TBasicType TInt-    Int32 ->                                -- month : TBasicType TInt-    Int32 ->                                -- day : TBasicType TInt-    Int32 ->                                -- hour : TBasicType TInt-    Int32 ->                                -- minute : TBasicType TInt-    CDouble ->                              -- seconds : TBasicType TDouble-    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' 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 'GI.Gst.Structs.DateTime.DateTime' will created only for /@year@/. If-/@day@/ == -1, then 'GI.Gst.Structs.DateTime.DateTime' will created for /@year@/ and /@month@/ and-so on.--Free-function: gst_date_time_unref--}-dateTimeNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Float-    {- ^ /@tzoffset@/: Offset from UTC in hours. -}-    -> Int32-    {- ^ /@year@/: the gregorian year -}-    -> Int32-    {- ^ /@month@/: the gregorian month -}-    -> Int32-    {- ^ /@day@/: the day of the gregorian month -}-    -> Int32-    {- ^ /@hour@/: the hour of the day -}-    -> Int32-    {- ^ /@minute@/: the minute of the hour -}-    -> Double-    {- ^ /@seconds@/: the second of the minute -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeNew tzoffset year month day hour minute seconds = liftIO $ do-    let tzoffset' = realToFrac tzoffset-    let seconds' = realToFrac seconds-    result <- gst_date_time_new tzoffset' year month day hour minute seconds'-    checkUnexpectedReturnNULL "dateTimeNew" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_from_g_date_time--- method type : Constructor--- Args : [Arg {argCName = "dt", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GDateTime. The new #GstDateTime takes ownership.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_from_g_date_time" gst_date_time_new_from_g_date_time :: -    Ptr GLib.DateTime.DateTime ->           -- dt : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' from a 'GI.GLib.Structs.DateTime.DateTime' object.--Free-function: gst_date_time_unref--}-dateTimeNewFromGDateTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.DateTime.DateTime-    {- ^ /@dt@/: the 'GI.GLib.Structs.DateTime.DateTime'. The new 'GI.Gst.Structs.DateTime.DateTime' takes ownership. -}-    -> m (Maybe DateTime)-    {- ^ __Returns:__ a newly created 'GI.Gst.Structs.DateTime.DateTime',-or 'Nothing' on error -}-dateTimeNewFromGDateTime dt = liftIO $ do-    dt' <- B.ManagedPtr.disownBoxed dt-    result <- gst_date_time_new_from_g_date_time dt'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed DateTime) result'-        return result''-    touchManagedPtr dt-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_from_iso8601_string--- method type : Constructor--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ISO 8601-formatted datetime string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_from_iso8601_string" gst_date_time_new_from_iso8601_string :: -    CString ->                              -- string : TBasicType TUTF8-    IO (Ptr DateTime)--{- |-Tries to parse common variants of ISO-8601 datetime strings into a-'GI.Gst.Structs.DateTime.DateTime'. 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--}-dateTimeNewFromIso8601String ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: ISO 8601-formatted datetime string. -}-    -> m (Maybe DateTime)-    {- ^ __Returns:__ a newly created 'GI.Gst.Structs.DateTime.DateTime',-or 'Nothing' on error -}-dateTimeNewFromIso8601String string = liftIO $ do-    string' <- textToCString string-    result <- gst_date_time_new_from_iso8601_string string'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed DateTime) result'-        return result''-    freeMem string'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_from_unix_epoch_local_time--- method type : Constructor--- Args : [Arg {argCName = "secs", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "seconds from the Unix epoch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_from_unix_epoch_local_time" gst_date_time_new_from_unix_epoch_local_time :: -    Int64 ->                                -- secs : TBasicType TInt64-    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' using the time since Jan 1, 1970 specified by-/@secs@/. The 'GI.Gst.Structs.DateTime.DateTime' is in the local timezone.--Free-function: gst_date_time_unref--}-dateTimeNewFromUnixEpochLocalTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int64-    {- ^ /@secs@/: seconds from the Unix epoch -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeNewFromUnixEpochLocalTime secs = liftIO $ do-    result <- gst_date_time_new_from_unix_epoch_local_time secs-    checkUnexpectedReturnNULL "dateTimeNewFromUnixEpochLocalTime" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_from_unix_epoch_utc--- method type : Constructor--- Args : [Arg {argCName = "secs", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "seconds from the Unix epoch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_from_unix_epoch_utc" gst_date_time_new_from_unix_epoch_utc :: -    Int64 ->                                -- secs : TBasicType TInt64-    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' using the time since Jan 1, 1970 specified by-/@secs@/. The 'GI.Gst.Structs.DateTime.DateTime' is in the UTC timezone.--Free-function: gst_date_time_unref--}-dateTimeNewFromUnixEpochUtc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int64-    {- ^ /@secs@/: seconds from the Unix epoch -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeNewFromUnixEpochUtc secs = liftIO $ do-    result <- gst_date_time_new_from_unix_epoch_utc secs-    checkUnexpectedReturnNULL "dateTimeNewFromUnixEpochUtc" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_local_time--- method type : Constructor--- Args : [Arg {argCName = "year", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gregorian year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gregorian month, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day of the gregorian month, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hour", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hour of the day, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minute", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minute of the hour, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seconds", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second of the minute, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_local_time" gst_date_time_new_local_time :: -    Int32 ->                                -- year : TBasicType TInt-    Int32 ->                                -- month : TBasicType TInt-    Int32 ->                                -- day : TBasicType TInt-    Int32 ->                                -- hour : TBasicType TInt-    Int32 ->                                -- minute : TBasicType TInt-    CDouble ->                              -- seconds : TBasicType TDouble-    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' 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 'GI.Gst.Structs.DateTime.DateTime' created will only contain /@year@/,-and all other fields will be considered not set.--If /@day@/ is -1, then the 'GI.Gst.Structs.DateTime.DateTime' created will only contain /@year@/ and-/@month@/ and all other fields will be considered not set.--If /@hour@/ is -1, then the 'GI.Gst.Structs.DateTime.DateTime' 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--}-dateTimeNewLocalTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@year@/: the gregorian year -}-    -> Int32-    {- ^ /@month@/: the gregorian month, or -1 -}-    -> Int32-    {- ^ /@day@/: the day of the gregorian month, or -1 -}-    -> Int32-    {- ^ /@hour@/: the hour of the day, or -1 -}-    -> Int32-    {- ^ /@minute@/: the minute of the hour, or -1 -}-    -> Double-    {- ^ /@seconds@/: the second of the minute, or -1 -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeNewLocalTime year month day hour minute seconds = liftIO $ do-    let seconds' = realToFrac seconds-    result <- gst_date_time_new_local_time year month day hour minute seconds'-    checkUnexpectedReturnNULL "dateTimeNewLocalTime" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_now_local_time--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_now_local_time" gst_date_time_new_now_local_time :: -    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' representing the current date and time.--Free-function: gst_date_time_unref--}-dateTimeNewNowLocalTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m DateTime-    {- ^ __Returns:__ the newly created 'GI.Gst.Structs.DateTime.DateTime' which should-    be freed with 'GI.Gst.Structs.DateTime.dateTimeUnref'. -}-dateTimeNewNowLocalTime  = liftIO $ do-    result <- gst_date_time_new_now_local_time-    checkUnexpectedReturnNULL "dateTimeNewNowLocalTime" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_now_utc--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_now_utc" gst_date_time_new_now_utc :: -    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' that represents the current instant at Universal-coordinated time.--Free-function: gst_date_time_unref--}-dateTimeNewNowUtc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m DateTime-    {- ^ __Returns:__ the newly created 'GI.Gst.Structs.DateTime.DateTime' which should-  be freed with 'GI.Gst.Structs.DateTime.dateTimeUnref'. -}-dateTimeNewNowUtc  = liftIO $ do-    result <- gst_date_time_new_now_utc-    checkUnexpectedReturnNULL "dateTimeNewNowUtc" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_y--- method type : Constructor--- Args : [Arg {argCName = "year", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gregorian year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_y" gst_date_time_new_y :: -    Int32 ->                                -- year : TBasicType TInt-    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' 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--}-dateTimeNewY ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@year@/: the gregorian year -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeNewY year = liftIO $ do-    result <- gst_date_time_new_y year-    checkUnexpectedReturnNULL "dateTimeNewY" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_ym--- method type : Constructor--- Args : [Arg {argCName = "year", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gregorian year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gregorian month", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_ym" gst_date_time_new_ym :: -    Int32 ->                                -- year : TBasicType TInt-    Int32 ->                                -- month : TBasicType TInt-    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' 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 'GI.Gst.Structs.DateTime.DateTime' will created only for /@year@/.--Free-function: gst_date_time_unref--}-dateTimeNewYm ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@year@/: the gregorian year -}-    -> Int32-    {- ^ /@month@/: the gregorian month -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeNewYm year month = liftIO $ do-    result <- gst_date_time_new_ym year month-    checkUnexpectedReturnNULL "dateTimeNewYm" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_ymd--- method type : Constructor--- Args : [Arg {argCName = "year", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gregorian year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the gregorian month", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day of the gregorian month", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_new_ymd" gst_date_time_new_ymd :: -    Int32 ->                                -- year : TBasicType TInt-    Int32 ->                                -- month : TBasicType TInt-    Int32 ->                                -- day : TBasicType TInt-    IO (Ptr DateTime)--{- |-Creates a new 'GI.Gst.Structs.DateTime.DateTime' 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 'GI.Gst.Structs.DateTime.DateTime' will created only for /@year@/. If-/@day@/ == -1, then 'GI.Gst.Structs.DateTime.DateTime' will created for /@year@/ and /@month@/ and-so on.--Free-function: gst_date_time_unref--}-dateTimeNewYmd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@year@/: the gregorian year -}-    -> Int32-    {- ^ /@month@/: the gregorian month -}-    -> Int32-    {- ^ /@day@/: the day of the gregorian month -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeNewYmd year month day = liftIO $ do-    result <- gst_date_time_new_ymd year month day-    checkUnexpectedReturnNULL "dateTimeNewYmd" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::get_day--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_get_day" gst_date_time_get_day :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO Int32--{- |-Returns the day of the month of this 'GI.Gst.Structs.DateTime.DateTime'.-Call 'GI.Gst.Structs.DateTime.dateTimeHasDay' before, to avoid warnings.--}-dateTimeGetDay ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ The day of this 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeGetDay datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_get_day datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetDayMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetDayMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetDay--#endif---- method DateTime::get_hour--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_get_hour" gst_date_time_get_hour :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO Int32--{- |-Retrieves the hour of the day represented by /@datetime@/ in the gregorian-calendar. The return is in the range of 0 to 23.-Call 'GI.Gst.Structs.DateTime.dateTimeHasTime' before, to avoid warnings.--}-dateTimeGetHour ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the hour of the day -}-dateTimeGetHour datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_get_hour datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetHourMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetHourMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetHour--#endif---- method DateTime::get_microsecond--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_get_microsecond" gst_date_time_get_microsecond :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO Int32--{- |-Retrieves the fractional part of the seconds in microseconds represented by-/@datetime@/ in the gregorian calendar.--}-dateTimeGetMicrosecond ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the microsecond of the second -}-dateTimeGetMicrosecond datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_get_microsecond datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetMicrosecondMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetMicrosecondMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetMicrosecond--#endif---- method DateTime::get_minute--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_get_minute" gst_date_time_get_minute :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO Int32--{- |-Retrieves the minute of the hour represented by /@datetime@/ in the gregorian-calendar.-Call 'GI.Gst.Structs.DateTime.dateTimeHasTime' before, to avoid warnings.--}-dateTimeGetMinute ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the minute of the hour -}-dateTimeGetMinute datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_get_minute datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetMinuteMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetMinuteMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetMinute--#endif---- method DateTime::get_month--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_get_month" gst_date_time_get_month :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO Int32--{- |-Returns the month of this 'GI.Gst.Structs.DateTime.DateTime'. January is 1, February is 2, etc..-Call 'GI.Gst.Structs.DateTime.dateTimeHasMonth' before, to avoid warnings.--}-dateTimeGetMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ The month of this 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeGetMonth datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_get_month datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetMonthMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetMonthMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetMonth--#endif---- method DateTime::get_second--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_get_second" gst_date_time_get_second :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO Int32--{- |-Retrieves the second of the minute represented by /@datetime@/ in the gregorian-calendar.-Call 'GI.Gst.Structs.DateTime.dateTimeHasTime' before, to avoid warnings.--}-dateTimeGetSecond ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the second represented by /@datetime@/ -}-dateTimeGetSecond datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_get_second datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetSecondMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetSecondMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetSecond--#endif---- method DateTime::get_time_zone_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFloat)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_get_time_zone_offset" gst_date_time_get_time_zone_offset :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CFloat--{- |-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.--}-dateTimeGetTimeZoneOffset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Float-    {- ^ __Returns:__ the offset from UTC in hours -}-dateTimeGetTimeZoneOffset datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_get_time_zone_offset datetime'-    let result' = realToFrac result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeGetTimeZoneOffsetMethodInfo-instance (signature ~ (m Float), MonadIO m) => O.MethodInfo DateTimeGetTimeZoneOffsetMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetTimeZoneOffset--#endif---- method DateTime::get_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_get_year" gst_date_time_get_year :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO Int32--{- |-Returns the year of this 'GI.Gst.Structs.DateTime.DateTime'-Call 'GI.Gst.Structs.DateTime.dateTimeHasYear' before, to avoid warnings.--}-dateTimeGetYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ The year of this 'GI.Gst.Structs.DateTime.DateTime' -}-dateTimeGetYear datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_get_year datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetYearMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetYearMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetYear--#endif---- method DateTime::has_day--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_has_day" gst_date_time_has_day :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CInt--{- |-/No description available in the introspection data./--}-dateTimeHasDay ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@datetime@/\<!-- -->\'s day field is set, otherwise 'False' -}-dateTimeHasDay datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_has_day datetime'-    let result' = (/= 0) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeHasDayMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasDayMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeHasDay--#endif---- method DateTime::has_month--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_has_month" gst_date_time_has_month :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CInt--{- |-/No description available in the introspection data./--}-dateTimeHasMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@datetime@/\<!-- -->\'s month field is set, otherwise 'False' -}-dateTimeHasMonth datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_has_month datetime'-    let result' = (/= 0) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeHasMonthMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasMonthMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeHasMonth--#endif---- method DateTime::has_second--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_has_second" gst_date_time_has_second :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CInt--{- |-/No description available in the introspection data./--}-dateTimeHasSecond ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@datetime@/\<!-- -->\'s second field is set, otherwise 'False' -}-dateTimeHasSecond datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_has_second datetime'-    let result' = (/= 0) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeHasSecondMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasSecondMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeHasSecond--#endif---- method DateTime::has_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_has_time" gst_date_time_has_time :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CInt--{- |-/No description available in the introspection data./--}-dateTimeHasTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@datetime@/\<!-- -->\'s hour and minute fields are set,-    otherwise 'False' -}-dateTimeHasTime datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_has_time datetime'-    let result' = (/= 0) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeHasTimeMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasTimeMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeHasTime--#endif---- method DateTime::has_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_has_year" gst_date_time_has_year :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CInt--{- |-/No description available in the introspection data./--}-dateTimeHasYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@datetime@/\<!-- -->\'s year field is set (which should always-    be the case), otherwise 'False' -}-dateTimeHasYear datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_has_year datetime'-    let result' = (/= 0) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeHasYearMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeHasYearMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeHasYear--#endif---- method DateTime::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_ref" gst_date_time_ref :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO (Ptr DateTime)--{- |-Atomically increments the reference count of /@datetime@/ by one.--}-dateTimeRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m DateTime-    {- ^ __Returns:__ the reference /@datetime@/ -}-dateTimeRef datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_ref datetime'-    checkUnexpectedReturnNULL "dateTimeRef" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeRefMethodInfo-instance (signature ~ (m DateTime), MonadIO m) => O.MethodInfo DateTimeRefMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeRef--#endif---- method DateTime::to_g_date_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GstDateTime.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_to_g_date_time" gst_date_time_to_g_date_time :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO (Ptr GLib.DateTime.DateTime)--{- |-Creates a new 'GI.GLib.Structs.DateTime.DateTime' from a fully defined 'GI.Gst.Structs.DateTime.DateTime' object.--Free-function: g_date_time_unref--}-dateTimeToGDateTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: GstDateTime. -}-    -> m (Maybe GLib.DateTime.DateTime)-    {- ^ __Returns:__ a newly created 'GI.GLib.Structs.DateTime.DateTime', or-'Nothing' on error -}-dateTimeToGDateTime datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_to_g_date_time datetime'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed GLib.DateTime.DateTime) result'-        return result''-    touchManagedPtr datetime-    return maybeResult--#if ENABLE_OVERLOADING-data DateTimeToGDateTimeMethodInfo-instance (signature ~ (m (Maybe GLib.DateTime.DateTime)), MonadIO m) => O.MethodInfo DateTimeToGDateTimeMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeToGDateTime--#endif---- method DateTime::to_iso8601_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GstDateTime.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_to_iso8601_string" gst_date_time_to_iso8601_string :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CString--{- |-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--}-dateTimeToIso8601String ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: GstDateTime. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ a newly allocated string formatted according-    to ISO 8601 and only including the datetime fields that are-    valid, or 'Nothing' in case there was an error. The string should-    be freed with 'GI.GLib.Functions.free'. -}-dateTimeToIso8601String datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- gst_date_time_to_iso8601_string datetime'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr datetime-    return maybeResult--#if ENABLE_OVERLOADING-data DateTimeToIso8601StringMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo DateTimeToIso8601StringMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeToIso8601String--#endif---- method DateTime::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_date_time_unref" gst_date_time_unref :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO ()--{- |-Atomically decrements the reference count of /@datetime@/ by one.  When the-reference count reaches zero, the structure is freed.--}-dateTimeUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.Gst.Structs.DateTime.DateTime' -}-    -> m ()-dateTimeUnref datetime = liftIO $ do-    datetime' <- B.ManagedPtr.disownBoxed datetime-    gst_date_time_unref datetime'-    touchManagedPtr datetime-    return ()--#if ENABLE_OVERLOADING-data DateTimeUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DateTimeUnrefMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveDateTimeMethod (t :: Symbol) (o :: *) :: * where-    ResolveDateTimeMethod "hasDay" o = DateTimeHasDayMethodInfo-    ResolveDateTimeMethod "hasMonth" o = DateTimeHasMonthMethodInfo-    ResolveDateTimeMethod "hasSecond" o = DateTimeHasSecondMethodInfo-    ResolveDateTimeMethod "hasTime" o = DateTimeHasTimeMethodInfo-    ResolveDateTimeMethod "hasYear" o = DateTimeHasYearMethodInfo-    ResolveDateTimeMethod "ref" o = DateTimeRefMethodInfo-    ResolveDateTimeMethod "toGDateTime" o = DateTimeToGDateTimeMethodInfo-    ResolveDateTimeMethod "toIso8601String" o = DateTimeToIso8601StringMethodInfo-    ResolveDateTimeMethod "unref" o = DateTimeUnrefMethodInfo-    ResolveDateTimeMethod "getDay" o = DateTimeGetDayMethodInfo-    ResolveDateTimeMethod "getHour" o = DateTimeGetHourMethodInfo-    ResolveDateTimeMethod "getMicrosecond" o = DateTimeGetMicrosecondMethodInfo-    ResolveDateTimeMethod "getMinute" o = DateTimeGetMinuteMethodInfo-    ResolveDateTimeMethod "getMonth" o = DateTimeGetMonthMethodInfo-    ResolveDateTimeMethod "getSecond" o = DateTimeGetSecondMethodInfo-    ResolveDateTimeMethod "getTimeZoneOffset" o = DateTimeGetTimeZoneOffsetMethodInfo-    ResolveDateTimeMethod "getYear" o = DateTimeGetYearMethodInfo-    ResolveDateTimeMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDateTimeMethod t DateTime, O.MethodInfo info DateTime p) => OL.IsLabel t (DateTime -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/DateTime.hs-boot
@@ -1,77 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.DateTime where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype DateTime = DateTime (ManagedPtr DateTime)-instance BoxedObject DateTime where-#if ENABLE_OVERLOADING-data DateTimeGetDayMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetHourMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetMicrosecondMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetMinuteMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetMonthMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetSecondMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetTimeZoneOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeHasDayMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeHasMonthMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeHasSecondMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeHasTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeHasYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeToGDateTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeToIso8601StringMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeUnrefMethodInfo-#endif
− GI/Gst/Structs/DebugCategory.hs
@@ -1,410 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--This is the struct that describes the categories. Once initialized with-@/GST_DEBUG_CATEGORY_INIT/@, its values can\'t be changed anymore.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.DebugCategory-    ( ---- * Exported types-    DebugCategory(..)                       ,-    newZeroDebugCategory                    ,-    noDebugCategory                         ,--- -- * Methods--- ** free #method:free#--#if ENABLE_OVERLOADING-    DebugCategoryFreeMethodInfo             ,-#endif-    debugCategoryFree                       ,----- ** getColor #method:getColor#--#if ENABLE_OVERLOADING-    DebugCategoryGetColorMethodInfo         ,-#endif-    debugCategoryGetColor                   ,----- ** getDescription #method:getDescription#--#if ENABLE_OVERLOADING-    DebugCategoryGetDescriptionMethodInfo   ,-#endif-    debugCategoryGetDescription             ,----- ** getName #method:getName#--#if ENABLE_OVERLOADING-    DebugCategoryGetNameMethodInfo          ,-#endif-    debugCategoryGetName                    ,----- ** getThreshold #method:getThreshold#--#if ENABLE_OVERLOADING-    DebugCategoryGetThresholdMethodInfo     ,-#endif-    debugCategoryGetThreshold               ,----- ** resetThreshold #method:resetThreshold#--#if ENABLE_OVERLOADING-    DebugCategoryResetThresholdMethodInfo   ,-#endif-    debugCategoryResetThreshold             ,----- ** setThreshold #method:setThreshold#--#if ENABLE_OVERLOADING-    DebugCategorySetThresholdMethodInfo     ,-#endif-    debugCategorySetThreshold               ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums---- | Memory-managed wrapper type.-newtype DebugCategory = DebugCategory (ManagedPtr DebugCategory)-instance WrappedPtr DebugCategory where-    wrappedPtrCalloc = callocBytes 24-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr DebugCategory)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `DebugCategory` struct initialized to zero.-newZeroDebugCategory :: MonadIO m => m DebugCategory-newZeroDebugCategory = liftIO $ wrappedPtrCalloc >>= wrapPtr DebugCategory--instance tag ~ 'AttrSet => Constructible DebugCategory tag where-    new _ attrs = do-        o <- newZeroDebugCategory-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `DebugCategory`.-noDebugCategory :: Maybe DebugCategory-noDebugCategory = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList DebugCategory-type instance O.AttributeList DebugCategory = DebugCategoryAttributeList-type DebugCategoryAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method DebugCategory::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstDebugCategory to free.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_category_free" gst_debug_category_free :: -    Ptr DebugCategory ->                    -- category : TInterface (Name {namespace = "Gst", name = "DebugCategory"})-    IO ()--{- |-Removes and frees the category and all associated resources.--}-debugCategoryFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DebugCategory-    {- ^ /@category@/: 'GI.Gst.Structs.DebugCategory.DebugCategory' to free. -}-    -> m ()-debugCategoryFree category = liftIO $ do-    category' <- unsafeManagedPtrGetPtr category-    gst_debug_category_free category'-    touchManagedPtr category-    return ()--#if ENABLE_OVERLOADING-data DebugCategoryFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DebugCategoryFreeMethodInfo DebugCategory signature where-    overloadedMethod _ = debugCategoryFree--#endif---- method DebugCategory::get_color--- method type : OrdinaryMethod--- Args : [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugCategory to get the color of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_category_get_color" gst_debug_category_get_color :: -    Ptr DebugCategory ->                    -- category : TInterface (Name {namespace = "Gst", name = "DebugCategory"})-    IO Word32--{- |-Returns the color of a debug category used when printing output in this-category.--}-debugCategoryGetColor ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DebugCategory-    {- ^ /@category@/: a 'GI.Gst.Structs.DebugCategory.DebugCategory' to get the color of. -}-    -> m Word32-    {- ^ __Returns:__ the color of the category. -}-debugCategoryGetColor category = liftIO $ do-    category' <- unsafeManagedPtrGetPtr category-    result <- gst_debug_category_get_color category'-    touchManagedPtr category-    return result--#if ENABLE_OVERLOADING-data DebugCategoryGetColorMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo DebugCategoryGetColorMethodInfo DebugCategory signature where-    overloadedMethod _ = debugCategoryGetColor--#endif---- method DebugCategory::get_description--- method type : OrdinaryMethod--- Args : [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugCategory to get the description of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_category_get_description" gst_debug_category_get_description :: -    Ptr DebugCategory ->                    -- category : TInterface (Name {namespace = "Gst", name = "DebugCategory"})-    IO CString--{- |-Returns the description of a debug category.--}-debugCategoryGetDescription ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DebugCategory-    {- ^ /@category@/: a 'GI.Gst.Structs.DebugCategory.DebugCategory' to get the description of. -}-    -> m T.Text-    {- ^ __Returns:__ the description of the category. -}-debugCategoryGetDescription category = liftIO $ do-    category' <- unsafeManagedPtrGetPtr category-    result <- gst_debug_category_get_description category'-    checkUnexpectedReturnNULL "debugCategoryGetDescription" result-    result' <- cstringToText result-    touchManagedPtr category-    return result'--#if ENABLE_OVERLOADING-data DebugCategoryGetDescriptionMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo DebugCategoryGetDescriptionMethodInfo DebugCategory signature where-    overloadedMethod _ = debugCategoryGetDescription--#endif---- method DebugCategory::get_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugCategory to get name of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_category_get_name" gst_debug_category_get_name :: -    Ptr DebugCategory ->                    -- category : TInterface (Name {namespace = "Gst", name = "DebugCategory"})-    IO CString--{- |-Returns the name of a debug category.--}-debugCategoryGetName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DebugCategory-    {- ^ /@category@/: a 'GI.Gst.Structs.DebugCategory.DebugCategory' to get name of. -}-    -> m T.Text-    {- ^ __Returns:__ the name of the category. -}-debugCategoryGetName category = liftIO $ do-    category' <- unsafeManagedPtrGetPtr category-    result <- gst_debug_category_get_name category'-    checkUnexpectedReturnNULL "debugCategoryGetName" result-    result' <- cstringToText result-    touchManagedPtr category-    return result'--#if ENABLE_OVERLOADING-data DebugCategoryGetNameMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo DebugCategoryGetNameMethodInfo DebugCategory signature where-    overloadedMethod _ = debugCategoryGetName--#endif---- method DebugCategory::get_threshold--- method type : OrdinaryMethod--- Args : [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugCategory to get threshold of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "DebugLevel"}))--- throws : False--- Skip return : False--foreign import ccall "gst_debug_category_get_threshold" gst_debug_category_get_threshold :: -    Ptr DebugCategory ->                    -- category : TInterface (Name {namespace = "Gst", name = "DebugCategory"})-    IO CUInt--{- |-Returns the threshold of a 'GI.Gst.Structs.DebugCategory.DebugCategory'.--}-debugCategoryGetThreshold ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DebugCategory-    {- ^ /@category@/: a 'GI.Gst.Structs.DebugCategory.DebugCategory' to get threshold of. -}-    -> m Gst.Enums.DebugLevel-    {- ^ __Returns:__ the 'GI.Gst.Enums.DebugLevel' that is used as threshold. -}-debugCategoryGetThreshold category = liftIO $ do-    category' <- unsafeManagedPtrGetPtr category-    result <- gst_debug_category_get_threshold category'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr category-    return result'--#if ENABLE_OVERLOADING-data DebugCategoryGetThresholdMethodInfo-instance (signature ~ (m Gst.Enums.DebugLevel), MonadIO m) => O.MethodInfo DebugCategoryGetThresholdMethodInfo DebugCategory signature where-    overloadedMethod _ = debugCategoryGetThreshold--#endif---- method DebugCategory::reset_threshold--- method type : OrdinaryMethod--- Args : [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugCategory to reset threshold of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_category_reset_threshold" gst_debug_category_reset_threshold :: -    Ptr DebugCategory ->                    -- category : TInterface (Name {namespace = "Gst", name = "DebugCategory"})-    IO ()--{- |-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-'GI.Gst.Structs.DebugCategory.debugCategorySetThreshold'.--}-debugCategoryResetThreshold ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DebugCategory-    {- ^ /@category@/: a 'GI.Gst.Structs.DebugCategory.DebugCategory' to reset threshold of. -}-    -> m ()-debugCategoryResetThreshold category = liftIO $ do-    category' <- unsafeManagedPtrGetPtr category-    gst_debug_category_reset_threshold category'-    touchManagedPtr category-    return ()--#if ENABLE_OVERLOADING-data DebugCategoryResetThresholdMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DebugCategoryResetThresholdMethodInfo DebugCategory signature where-    overloadedMethod _ = debugCategoryResetThreshold--#endif---- method DebugCategory::set_threshold--- method type : OrdinaryMethod--- Args : [Arg {argCName = "category", argType = TInterface (Name {namespace = "Gst", name = "DebugCategory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDebugCategory to set threshold of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "level", argType = TInterface (Name {namespace = "Gst", name = "DebugLevel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstDebugLevel threshold to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_debug_category_set_threshold" gst_debug_category_set_threshold :: -    Ptr DebugCategory ->                    -- category : TInterface (Name {namespace = "Gst", name = "DebugCategory"})-    CUInt ->                                -- level : TInterface (Name {namespace = "Gst", name = "DebugLevel"})-    IO ()--{- |-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.-> Do not use this function in production code, because other functions may-> change the threshold of categories as side effect. It is however a nice-> function to use when debugging (even from gdb).--}-debugCategorySetThreshold ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DebugCategory-    {- ^ /@category@/: a 'GI.Gst.Structs.DebugCategory.DebugCategory' to set threshold of. -}-    -> Gst.Enums.DebugLevel-    {- ^ /@level@/: the 'GI.Gst.Enums.DebugLevel' threshold to set. -}-    -> m ()-debugCategorySetThreshold category level = liftIO $ do-    category' <- unsafeManagedPtrGetPtr category-    let level' = (fromIntegral . fromEnum) level-    gst_debug_category_set_threshold category' level'-    touchManagedPtr category-    return ()--#if ENABLE_OVERLOADING-data DebugCategorySetThresholdMethodInfo-instance (signature ~ (Gst.Enums.DebugLevel -> m ()), MonadIO m) => O.MethodInfo DebugCategorySetThresholdMethodInfo DebugCategory signature where-    overloadedMethod _ = debugCategorySetThreshold--#endif--#if ENABLE_OVERLOADING-type family ResolveDebugCategoryMethod (t :: Symbol) (o :: *) :: * where-    ResolveDebugCategoryMethod "free" o = DebugCategoryFreeMethodInfo-    ResolveDebugCategoryMethod "resetThreshold" o = DebugCategoryResetThresholdMethodInfo-    ResolveDebugCategoryMethod "getColor" o = DebugCategoryGetColorMethodInfo-    ResolveDebugCategoryMethod "getDescription" o = DebugCategoryGetDescriptionMethodInfo-    ResolveDebugCategoryMethod "getName" o = DebugCategoryGetNameMethodInfo-    ResolveDebugCategoryMethod "getThreshold" o = DebugCategoryGetThresholdMethodInfo-    ResolveDebugCategoryMethod "setThreshold" o = DebugCategorySetThresholdMethodInfo-    ResolveDebugCategoryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDebugCategoryMethod t DebugCategory, O.MethodInfo info DebugCategory p) => OL.IsLabel t (DebugCategory -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/DebugCategory.hs-boot
@@ -1,47 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.DebugCategory where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype DebugCategory = DebugCategory (ManagedPtr DebugCategory)-instance WrappedPtr DebugCategory where-#if ENABLE_OVERLOADING-data DebugCategoryFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data DebugCategoryGetColorMethodInfo-#endif-#if ENABLE_OVERLOADING-data DebugCategoryGetDescriptionMethodInfo-#endif-#if ENABLE_OVERLOADING-data DebugCategoryGetNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data DebugCategoryGetThresholdMethodInfo-#endif-#if ENABLE_OVERLOADING-data DebugCategoryResetThresholdMethodInfo-#endif-#if ENABLE_OVERLOADING-data DebugCategorySetThresholdMethodInfo-#endif
− GI/Gst/Structs/DebugMessage.hs
@@ -1,127 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--/No description available in the introspection data./--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.DebugMessage-    ( ---- * Exported types-    DebugMessage(..)                        ,-    noDebugMessage                          ,--- -- * Methods--- ** get #method:get#--#if ENABLE_OVERLOADING-    DebugMessageGetMethodInfo               ,-#endif-    debugMessageGet                         ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- | Memory-managed wrapper type.-newtype DebugMessage = DebugMessage (ManagedPtr DebugMessage)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr DebugMessage where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `DebugMessage`.-noDebugMessage :: Maybe DebugMessage-noDebugMessage = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList DebugMessage-type instance O.AttributeList DebugMessage = DebugMessageAttributeList-type DebugMessageAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method DebugMessage::get--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "DebugMessage"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a debug message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_debug_message_get" gst_debug_message_get :: -    Ptr DebugMessage ->                     -- message : TInterface (Name {namespace = "Gst", name = "DebugMessage"})-    IO CString--{- |-Gets the string representation of a 'GI.Gst.Structs.DebugMessage.DebugMessage'. This function is used-in debug handlers to extract the message.--}-debugMessageGet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DebugMessage-    {- ^ /@message@/: a debug message -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the string representation of a 'GI.Gst.Structs.DebugMessage.DebugMessage'. -}-debugMessageGet message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_debug_message_get message'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr message-    return maybeResult--#if ENABLE_OVERLOADING-data DebugMessageGetMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo DebugMessageGetMethodInfo DebugMessage signature where-    overloadedMethod _ = debugMessageGet--#endif--#if ENABLE_OVERLOADING-type family ResolveDebugMessageMethod (t :: Symbol) (o :: *) :: * where-    ResolveDebugMessageMethod "get" o = DebugMessageGetMethodInfo-    ResolveDebugMessageMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDebugMessageMethod t DebugMessage, O.MethodInfo info DebugMessage p) => OL.IsLabel t (DebugMessage -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/DebugMessage.hs-boot
@@ -1,29 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.DebugMessage where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype DebugMessage = DebugMessage (ManagedPtr DebugMessage)-instance WrappedPtr DebugMessage where-#if ENABLE_OVERLOADING-data DebugMessageGetMethodInfo-#endif
− GI/Gst/Structs/Event.hs
@@ -1,3411 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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 'GI.Gst.Objects.Element.elementSendEvent' and-elements will use 'GI.Gst.Objects.Pad.padSendEvent' or 'GI.Gst.Objects.Pad.padPushEvent'.-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 'Nothing' 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 'GI.Gst.Structs.Event.eventNewSeek' is used to create a seek event. It takes-the needed parameters to specify seeking time and mode.--=== /C code/->->  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");->  ...---}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Event-    ( ---- * Exported types-    Event(..)                               ,-    newZeroEvent                            ,-    noEvent                                 ,--- -- * Methods--- ** copySegment #method:copySegment#--#if ENABLE_OVERLOADING-    EventCopySegmentMethodInfo              ,-#endif-    eventCopySegment                        ,----- ** getRunningTimeOffset #method:getRunningTimeOffset#--#if ENABLE_OVERLOADING-    EventGetRunningTimeOffsetMethodInfo     ,-#endif-    eventGetRunningTimeOffset               ,----- ** getSeqnum #method:getSeqnum#--#if ENABLE_OVERLOADING-    EventGetSeqnumMethodInfo                ,-#endif-    eventGetSeqnum                          ,----- ** getStructure #method:getStructure#--#if ENABLE_OVERLOADING-    EventGetStructureMethodInfo             ,-#endif-    eventGetStructure                       ,----- ** hasName #method:hasName#--#if ENABLE_OVERLOADING-    EventHasNameMethodInfo                  ,-#endif-    eventHasName                            ,----- ** newBufferSize #method:newBufferSize#--    eventNewBufferSize                      ,----- ** newCaps #method:newCaps#--    eventNewCaps                            ,----- ** newCustom #method:newCustom#--    eventNewCustom                          ,----- ** newEos #method:newEos#--    eventNewEos                             ,----- ** newFlushStart #method:newFlushStart#--    eventNewFlushStart                      ,----- ** newFlushStop #method:newFlushStop#--    eventNewFlushStop                       ,----- ** newGap #method:newGap#--    eventNewGap                             ,----- ** newLatency #method:newLatency#--    eventNewLatency                         ,----- ** newNavigation #method:newNavigation#--    eventNewNavigation                      ,----- ** newProtection #method:newProtection#--    eventNewProtection                      ,----- ** newQos #method:newQos#--    eventNewQos                             ,----- ** newReconfigure #method:newReconfigure#--    eventNewReconfigure                     ,----- ** newSeek #method:newSeek#--    eventNewSeek                            ,----- ** newSegment #method:newSegment#--    eventNewSegment                         ,----- ** newSegmentDone #method:newSegmentDone#--    eventNewSegmentDone                     ,----- ** newSelectStreams #method:newSelectStreams#--    eventNewSelectStreams                   ,----- ** newSinkMessage #method:newSinkMessage#--    eventNewSinkMessage                     ,----- ** newStep #method:newStep#--    eventNewStep                            ,----- ** newStreamCollection #method:newStreamCollection#--    eventNewStreamCollection                ,----- ** newStreamGroupDone #method:newStreamGroupDone#--    eventNewStreamGroupDone                 ,----- ** newStreamStart #method:newStreamStart#--    eventNewStreamStart                     ,----- ** newTag #method:newTag#--    eventNewTag                             ,----- ** newToc #method:newToc#--    eventNewToc                             ,----- ** newTocSelect #method:newTocSelect#--    eventNewTocSelect                       ,----- ** parseBufferSize #method:parseBufferSize#--#if ENABLE_OVERLOADING-    EventParseBufferSizeMethodInfo          ,-#endif-    eventParseBufferSize                    ,----- ** parseCaps #method:parseCaps#--#if ENABLE_OVERLOADING-    EventParseCapsMethodInfo                ,-#endif-    eventParseCaps                          ,----- ** parseFlushStop #method:parseFlushStop#--#if ENABLE_OVERLOADING-    EventParseFlushStopMethodInfo           ,-#endif-    eventParseFlushStop                     ,----- ** parseGap #method:parseGap#--#if ENABLE_OVERLOADING-    EventParseGapMethodInfo                 ,-#endif-    eventParseGap                           ,----- ** parseGroupId #method:parseGroupId#--#if ENABLE_OVERLOADING-    EventParseGroupIdMethodInfo             ,-#endif-    eventParseGroupId                       ,----- ** parseLatency #method:parseLatency#--#if ENABLE_OVERLOADING-    EventParseLatencyMethodInfo             ,-#endif-    eventParseLatency                       ,----- ** parseProtection #method:parseProtection#--#if ENABLE_OVERLOADING-    EventParseProtectionMethodInfo          ,-#endif-    eventParseProtection                    ,----- ** parseQos #method:parseQos#--#if ENABLE_OVERLOADING-    EventParseQosMethodInfo                 ,-#endif-    eventParseQos                           ,----- ** parseSeek #method:parseSeek#--#if ENABLE_OVERLOADING-    EventParseSeekMethodInfo                ,-#endif-    eventParseSeek                          ,----- ** parseSeekTrickmodeInterval #method:parseSeekTrickmodeInterval#--#if ENABLE_OVERLOADING-    EventParseSeekTrickmodeIntervalMethodInfo,-#endif-    eventParseSeekTrickmodeInterval         ,----- ** parseSegment #method:parseSegment#--#if ENABLE_OVERLOADING-    EventParseSegmentMethodInfo             ,-#endif-    eventParseSegment                       ,----- ** parseSegmentDone #method:parseSegmentDone#--#if ENABLE_OVERLOADING-    EventParseSegmentDoneMethodInfo         ,-#endif-    eventParseSegmentDone                   ,----- ** parseSelectStreams #method:parseSelectStreams#--#if ENABLE_OVERLOADING-    EventParseSelectStreamsMethodInfo       ,-#endif-    eventParseSelectStreams                 ,----- ** parseSinkMessage #method:parseSinkMessage#--#if ENABLE_OVERLOADING-    EventParseSinkMessageMethodInfo         ,-#endif-    eventParseSinkMessage                   ,----- ** parseStep #method:parseStep#--#if ENABLE_OVERLOADING-    EventParseStepMethodInfo                ,-#endif-    eventParseStep                          ,----- ** parseStream #method:parseStream#--#if ENABLE_OVERLOADING-    EventParseStreamMethodInfo              ,-#endif-    eventParseStream                        ,----- ** parseStreamCollection #method:parseStreamCollection#--#if ENABLE_OVERLOADING-    EventParseStreamCollectionMethodInfo    ,-#endif-    eventParseStreamCollection              ,----- ** parseStreamFlags #method:parseStreamFlags#--#if ENABLE_OVERLOADING-    EventParseStreamFlagsMethodInfo         ,-#endif-    eventParseStreamFlags                   ,----- ** parseStreamGroupDone #method:parseStreamGroupDone#--#if ENABLE_OVERLOADING-    EventParseStreamGroupDoneMethodInfo     ,-#endif-    eventParseStreamGroupDone               ,----- ** parseStreamStart #method:parseStreamStart#--#if ENABLE_OVERLOADING-    EventParseStreamStartMethodInfo         ,-#endif-    eventParseStreamStart                   ,----- ** parseTag #method:parseTag#--#if ENABLE_OVERLOADING-    EventParseTagMethodInfo                 ,-#endif-    eventParseTag                           ,----- ** parseToc #method:parseToc#--#if ENABLE_OVERLOADING-    EventParseTocMethodInfo                 ,-#endif-    eventParseToc                           ,----- ** parseTocSelect #method:parseTocSelect#--#if ENABLE_OVERLOADING-    EventParseTocSelectMethodInfo           ,-#endif-    eventParseTocSelect                     ,----- ** setGroupId #method:setGroupId#--#if ENABLE_OVERLOADING-    EventSetGroupIdMethodInfo               ,-#endif-    eventSetGroupId                         ,----- ** setRunningTimeOffset #method:setRunningTimeOffset#--#if ENABLE_OVERLOADING-    EventSetRunningTimeOffsetMethodInfo     ,-#endif-    eventSetRunningTimeOffset               ,----- ** setSeekTrickmodeInterval #method:setSeekTrickmodeInterval#--#if ENABLE_OVERLOADING-    EventSetSeekTrickmodeIntervalMethodInfo ,-#endif-    eventSetSeekTrickmodeInterval           ,----- ** setSeqnum #method:setSeqnum#--#if ENABLE_OVERLOADING-    EventSetSeqnumMethodInfo                ,-#endif-    eventSetSeqnum                          ,----- ** setStream #method:setStream#--#if ENABLE_OVERLOADING-    EventSetStreamMethodInfo                ,-#endif-    eventSetStream                          ,----- ** setStreamFlags #method:setStreamFlags#--#if ENABLE_OVERLOADING-    EventSetStreamFlagsMethodInfo           ,-#endif-    eventSetStreamFlags                     ,----- ** writableStructure #method:writableStructure#--#if ENABLE_OVERLOADING-    EventWritableStructureMethodInfo        ,-#endif-    eventWritableStructure                  ,----- -- * Properties--- ** miniObject #attr:miniObject#-{- | the parent structure--}-#if ENABLE_OVERLOADING-    event_miniObject                        ,-#endif-    getEventMiniObject                      ,----- ** seqnum #attr:seqnum#-{- | the sequence number of the event--}-#if ENABLE_OVERLOADING-    event_seqnum                            ,-#endif-    getEventSeqnum                          ,-    setEventSeqnum                          ,----- ** timestamp #attr:timestamp#-{- | the timestamp of the event--}-#if ENABLE_OVERLOADING-    event_timestamp                         ,-#endif-    getEventTimestamp                       ,-    setEventTimestamp                       ,----- ** type #attr:type#-{- | the 'GI.Gst.Enums.EventType' of the event--}-#if ENABLE_OVERLOADING-    event_type                              ,-#endif-    getEventType                            ,-    setEventType                            ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Stream as Gst.Stream-import {-# SOURCE #-} qualified GI.Gst.Objects.StreamCollection as Gst.StreamCollection-import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.Message as Gst.Message-import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject-import {-# SOURCE #-} qualified GI.Gst.Structs.Segment as Gst.Segment-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure-import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList-import {-# SOURCE #-} qualified GI.Gst.Structs.Toc as Gst.Toc---- | Memory-managed wrapper type.-newtype Event = Event (ManagedPtr Event)-foreign import ccall "gst_event_get_type" c_gst_event_get_type :: -    IO GType--instance BoxedObject Event where-    boxedType _ = c_gst_event_get_type---- | Construct a `Event` struct initialized to zero.-newZeroEvent :: MonadIO m => m Event-newZeroEvent = liftIO $ callocBoxedBytes 88 >>= wrapBoxed Event--instance tag ~ 'AttrSet => Constructible Event tag where-    new _ attrs = do-        o <- newZeroEvent-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Event`.-noEvent :: Maybe Event-noEvent = Nothing--{- |-Get the value of the “@mini_object@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' event #miniObject-@--}-getEventMiniObject :: MonadIO m => Event -> m Gst.MiniObject.MiniObject-getEventMiniObject s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.MiniObject.MiniObject)-    val' <- (newPtr Gst.MiniObject.MiniObject) val-    return val'--#if ENABLE_OVERLOADING-data EventMiniObjectFieldInfo-instance AttrInfo EventMiniObjectFieldInfo where-    type AttrAllowedOps EventMiniObjectFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint EventMiniObjectFieldInfo = (~) (Ptr Gst.MiniObject.MiniObject)-    type AttrBaseTypeConstraint EventMiniObjectFieldInfo = (~) Event-    type AttrGetType EventMiniObjectFieldInfo = Gst.MiniObject.MiniObject-    type AttrLabel EventMiniObjectFieldInfo = "mini_object"-    type AttrOrigin EventMiniObjectFieldInfo = Event-    attrGet _ = getEventMiniObject-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--event_miniObject :: AttrLabelProxy "miniObject"-event_miniObject = AttrLabelProxy--#endif---{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' event #type-@--}-getEventType :: MonadIO m => Event -> m Gst.Enums.EventType-getEventType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' event [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setEventType :: MonadIO m => Event -> Gst.Enums.EventType -> m ()-setEventType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 64) (val' :: CUInt)--#if ENABLE_OVERLOADING-data EventTypeFieldInfo-instance AttrInfo EventTypeFieldInfo where-    type AttrAllowedOps EventTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint EventTypeFieldInfo = (~) Gst.Enums.EventType-    type AttrBaseTypeConstraint EventTypeFieldInfo = (~) Event-    type AttrGetType EventTypeFieldInfo = Gst.Enums.EventType-    type AttrLabel EventTypeFieldInfo = "type"-    type AttrOrigin EventTypeFieldInfo = Event-    attrGet _ = getEventType-    attrSet _ = setEventType-    attrConstruct = undefined-    attrClear _ = undefined--event_type :: AttrLabelProxy "type"-event_type = AttrLabelProxy--#endif---{- |-Get the value of the “@timestamp@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' event #timestamp-@--}-getEventTimestamp :: MonadIO m => Event -> m Word64-getEventTimestamp s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO Word64-    return val--{- |-Set the value of the “@timestamp@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' event [ #timestamp 'Data.GI.Base.Attributes.:=' value ]-@--}-setEventTimestamp :: MonadIO m => Event -> Word64 -> m ()-setEventTimestamp s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: Word64)--#if ENABLE_OVERLOADING-data EventTimestampFieldInfo-instance AttrInfo EventTimestampFieldInfo where-    type AttrAllowedOps EventTimestampFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint EventTimestampFieldInfo = (~) Word64-    type AttrBaseTypeConstraint EventTimestampFieldInfo = (~) Event-    type AttrGetType EventTimestampFieldInfo = Word64-    type AttrLabel EventTimestampFieldInfo = "timestamp"-    type AttrOrigin EventTimestampFieldInfo = Event-    attrGet _ = getEventTimestamp-    attrSet _ = setEventTimestamp-    attrConstruct = undefined-    attrClear _ = undefined--event_timestamp :: AttrLabelProxy "timestamp"-event_timestamp = AttrLabelProxy--#endif---{- |-Get the value of the “@seqnum@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' event #seqnum-@--}-getEventSeqnum :: MonadIO m => Event -> m Word32-getEventSeqnum s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 80) :: IO Word32-    return val--{- |-Set the value of the “@seqnum@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' event [ #seqnum 'Data.GI.Base.Attributes.:=' value ]-@--}-setEventSeqnum :: MonadIO m => Event -> Word32 -> m ()-setEventSeqnum s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (val :: Word32)--#if ENABLE_OVERLOADING-data EventSeqnumFieldInfo-instance AttrInfo EventSeqnumFieldInfo where-    type AttrAllowedOps EventSeqnumFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint EventSeqnumFieldInfo = (~) Word32-    type AttrBaseTypeConstraint EventSeqnumFieldInfo = (~) Event-    type AttrGetType EventSeqnumFieldInfo = Word32-    type AttrLabel EventSeqnumFieldInfo = "seqnum"-    type AttrOrigin EventSeqnumFieldInfo = Event-    attrGet _ = getEventSeqnum-    attrSet _ = setEventSeqnum-    attrConstruct = undefined-    attrClear _ = undefined--event_seqnum :: AttrLabelProxy "seqnum"-event_seqnum = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Event-type instance O.AttributeList Event = EventAttributeList-type EventAttributeList = ('[ '("miniObject", EventMiniObjectFieldInfo), '("type", EventTypeFieldInfo), '("timestamp", EventTimestampFieldInfo), '("seqnum", EventSeqnumFieldInfo)] :: [(Symbol, *)])-#endif---- method Event::new_buffer_size--- method type : Constructor--- Args : [Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minsize", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum buffer size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maxsize", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum buffer size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "async", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "thread behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_buffer_size" gst_event_new_buffer_size :: -    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- minsize : TBasicType TInt64-    Int64 ->                                -- maxsize : TBasicType TInt64-    CInt ->                                 -- async : TBasicType TBoolean-    IO (Ptr Event)--{- |-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.--}-eventNewBufferSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Format-    {- ^ /@format@/: buffer format -}-    -> Int64-    {- ^ /@minsize@/: minimum buffer size -}-    -> Int64-    {- ^ /@maxsize@/: maximum buffer size -}-    -> Bool-    {- ^ /@async@/: thread behavior -}-    -> m Event-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event' -}-eventNewBufferSize format minsize maxsize async = liftIO $ do-    let format' = (fromIntegral . fromEnum) format-    let async' = (fromIntegral . fromEnum) async-    result <- gst_event_new_buffer_size format' minsize maxsize async'-    checkUnexpectedReturnNULL "eventNewBufferSize" result-    result' <- (wrapBoxed Event) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_caps--- method type : Constructor--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_caps" gst_event_new_caps :: -    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Event)--{- |-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.--}-eventNewCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Caps.Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> m (Maybe Event)-    {- ^ __Returns:__ the new CAPS event. -}-eventNewCaps caps = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_event_new_caps caps'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Event) result'-        return result''-    touchManagedPtr caps-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Event::new_custom--- method type : Constructor--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "EventType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The type of the new event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the structure for the event. The event will\n    take ownership of the structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_custom" gst_event_new_custom :: -    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "EventType"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Event)--{- |-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.--}-eventNewCustom ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.EventType-    {- ^ /@type@/: The type of the new event -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the structure for the event. The event will-    take ownership of the structure. -}-    -> m (Maybe Event)-    {- ^ __Returns:__ the new custom event. -}-eventNewCustom type_ structure = liftIO $ do-    let type_' = (fromIntegral . fromEnum) type_-    structure' <- B.ManagedPtr.disownBoxed structure-    result <- gst_event_new_custom type_' structure'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Event) result'-        return result''-    touchManagedPtr structure-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Event::new_eos--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_eos" gst_event_new_eos :: -    IO (Ptr Event)--{- |-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 'GI.Gst.Enums.FlowReturn'-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.--}-eventNewEos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Event-    {- ^ __Returns:__ the new EOS event. -}-eventNewEos  = liftIO $ do-    result <- gst_event_new_eos-    checkUnexpectedReturnNULL "eventNewEos" result-    result' <- (wrapBoxed Event) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_flush_start--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_flush_start" gst_event_new_flush_start :: -    IO (Ptr Event)--{- |-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 'GI.Gst.Objects.Pad.padPush',-'GI.Gst.Objects.Pad.padChain', 'GI.Gst.Objects.Pad.padGetRange' and 'GI.Gst.Objects.Pad.padPullRange'.-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.--}-eventNewFlushStart ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Event-    {- ^ __Returns:__ a new flush start event. -}-eventNewFlushStart  = liftIO $ do-    result <- gst_event_new_flush_start-    checkUnexpectedReturnNULL "eventNewFlushStart" result-    result' <- (wrapBoxed Event) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_flush_stop--- method type : Constructor--- Args : [Arg {argCName = "reset_time", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if time should be reset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_flush_stop" gst_event_new_flush_stop :: -    CInt ->                                 -- reset_time : TBasicType TBoolean-    IO (Ptr Event)--{- |-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.--}-eventNewFlushStop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bool-    {- ^ /@resetTime@/: if time should be reset -}-    -> m Event-    {- ^ __Returns:__ a new flush stop event. -}-eventNewFlushStop resetTime = liftIO $ do-    let resetTime' = (fromIntegral . fromEnum) resetTime-    result <- gst_event_new_flush_stop resetTime'-    checkUnexpectedReturnNULL "eventNewFlushStop" result-    result' <- (wrapBoxed Event) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_gap--- method type : Constructor--- Args : [Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start time (pts) of the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the duration of the gap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_gap" gst_event_new_gap :: -    Word64 ->                               -- timestamp : TBasicType TUInt64-    Word64 ->                               -- duration : TBasicType TUInt64-    IO (Ptr Event)--{- |-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.--}-eventNewGap ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@timestamp@/: the start time (pts) of the gap -}-    -> Word64-    {- ^ /@duration@/: the duration of the gap -}-    -> m Event-    {- ^ __Returns:__ the new GAP event. -}-eventNewGap timestamp duration = liftIO $ do-    result <- gst_event_new_gap timestamp duration-    checkUnexpectedReturnNULL "eventNewGap" result-    result' <- (wrapBoxed Event) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_latency--- method type : Constructor--- Args : [Arg {argCName = "latency", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new latency value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_latency" gst_event_new_latency :: -    Word64 ->                               -- latency : TBasicType TUInt64-    IO (Ptr Event)--{- |-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.--}-eventNewLatency ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@latency@/: the new latency value -}-    -> m Event-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event' -}-eventNewLatency latency = liftIO $ do-    result <- gst_event_new_latency latency-    checkUnexpectedReturnNULL "eventNewLatency" result-    result' <- (wrapBoxed Event) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_navigation--- method type : Constructor--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "description of the event. The event will take\n    ownership of the structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_navigation" gst_event_new_navigation :: -    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Event)--{- |-Create a new navigation event from the given description.--}-eventNewNavigation ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Structure.Structure-    {- ^ /@structure@/: description of the event. The event will take-    ownership of the structure. -}-    -> m Event-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event' -}-eventNewNavigation structure = liftIO $ do-    structure' <- B.ManagedPtr.disownBoxed structure-    result <- gst_event_new_navigation structure'-    checkUnexpectedReturnNULL "eventNewNavigation" result-    result' <- (wrapBoxed Event) result-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_protection--- method type : Constructor--- Args : [Arg {argCName = "system_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string holding a UUID that uniquely\nidentifies a protection system.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer holding protection system specific\ninformation. The reference count of the buffer will be incremented by one.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string indicating where the protection\ninformation carried in the event was extracted from. The allowed values\nof this string will depend upon the protection scheme.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_protection" gst_event_new_protection :: -    CString ->                              -- system_id : TBasicType TUTF8-    Ptr Gst.Buffer.Buffer ->                -- data : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CString ->                              -- origin : TBasicType TUTF8-    IO (Ptr Event)--{- |-Creates a new event containing information specific to a particular-protection system (uniquely identified by /@systemId@/), 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 'GI.Gst.Structs.Event.eventNewProtection' are implemented-in such a way as to ensure that the most recently-pushed protection info-event of a particular /@origin@/ and /@systemId@/ will-be stuck to the output pad of the sending element.--/Since: 1.6/--}-eventNewProtection ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@systemId@/: a string holding a UUID that uniquely-identifies a protection system. -}-    -> Gst.Buffer.Buffer-    {- ^ /@data@/: a 'GI.Gst.Structs.Buffer.Buffer' holding protection system specific-information. The reference count of the buffer will be incremented by one. -}-    -> T.Text-    {- ^ /@origin@/: 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. -}-    -> m Event-    {- ^ __Returns:__ a @/GST_EVENT_PROTECTION/@ event, if successful; 'Nothing'-if unsuccessful. -}-eventNewProtection systemId data_ origin = liftIO $ do-    systemId' <- textToCString systemId-    data_' <- unsafeManagedPtrGetPtr data_-    origin' <- textToCString origin-    result <- gst_event_new_protection systemId' data_' origin'-    checkUnexpectedReturnNULL "eventNewProtection" result-    result' <- (wrapBoxed Event) result-    touchManagedPtr data_-    freeMem systemId'-    freeMem origin'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_qos--- method type : Constructor--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "QOSType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the QoS type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proportion", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the proportion of the qos message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "diff", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The time difference of the last Clock sync", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The timestamp of the buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_qos" gst_event_new_qos :: -    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "QOSType"})-    CDouble ->                              -- proportion : TBasicType TDouble-    Int64 ->                                -- diff : TBasicType TInt64-    Word64 ->                               -- timestamp : TBasicType TUInt64-    IO (Ptr Event)--{- |-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 \< 1.0 indicates that the upstream element is producing data faster-than real-time. A value > 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 \<= /@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.--}-eventNewQos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.QOSType-    {- ^ /@type@/: the QoS type -}-    -> Double-    {- ^ /@proportion@/: the proportion of the qos message -}-    -> Int64-    {- ^ /@diff@/: The time difference of the last Clock sync -}-    -> Word64-    {- ^ /@timestamp@/: The timestamp of the buffer -}-    -> m (Maybe Event)-    {- ^ __Returns:__ a new QOS event. -}-eventNewQos type_ proportion diff timestamp = liftIO $ do-    let type_' = (fromIntegral . fromEnum) type_-    let proportion' = realToFrac proportion-    result <- gst_event_new_qos type_' proportion' diff timestamp-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Event) result'-        return result''-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Event::new_reconfigure--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_reconfigure" gst_event_new_reconfigure :: -    IO (Ptr Event)--{- |-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.--}-eventNewReconfigure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Event-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event' -}-eventNewReconfigure  = liftIO $ do-    result <- gst_event_new_reconfigure-    checkUnexpectedReturnNULL "eventNewReconfigure" result-    result' <- (wrapBoxed Event) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_seek--- method type : Constructor--- Args : [Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new playback rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The format of the seek values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "SeekFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The optional seek flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_type", argType = TInterface (Name {namespace = "Gst", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The type and flags for the new start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value of the new start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop_type", argType = TInterface (Name {namespace = "Gst", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The type and flags for the new stop position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value of the new stop position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_seek" gst_event_new_seek :: -    CDouble ->                              -- rate : TBasicType TDouble-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "SeekFlags"})-    CUInt ->                                -- start_type : TInterface (Name {namespace = "Gst", name = "SeekType"})-    Int64 ->                                -- start : TBasicType TInt64-    CUInt ->                                -- stop_type : TInterface (Name {namespace = "Gst", name = "SeekType"})-    Int64 ->                                -- stop : TBasicType TInt64-    IO (Ptr Event)--{- |-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/@.--/@startType@/ and /@stopType@/ 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 ('GI.Gst.Constants.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.--}-eventNewSeek ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Double-    {- ^ /@rate@/: The new playback rate -}-    -> Gst.Enums.Format-    {- ^ /@format@/: The format of the seek values -}-    -> [Gst.Flags.SeekFlags]-    {- ^ /@flags@/: The optional seek flags -}-    -> Gst.Enums.SeekType-    {- ^ /@startType@/: The type and flags for the new start position -}-    -> Int64-    {- ^ /@start@/: The value of the new start position -}-    -> Gst.Enums.SeekType-    {- ^ /@stopType@/: The type and flags for the new stop position -}-    -> Int64-    {- ^ /@stop@/: The value of the new stop position -}-    -> m (Maybe Event)-    {- ^ __Returns:__ a new seek event. -}-eventNewSeek rate format flags startType start stopType stop = liftIO $ do-    let rate' = realToFrac rate-    let format' = (fromIntegral . fromEnum) format-    let flags' = gflagsToWord flags-    let startType' = (fromIntegral . fromEnum) startType-    let stopType' = (fromIntegral . fromEnum) stopType-    result <- gst_event_new_seek rate' format' flags' startType' start stopType' stop-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Event) result'-        return result''-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Event::new_segment--- method type : Constructor--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_segment" gst_event_new_segment :: -    Ptr Gst.Segment.Segment ->              -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    IO (Ptr Event)--{- |-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 \< 0.--The /@appliedRate@/ value provides information about any rate adjustment that-has already been made to the timestamps and content on the buffers of the-stream. (/@rate@/ * /@appliedRate@/) 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 /@appliedRate@/ of 2.0--After a segment event, the buffer stream time is calculated with:--  time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)--}-eventNewSegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Segment.Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' -}-    -> m (Maybe Event)-    {- ^ __Returns:__ the new SEGMENT event. -}-eventNewSegment segment = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    result <- gst_event_new_segment segment'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Event) result'-        return result''-    touchManagedPtr segment-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Event::new_segment_done--- method type : Constructor--- Args : [Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The format of the position being done", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position of the segment being done", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_segment_done" gst_event_new_segment_done :: -    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- position : TBasicType TInt64-    IO (Ptr Event)--{- |-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.--}-eventNewSegmentDone ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Format-    {- ^ /@format@/: The format of the position being done -}-    -> Int64-    {- ^ /@position@/: The position of the segment being done -}-    -> m Event-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event' -}-eventNewSegmentDone format position = liftIO $ do-    let format' = (fromIntegral . fromEnum) format-    result <- gst_event_new_segment_done format' position-    checkUnexpectedReturnNULL "eventNewSegmentDone" result-    result' <- (wrapBoxed Event) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_select_streams--- method type : Constructor--- Args : [Arg {argCName = "streams", argType = TGList (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the list of streams to\nactivate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_select_streams" gst_event_new_select_streams :: -    Ptr (GList CString) ->                  -- streams : TGList (TBasicType TUTF8)-    IO (Ptr Event)--{- |-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 'GI.Gst.Objects.Stream.Stream' 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.--/Since: 1.10/--}-eventNewSelectStreams ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [T.Text]-    {- ^ /@streams@/: the list of streams to-activate -}-    -> m Event-    {- ^ __Returns:__ a new select-streams event or 'Nothing' in case of-an error (like an empty streams list). -}-eventNewSelectStreams streams = liftIO $ do-    streams' <- mapM textToCString streams-    streams'' <- packGList streams'-    result <- gst_event_new_select_streams streams''-    checkUnexpectedReturnNULL "eventNewSelectStreams" result-    result' <- (wrapBoxed Event) result-    mapGList freeMem streams''-    g_list_free streams''-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_sink_message--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a name for the event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstMessage to be posted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_sink_message" gst_event_new_sink_message :: -    CString ->                              -- name : TBasicType TUTF8-    Ptr Gst.Message.Message ->              -- msg : TInterface (Name {namespace = "Gst", name = "Message"})-    IO (Ptr Event)--{- |-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.--}-eventNewSinkMessage ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: a name for the event -}-    -> Gst.Message.Message-    {- ^ /@msg@/: the 'GI.Gst.Structs.Message.Message' to be posted -}-    -> m Event-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event' -}-eventNewSinkMessage name msg = liftIO $ do-    name' <- textToCString name-    msg' <- unsafeManagedPtrGetPtr msg-    result <- gst_event_new_sink_message name' msg'-    checkUnexpectedReturnNULL "eventNewSinkMessage" result-    result' <- (wrapBoxed Event) result-    touchManagedPtr msg-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_step--- method type : Constructor--- Args : [Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of @amount", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "amount", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount of data to step", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the step rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flush", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flushing steps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "intermediate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "intermediate steps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_step" gst_event_new_step :: -    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- amount : TBasicType TUInt64-    CDouble ->                              -- rate : TBasicType TDouble-    CInt ->                                 -- flush : TBasicType TBoolean-    CInt ->                                 -- intermediate : TBasicType TBoolean-    IO (Ptr Event)--{- |-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 \<= 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 \< 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.--}-eventNewStep ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Format-    {- ^ /@format@/: the format of /@amount@/ -}-    -> Word64-    {- ^ /@amount@/: the amount of data to step -}-    -> Double-    {- ^ /@rate@/: the step rate -}-    -> Bool-    {- ^ /@flush@/: flushing steps -}-    -> Bool-    {- ^ /@intermediate@/: intermediate steps -}-    -> m (Maybe Event)-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event' -}-eventNewStep format amount rate flush intermediate = liftIO $ do-    let format' = (fromIntegral . fromEnum) format-    let rate' = realToFrac rate-    let flush' = (fromIntegral . fromEnum) flush-    let intermediate' = (fromIntegral . fromEnum) intermediate-    result <- gst_event_new_step format' amount rate' flush' intermediate'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Event) result'-        return result''-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Event::new_stream_collection--- method type : Constructor--- Args : [Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Active collection for this data flow", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_stream_collection" gst_event_new_stream_collection :: -    Ptr Gst.StreamCollection.StreamCollection -> -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    IO (Ptr Event)--{- |-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 'GI.Gst.Objects.StreamCollection.StreamCollection' 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.--/Since: 1.10/--}-eventNewStreamCollection ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.StreamCollection.IsStreamCollection a) =>-    a-    {- ^ /@collection@/: Active collection for this data flow -}-    -> m Event-    {- ^ __Returns:__ the new STREAM_COLLECTION event. -}-eventNewStreamCollection collection = liftIO $ do-    collection' <- unsafeManagedPtrCastPtr collection-    result <- gst_event_new_stream_collection collection'-    checkUnexpectedReturnNULL "eventNewStreamCollection" result-    result' <- (wrapBoxed Event) result-    touchManagedPtr collection-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_stream_group_done--- method type : Constructor--- Args : [Arg {argCName = "group_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the group id of the stream group which is ending", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_stream_group_done" gst_event_new_stream_group_done :: -    Word32 ->                               -- group_id : TBasicType TUInt-    IO (Ptr Event)--{- |-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.--/Since: 1.10/--}-eventNewStreamGroupDone ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@groupId@/: the group id of the stream group which is ending -}-    -> m Event-    {- ^ __Returns:__ the new stream-group-done event. -}-eventNewStreamGroupDone groupId = liftIO $ do-    result <- gst_event_new_stream_group_done groupId-    checkUnexpectedReturnNULL "eventNewStreamGroupDone" result-    result' <- (wrapBoxed Event) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_stream_start--- method type : Constructor--- Args : [Arg {argCName = "stream_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Identifier for this stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_stream_start" gst_event_new_stream_start :: -    CString ->                              -- stream_id : TBasicType TUTF8-    IO (Ptr Event)--{- |-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 /@streamId@/ 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.-'GI.Gst.Objects.Pad.padCreateStreamId' 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).--}-eventNewStreamStart ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@streamId@/: Identifier for this stream -}-    -> m Event-    {- ^ __Returns:__ the new STREAM_START event. -}-eventNewStreamStart streamId = liftIO $ do-    streamId' <- textToCString streamId-    result <- gst_event_new_stream_start streamId'-    checkUnexpectedReturnNULL "eventNewStreamStart" result-    result' <- (wrapBoxed Event) result-    freeMem streamId'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_tag--- method type : Constructor--- Args : [Arg {argCName = "taglist", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "metadata list. The event will take ownership\n    of the taglist.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_tag" gst_event_new_tag :: -    Ptr Gst.TagList.TagList ->              -- taglist : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO (Ptr Event)--{- |-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.--}-eventNewTag ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.TagList.TagList-    {- ^ /@taglist@/: metadata list. The event will take ownership-    of the taglist. -}-    -> m Event-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event' -}-eventNewTag taglist = liftIO $ do-    taglist' <- B.ManagedPtr.disownBoxed taglist-    result <- gst_event_new_tag taglist'-    checkUnexpectedReturnNULL "eventNewTag" result-    result' <- (wrapBoxed Event) result-    touchManagedPtr taglist-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_toc--- method type : Constructor--- Args : [Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstToc structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "updated", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether @toc was updated or not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_toc" gst_event_new_toc :: -    Ptr Gst.Toc.Toc ->                      -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    CInt ->                                 -- updated : TBasicType TBoolean-    IO (Ptr Event)--{- |-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.--}-eventNewToc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Toc.Toc-    {- ^ /@toc@/: 'GI.Gst.Structs.Toc.Toc' structure. -}-    -> Bool-    {- ^ /@updated@/: whether /@toc@/ was updated or not. -}-    -> m Event-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event'. -}-eventNewToc toc updated = liftIO $ do-    toc' <- unsafeManagedPtrGetPtr toc-    let updated' = (fromIntegral . fromEnum) updated-    result <- gst_event_new_toc toc' updated'-    checkUnexpectedReturnNULL "eventNewToc" result-    result' <- (wrapBoxed Event) result-    touchManagedPtr toc-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::new_toc_select--- method type : Constructor--- Args : [Arg {argCName = "uid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "UID in the TOC to start playback from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_new_toc_select" gst_event_new_toc_select :: -    CString ->                              -- uid : TBasicType TUTF8-    IO (Ptr Event)--{- |-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@/.--}-eventNewTocSelect ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uid@/: UID in the TOC to start playback from. -}-    -> m Event-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Event.Event'. -}-eventNewTocSelect uid = liftIO $ do-    uid' <- textToCString uid-    result <- gst_event_new_toc_select uid'-    checkUnexpectedReturnNULL "eventNewTocSelect" result-    result' <- (wrapBoxed Event) result-    freeMem uid'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Event::copy_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GstSegment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_copy_segment" gst_event_copy_segment :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr Gst.Segment.Segment ->              -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    IO ()--{- |-Parses a segment /@event@/ and copies the 'GI.Gst.Structs.Segment.Segment' into the location-given by /@segment@/.--}-eventCopySegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to parse -}-    -> Gst.Segment.Segment-    {- ^ /@segment@/: a pointer to a 'GI.Gst.Structs.Segment.Segment' -}-    -> m ()-eventCopySegment event segment = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    segment' <- unsafeManagedPtrGetPtr segment-    gst_event_copy_segment event' segment'-    touchManagedPtr event-    touchManagedPtr segment-    return ()--#if ENABLE_OVERLOADING-data EventCopySegmentMethodInfo-instance (signature ~ (Gst.Segment.Segment -> m ()), MonadIO m) => O.MethodInfo EventCopySegmentMethodInfo Event signature where-    overloadedMethod _ = eventCopySegment--#endif---- method Event::get_running_time_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_event_get_running_time_offset" gst_event_get_running_time_offset :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO Int64--{- |-Retrieve the accumulated running time offset of the event.--Events passing through @/GstPads/@ that have a running time-offset set via 'GI.Gst.Objects.Pad.padSetOffset' 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.--/Since: 1.4/--}-eventGetRunningTimeOffset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: A 'GI.Gst.Structs.Event.Event'. -}-    -> m Int64-    {- ^ __Returns:__ The event\'s running time offset--MT safe. -}-eventGetRunningTimeOffset event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    result <- gst_event_get_running_time_offset event'-    touchManagedPtr event-    return result--#if ENABLE_OVERLOADING-data EventGetRunningTimeOffsetMethodInfo-instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo EventGetRunningTimeOffsetMethodInfo Event signature where-    overloadedMethod _ = eventGetRunningTimeOffset--#endif---- method Event::get_seqnum--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "gst_event_get_seqnum" gst_event_get_seqnum :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO Word32--{- |-Retrieve the sequence number of a event.--Events have ever-incrementing sequence numbers, which may also be set-explicitly via 'GI.Gst.Structs.Event.eventSetSeqnum'. 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.--}-eventGetSeqnum ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: A 'GI.Gst.Structs.Event.Event'. -}-    -> m Word32-    {- ^ __Returns:__ The event\'s sequence number.--MT safe. -}-eventGetSeqnum event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    result <- gst_event_get_seqnum event'-    touchManagedPtr event-    return result--#if ENABLE_OVERLOADING-data EventGetSeqnumMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo EventGetSeqnumMethodInfo Event signature where-    overloadedMethod _ = eventGetSeqnum--#endif---- method Event::get_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_get_structure" gst_event_get_structure :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO (Ptr Gst.Structure.Structure)--{- |-Access the structure of the event.--}-eventGetStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The 'GI.Gst.Structs.Event.Event'. -}-    -> m (Maybe Gst.Structure.Structure)-    {- ^ __Returns:__ 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. -}-eventGetStructure event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    result <- gst_event_get_structure event'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Structure.Structure) result'-        return result''-    touchManagedPtr event-    return maybeResult--#if ENABLE_OVERLOADING-data EventGetStructureMethodInfo-instance (signature ~ (m (Maybe Gst.Structure.Structure)), MonadIO m) => O.MethodInfo EventGetStructureMethodInfo Event signature where-    overloadedMethod _ = eventGetStructure--#endif---- method Event::has_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_event_has_name" gst_event_has_name :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    CString ->                              -- name : TBasicType TUTF8-    IO CInt--{- |-Checks if /@event@/ has the given /@name@/. This function is usually used to-check the name of a custom event.--}-eventHasName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The 'GI.Gst.Structs.Event.Event'. -}-    -> T.Text-    {- ^ /@name@/: name to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@name@/ matches the name of the event structure. -}-eventHasName event name = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    name' <- textToCString name-    result <- gst_event_has_name event' name'-    let result' = (/= 0) result-    touchManagedPtr event-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-data EventHasNameMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo EventHasNameMethodInfo Event signature where-    overloadedMethod _ = eventHasName--#endif---- method Event::parse_buffer_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the format in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "minsize", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the minsize in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "maxsize", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the maxsize in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "async", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the async-flag in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_buffer_size" gst_event_parse_buffer_size :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- minsize : TBasicType TInt64-    Ptr Int64 ->                            -- maxsize : TBasicType TInt64-    Ptr CInt ->                             -- async : TBasicType TBoolean-    IO ()--{- |-Get the format, minsize, maxsize and async-flag in the buffersize event.--}-eventParseBufferSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to query -}-    -> m ((Gst.Enums.Format, Int64, Int64, Bool))-eventParseBufferSize event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    format <- allocMem :: IO (Ptr CUInt)-    minsize <- allocMem :: IO (Ptr Int64)-    maxsize <- allocMem :: IO (Ptr Int64)-    async <- allocMem :: IO (Ptr CInt)-    gst_event_parse_buffer_size event' format minsize maxsize async-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    minsize' <- peek minsize-    maxsize' <- peek maxsize-    async' <- peek async-    let async'' = (/= 0) async'-    touchManagedPtr event-    freeMem format-    freeMem minsize-    freeMem maxsize-    freeMem async-    return (format'', minsize', maxsize', async'')--#if ENABLE_OVERLOADING-data EventParseBufferSizeMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Int64, Int64, Bool))), MonadIO m) => O.MethodInfo EventParseBufferSizeMethodInfo Event signature where-    overloadedMethod _ = eventParseBufferSize--#endif---- method Event::parse_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the caps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_caps" gst_event_parse_caps :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr (Ptr Gst.Caps.Caps) ->              -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-Get the caps from /@event@/. The caps remains valid as long as /@event@/ remains-valid.--}-eventParseCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to parse -}-    -> m (Gst.Caps.Caps)-eventParseCaps event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    caps <- allocMem :: IO (Ptr (Ptr Gst.Caps.Caps))-    gst_event_parse_caps event' caps-    caps' <- peek caps-    caps'' <- (newBoxed Gst.Caps.Caps) caps'-    touchManagedPtr event-    freeMem caps-    return caps''--#if ENABLE_OVERLOADING-data EventParseCapsMethodInfo-instance (signature ~ (m (Gst.Caps.Caps)), MonadIO m) => O.MethodInfo EventParseCapsMethodInfo Event signature where-    overloadedMethod _ = eventParseCaps--#endif---- method Event::parse_flush_stop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reset_time", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if time should be reset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_flush_stop" gst_event_parse_flush_stop :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CInt ->                             -- reset_time : TBasicType TBoolean-    IO ()--{- |-Parse the FLUSH_STOP event and retrieve the /@resetTime@/ member.--}-eventParseFlushStop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to parse -}-    -> m (Bool)-eventParseFlushStop event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    resetTime <- allocMem :: IO (Ptr CInt)-    gst_event_parse_flush_stop event' resetTime-    resetTime' <- peek resetTime-    let resetTime'' = (/= 0) resetTime'-    touchManagedPtr event-    freeMem resetTime-    return resetTime''--#if ENABLE_OVERLOADING-data EventParseFlushStopMethodInfo-instance (signature ~ (m (Bool)), MonadIO m) => O.MethodInfo EventParseFlushStopMethodInfo Event signature where-    overloadedMethod _ = eventParseFlushStop--#endif---- method Event::parse_gap--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstEvent of type #GST_EVENT_GAP", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location where to store the\n    start time (pts) of the gap, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "duration", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location where to store the duration of\n    the gap, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_gap" gst_event_parse_gap :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr Word64 ->                           -- timestamp : TBasicType TUInt64-    Ptr Word64 ->                           -- duration : TBasicType TUInt64-    IO ()--{- |-Extract timestamp and duration from a new GAP event.--}-eventParseGap ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a 'GI.Gst.Structs.Event.Event' of type @/GST_EVENT_GAP/@ -}-    -> m ((Word64, Word64))-eventParseGap event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    timestamp <- allocMem :: IO (Ptr Word64)-    duration <- allocMem :: IO (Ptr Word64)-    gst_event_parse_gap event' timestamp duration-    timestamp' <- peek timestamp-    duration' <- peek duration-    touchManagedPtr event-    freeMem timestamp-    freeMem duration-    return (timestamp', duration')--#if ENABLE_OVERLOADING-data EventParseGapMethodInfo-instance (signature ~ (m ((Word64, Word64))), MonadIO m) => O.MethodInfo EventParseGapMethodInfo Event signature where-    overloadedMethod _ = eventParseGap--#endif---- method Event::parse_group_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stream-start event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_id", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of variable where to store the group id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_group_id" gst_event_parse_group_id :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr Word32 ->                           -- group_id : TBasicType TUInt-    IO CInt--{- |-/No description available in the introspection data./--/Since: 1.2/--}-eventParseGroupId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a stream-start event -}-    -> m ((Bool, Word32))-    {- ^ __Returns:__ 'True' if a group id was set on the event and could be parsed,-  'False' otherwise. -}-eventParseGroupId event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    groupId <- allocMem :: IO (Ptr Word32)-    result <- gst_event_parse_group_id event' groupId-    let result' = (/= 0) result-    groupId' <- peek groupId-    touchManagedPtr event-    freeMem groupId-    return (result', groupId')--#if ENABLE_OVERLOADING-data EventParseGroupIdMethodInfo-instance (signature ~ (m ((Bool, Word32))), MonadIO m) => O.MethodInfo EventParseGroupIdMethodInfo Event signature where-    overloadedMethod _ = eventParseGroupId--#endif---- method Event::parse_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "latency", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the latency in.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_latency" gst_event_parse_latency :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr Word64 ->                           -- latency : TBasicType TUInt64-    IO ()--{- |-Get the latency in the latency event.--}-eventParseLatency ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to query -}-    -> m (Word64)-eventParseLatency event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    latency <- allocMem :: IO (Ptr Word64)-    gst_event_parse_latency event' latency-    latency' <- peek latency-    touchManagedPtr event-    freeMem latency-    return latency'--#if ENABLE_OVERLOADING-data EventParseLatencyMethodInfo-instance (signature ~ (m (Word64)), MonadIO m) => O.MethodInfo EventParseLatencyMethodInfo Event signature where-    overloadedMethod _ = eventParseLatency--#endif---- method Event::parse_protection--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GST_EVENT_PROTECTION event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "system_id", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to store the UUID\nstring uniquely identifying a content protection system.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to store a #GstBuffer\nholding protection system specific information.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer to store a value that\nindicates where the protection information carried by @event was extracted\nfrom.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_protection" gst_event_parse_protection :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CString ->                          -- system_id : TBasicType TUTF8-    Ptr (Ptr Gst.Buffer.Buffer) ->          -- data : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr CString ->                          -- origin : TBasicType TUTF8-    IO ()--{- |-Parses an event containing protection system specific information and stores-the results in /@systemId@/, /@data@/ and /@origin@/. The data stored in /@systemId@/,-/@origin@/ and /@data@/ are valid until /@event@/ is released.--/Since: 1.6/--}-eventParseProtection ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a @/GST_EVENT_PROTECTION/@ event. -}-    -> m ((T.Text, Gst.Buffer.Buffer, Maybe T.Text))-eventParseProtection event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    systemId <- allocMem :: IO (Ptr CString)-    data_ <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))-    origin <- allocMem :: IO (Ptr CString)-    gst_event_parse_protection event' systemId data_ origin-    systemId' <- peek systemId-    systemId'' <- cstringToText systemId'-    data_' <- peek data_-    data_'' <- (newBoxed Gst.Buffer.Buffer) data_'-    origin' <- peek origin-    maybeOrigin' <- convertIfNonNull origin' $ \origin'' -> do-        origin''' <- cstringToText origin''-        return origin'''-    touchManagedPtr event-    freeMem systemId-    freeMem data_-    freeMem origin-    return (systemId'', data_'', maybeOrigin')--#if ENABLE_OVERLOADING-data EventParseProtectionMethodInfo-instance (signature ~ (m ((T.Text, Gst.Buffer.Buffer, Maybe T.Text))), MonadIO m) => O.MethodInfo EventParseProtectionMethodInfo Event signature where-    overloadedMethod _ = eventParseProtection--#endif---- method Event::parse_qos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "QOSType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the QoS type in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "proportion", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the proportion in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "diff", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the diff in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the timestamp in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_qos" gst_event_parse_qos :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CUInt ->                            -- type : TInterface (Name {namespace = "Gst", name = "QOSType"})-    Ptr CDouble ->                          -- proportion : TBasicType TDouble-    Ptr Int64 ->                            -- diff : TBasicType TInt64-    Ptr Word64 ->                           -- timestamp : TBasicType TUInt64-    IO ()--{- |-Get the type, proportion, diff and timestamp in the qos event. See-'GI.Gst.Structs.Event.eventNewQos' for more information about the different QoS values.--/@timestamp@/ will be adjusted for any pad offsets of pads it was passing through.--}-eventParseQos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to query -}-    -> m ((Gst.Enums.QOSType, Double, Int64, Word64))-eventParseQos event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    type_ <- allocMem :: IO (Ptr CUInt)-    proportion <- allocMem :: IO (Ptr CDouble)-    diff <- allocMem :: IO (Ptr Int64)-    timestamp <- allocMem :: IO (Ptr Word64)-    gst_event_parse_qos event' type_ proportion diff timestamp-    type_' <- peek type_-    let type_'' = (toEnum . fromIntegral) type_'-    proportion' <- peek proportion-    let proportion'' = realToFrac proportion'-    diff' <- peek diff-    timestamp' <- peek timestamp-    touchManagedPtr event-    freeMem type_-    freeMem proportion-    freeMem diff-    freeMem timestamp-    return (type_'', proportion'', diff', timestamp')--#if ENABLE_OVERLOADING-data EventParseQosMethodInfo-instance (signature ~ (m ((Gst.Enums.QOSType, Double, Int64, Word64))), MonadIO m) => O.MethodInfo EventParseQosMethodInfo Event signature where-    overloadedMethod _ = eventParseQos--#endif---- method Event::parse_seek--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a seek event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the stream format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "SeekFlags"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the #GstSeekFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "start_type", argType = TInterface (Name {namespace = "Gst", name = "SeekType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the #GstSeekType of the start position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the start position expressed in @format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stop_type", argType = TInterface (Name {namespace = "Gst", name = "SeekType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the #GstSeekType of the stop position", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the stop position expressed in @format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_seek" gst_event_parse_seek :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CDouble ->                          -- rate : TBasicType TDouble-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr CUInt ->                            -- flags : TInterface (Name {namespace = "Gst", name = "SeekFlags"})-    Ptr CUInt ->                            -- start_type : TInterface (Name {namespace = "Gst", name = "SeekType"})-    Ptr Int64 ->                            -- start : TBasicType TInt64-    Ptr CUInt ->                            -- stop_type : TInterface (Name {namespace = "Gst", name = "SeekType"})-    Ptr Int64 ->                            -- stop : TBasicType TInt64-    IO ()--{- |-Parses a seek /@event@/ and stores the results in the given result locations.--}-eventParseSeek ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a seek event -}-    -> m ((Double, Gst.Enums.Format, [Gst.Flags.SeekFlags], Gst.Enums.SeekType, Int64, Gst.Enums.SeekType, Int64))-eventParseSeek event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    rate <- allocMem :: IO (Ptr CDouble)-    format <- allocMem :: IO (Ptr CUInt)-    flags <- allocMem :: IO (Ptr CUInt)-    startType <- allocMem :: IO (Ptr CUInt)-    start <- allocMem :: IO (Ptr Int64)-    stopType <- allocMem :: IO (Ptr CUInt)-    stop <- allocMem :: IO (Ptr Int64)-    gst_event_parse_seek event' rate format flags startType start stopType stop-    rate' <- peek rate-    let rate'' = realToFrac rate'-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    flags' <- peek flags-    let flags'' = wordToGFlags flags'-    startType' <- peek startType-    let startType'' = (toEnum . fromIntegral) startType'-    start' <- peek start-    stopType' <- peek stopType-    let stopType'' = (toEnum . fromIntegral) stopType'-    stop' <- peek stop-    touchManagedPtr event-    freeMem rate-    freeMem format-    freeMem flags-    freeMem startType-    freeMem start-    freeMem stopType-    freeMem stop-    return (rate'', format'', flags'', startType'', start', stopType'', stop')--#if ENABLE_OVERLOADING-data EventParseSeekMethodInfo-instance (signature ~ (m ((Double, Gst.Enums.Format, [Gst.Flags.SeekFlags], Gst.Enums.SeekType, Int64, Gst.Enums.SeekType, Int64))), MonadIO m) => O.MethodInfo EventParseSeekMethodInfo Event signature where-    overloadedMethod _ = eventParseSeek--#endif---- method Event::parse_seek_trickmode_interval--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_seek_trickmode_interval" gst_event_parse_seek_trickmode_interval :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr Word64 ->                           -- interval : TBasicType TUInt64-    IO ()--{- |-Retrieve the trickmode interval that may have been set on a-seek event with 'GI.Gst.Structs.Event.eventSetSeekTrickmodeInterval'.--/Since: 1.16/--}-eventParseSeekTrickmodeInterval ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    -> m (Word64)-eventParseSeekTrickmodeInterval event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    interval <- allocMem :: IO (Ptr Word64)-    gst_event_parse_seek_trickmode_interval event' interval-    interval' <- peek interval-    touchManagedPtr event-    freeMem interval-    return interval'--#if ENABLE_OVERLOADING-data EventParseSeekTrickmodeIntervalMethodInfo-instance (signature ~ (m (Word64)), MonadIO m) => O.MethodInfo EventParseSeekTrickmodeIntervalMethodInfo Event signature where-    overloadedMethod _ = eventParseSeekTrickmodeInterval--#endif---- method Event::parse_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GstSegment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_segment" gst_event_parse_segment :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr (Ptr Gst.Segment.Segment) ->        -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    IO ()--{- |-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.--}-eventParseSegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to parse -}-    -> m (Gst.Segment.Segment)-eventParseSegment event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    segment <- allocMem :: IO (Ptr (Ptr Gst.Segment.Segment))-    gst_event_parse_segment event' segment-    segment' <- peek segment-    segment'' <- (newBoxed Gst.Segment.Segment) segment'-    touchManagedPtr event-    freeMem segment-    return segment''--#if ENABLE_OVERLOADING-data EventParseSegmentMethodInfo-instance (signature ~ (m (Gst.Segment.Segment)), MonadIO m) => O.MethodInfo EventParseSegmentMethodInfo Event signature where-    overloadedMethod _ = eventParseSegment--#endif---- method Event::parse_segment_done--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstEvent of type GST_EVENT_SEGMENT_DONE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the format, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "position", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_segment_done" gst_event_parse_segment_done :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- position : TBasicType TInt64-    IO ()--{- |-Extracts the position and format from the segment done message.--}-eventParseSegmentDone ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: A valid 'GI.Gst.Structs.Event.Event' of type GST_EVENT_SEGMENT_DONE. -}-    -> m ((Gst.Enums.Format, Int64))-eventParseSegmentDone event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    format <- allocMem :: IO (Ptr CUInt)-    position <- allocMem :: IO (Ptr Int64)-    gst_event_parse_segment_done event' format position-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    position' <- peek position-    touchManagedPtr event-    freeMem format-    freeMem position-    return (format'', position')--#if ENABLE_OVERLOADING-data EventParseSegmentDoneMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Int64))), MonadIO m) => O.MethodInfo EventParseSegmentDoneMethodInfo Event signature where-    overloadedMethod _ = eventParseSegmentDone--#endif---- method Event::parse_select_streams--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "streams", argType = TGList (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the streams", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_select_streams" gst_event_parse_select_streams :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr (Ptr (GList CString)) ->            -- streams : TGList (TBasicType TUTF8)-    IO ()--{- |-Parse the SELECT_STREAMS event and retrieve the contained streams.--/Since: 1.10/--}-eventParseSelectStreams ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to parse -}-    -> m ([T.Text])-eventParseSelectStreams event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    streams <- allocMem :: IO (Ptr (Ptr (GList CString)))-    gst_event_parse_select_streams event' streams-    streams' <- peek streams-    streams'' <- unpackGList streams'-    streams''' <- mapM cstringToText streams''-    mapGList freeMem streams'-    g_list_free streams'-    touchManagedPtr event-    freeMem streams-    return streams'''--#if ENABLE_OVERLOADING-data EventParseSelectStreamsMethodInfo-instance (signature ~ (m ([T.Text])), MonadIO m) => O.MethodInfo EventParseSelectStreamsMethodInfo Event signature where-    overloadedMethod _ = eventParseSelectStreams--#endif---- method Event::parse_sink_message--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msg", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to store the #GstMessage in.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_sink_message" gst_event_parse_sink_message :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr (Ptr Gst.Message.Message) ->        -- msg : TInterface (Name {namespace = "Gst", name = "Message"})-    IO ()--{- |-Parse the sink-message event. Unref /@msg@/ after usage.--}-eventParseSinkMessage ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to query -}-    -> m (Gst.Message.Message)-eventParseSinkMessage event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    msg <- allocMem :: IO (Ptr (Ptr Gst.Message.Message))-    gst_event_parse_sink_message event' msg-    msg' <- peek msg-    msg'' <- (wrapBoxed Gst.Message.Message) msg'-    touchManagedPtr event-    freeMem msg-    return msg''--#if ENABLE_OVERLOADING-data EventParseSinkMessageMethodInfo-instance (signature ~ (m (Gst.Message.Message)), MonadIO m) => O.MethodInfo EventParseSinkMessageMethodInfo Event signature where-    overloadedMethod _ = eventParseSinkMessage--#endif---- method Event::parse_step--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The event to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to store the format in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "amount", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to store the amount in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to store the rate in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flush", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to store the flush boolean in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "intermediate", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to store the intermediate\n    boolean in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_step" gst_event_parse_step :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Word64 ->                           -- amount : TBasicType TUInt64-    Ptr CDouble ->                          -- rate : TBasicType TDouble-    Ptr CInt ->                             -- flush : TBasicType TBoolean-    Ptr CInt ->                             -- intermediate : TBasicType TBoolean-    IO ()--{- |-Parse the step event.--}-eventParseStep ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The event to query -}-    -> m ((Gst.Enums.Format, Word64, Double, Bool, Bool))-eventParseStep event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    format <- allocMem :: IO (Ptr CUInt)-    amount <- allocMem :: IO (Ptr Word64)-    rate <- allocMem :: IO (Ptr CDouble)-    flush <- allocMem :: IO (Ptr CInt)-    intermediate <- allocMem :: IO (Ptr CInt)-    gst_event_parse_step event' format amount rate flush intermediate-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    amount' <- peek amount-    rate' <- peek rate-    let rate'' = realToFrac rate'-    flush' <- peek flush-    let flush'' = (/= 0) flush'-    intermediate' <- peek intermediate-    let intermediate'' = (/= 0) intermediate'-    touchManagedPtr event-    freeMem format-    freeMem amount-    freeMem rate-    freeMem flush-    freeMem intermediate-    return (format'', amount', rate'', flush'', intermediate'')--#if ENABLE_OVERLOADING-data EventParseStepMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Word64, Double, Bool, Bool))), MonadIO m) => O.MethodInfo EventParseStepMethodInfo Event signature where-    overloadedMethod _ = eventParseStep--#endif---- method Event::parse_stream--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stream-start event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of variable to store the stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_stream" gst_event_parse_stream :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr (Ptr Gst.Stream.Stream) ->          -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    IO ()--{- |-Parse a stream-start /@event@/ and extract the 'GI.Gst.Objects.Stream.Stream' from it.--/Since: 1.10/--}-eventParseStream ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a stream-start event -}-    -> m (Gst.Stream.Stream)-eventParseStream event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    stream <- allocMem :: IO (Ptr (Ptr Gst.Stream.Stream))-    gst_event_parse_stream event' stream-    stream' <- peek stream-    stream'' <- (wrapObject Gst.Stream.Stream) stream'-    touchManagedPtr event-    freeMem stream-    return stream''--#if ENABLE_OVERLOADING-data EventParseStreamMethodInfo-instance (signature ~ (m (Gst.Stream.Stream)), MonadIO m) => O.MethodInfo EventParseStreamMethodInfo Event signature where-    overloadedMethod _ = eventParseStream--#endif---- method Event::parse_stream_collection--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stream-collection event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to store the collection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_stream_collection" gst_event_parse_stream_collection :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr (Ptr Gst.StreamCollection.StreamCollection) -> -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    IO ()--{- |-Retrieve new 'GI.Gst.Objects.StreamCollection.StreamCollection' from STREAM_COLLECTION event /@event@/.--/Since: 1.10/--}-eventParseStreamCollection ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a stream-collection event -}-    -> m (Gst.StreamCollection.StreamCollection)-eventParseStreamCollection event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    collection <- allocMem :: IO (Ptr (Ptr Gst.StreamCollection.StreamCollection))-    gst_event_parse_stream_collection event' collection-    collection' <- peek collection-    collection'' <- (wrapObject Gst.StreamCollection.StreamCollection) collection'-    touchManagedPtr event-    freeMem collection-    return collection''--#if ENABLE_OVERLOADING-data EventParseStreamCollectionMethodInfo-instance (signature ~ (m (Gst.StreamCollection.StreamCollection)), MonadIO m) => O.MethodInfo EventParseStreamCollectionMethodInfo Event signature where-    overloadedMethod _ = eventParseStreamCollection--#endif---- method Event::parse_stream_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stream-start event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "StreamFlags"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of variable where to store the stream flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_stream_flags" gst_event_parse_stream_flags :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CUInt ->                            -- flags : TInterface (Name {namespace = "Gst", name = "StreamFlags"})-    IO ()--{- |-/No description available in the introspection data./--/Since: 1.2/--}-eventParseStreamFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a stream-start event -}-    -> m ([Gst.Flags.StreamFlags])-eventParseStreamFlags event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    flags <- allocMem :: IO (Ptr CUInt)-    gst_event_parse_stream_flags event' flags-    flags' <- peek flags-    let flags'' = wordToGFlags flags'-    touchManagedPtr event-    freeMem flags-    return flags''--#if ENABLE_OVERLOADING-data EventParseStreamFlagsMethodInfo-instance (signature ~ (m ([Gst.Flags.StreamFlags])), MonadIO m) => O.MethodInfo EventParseStreamFlagsMethodInfo Event signature where-    overloadedMethod _ = eventParseStreamFlags--#endif---- method Event::parse_stream_group_done--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stream-group-done event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_id", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of variable to store the group id into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_stream_group_done" gst_event_parse_stream_group_done :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr Word32 ->                           -- group_id : TBasicType TUInt-    IO ()--{- |-Parse a stream-group-done /@event@/ and store the result in the given-/@groupId@/ location.--/Since: 1.10/--}-eventParseStreamGroupDone ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a stream-group-done event. -}-    -> m (Word32)-eventParseStreamGroupDone event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    groupId <- allocMem :: IO (Ptr Word32)-    gst_event_parse_stream_group_done event' groupId-    groupId' <- peek groupId-    touchManagedPtr event-    freeMem groupId-    return groupId'--#if ENABLE_OVERLOADING-data EventParseStreamGroupDoneMethodInfo-instance (signature ~ (m (Word32)), MonadIO m) => O.MethodInfo EventParseStreamGroupDoneMethodInfo Event signature where-    overloadedMethod _ = eventParseStreamGroupDone--#endif---- method Event::parse_stream_start--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stream-start event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream_id", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to store the stream-id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_stream_start" gst_event_parse_stream_start :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CString ->                          -- stream_id : TBasicType TUTF8-    IO ()--{- |-Parse a stream-id /@event@/ and store the result in the given /@streamId@/-location. The string stored in /@streamId@/ 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.--}-eventParseStreamStart ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a stream-start event. -}-    -> m (T.Text)-eventParseStreamStart event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    streamId <- allocMem :: IO (Ptr CString)-    gst_event_parse_stream_start event' streamId-    streamId' <- peek streamId-    streamId'' <- cstringToText streamId'-    touchManagedPtr event-    freeMem streamId-    return streamId''--#if ENABLE_OVERLOADING-data EventParseStreamStartMethodInfo-instance (signature ~ (m (T.Text)), MonadIO m) => O.MethodInfo EventParseStreamStartMethodInfo Event signature where-    overloadedMethod _ = eventParseStreamStart--#endif---- method Event::parse_tag--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a tag event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "taglist", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to metadata list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_tag" gst_event_parse_tag :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr (Ptr Gst.TagList.TagList) ->        -- taglist : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO ()--{- |-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.--}-eventParseTag ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a tag event -}-    -> m (Gst.TagList.TagList)-eventParseTag event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    taglist <- allocMem :: IO (Ptr (Ptr Gst.TagList.TagList))-    gst_event_parse_tag event' taglist-    taglist' <- peek taglist-    taglist'' <- (newBoxed Gst.TagList.TagList) taglist'-    touchManagedPtr event-    freeMem taglist-    return taglist''--#if ENABLE_OVERLOADING-data EventParseTagMethodInfo-instance (signature ~ (m (Gst.TagList.TagList)), MonadIO m) => O.MethodInfo EventParseTagMethodInfo Event signature where-    overloadedMethod _ = eventParseTag--#endif---- method Event::parse_toc--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a TOC event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to #GstToc structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "updated", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to store TOC updated flag.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_toc" gst_event_parse_toc :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr (Ptr Gst.Toc.Toc) ->                -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    Ptr CInt ->                             -- updated : TBasicType TBoolean-    IO ()--{- |-Parse a TOC /@event@/ and store the results in the given /@toc@/ and /@updated@/ locations.--}-eventParseToc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a TOC event. -}-    -> m ((Gst.Toc.Toc, Bool))-eventParseToc event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    toc <- allocMem :: IO (Ptr (Ptr Gst.Toc.Toc))-    updated <- allocMem :: IO (Ptr CInt)-    gst_event_parse_toc event' toc updated-    toc' <- peek toc-    toc'' <- (wrapBoxed Gst.Toc.Toc) toc'-    updated' <- peek updated-    let updated'' = (/= 0) updated'-    touchManagedPtr event-    freeMem toc-    freeMem updated-    return (toc'', updated'')--#if ENABLE_OVERLOADING-data EventParseTocMethodInfo-instance (signature ~ (m ((Gst.Toc.Toc, Bool))), MonadIO m) => O.MethodInfo EventParseTocMethodInfo Event signature where-    overloadedMethod _ = eventParseToc--#endif---- method Event::parse_toc_select--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a TOC select event.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uid", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "storage for the selection UID.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_parse_toc_select" gst_event_parse_toc_select :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr CString ->                          -- uid : TBasicType TUTF8-    IO ()--{- |-Parse a TOC select /@event@/ and store the results in the given /@uid@/ location.--}-eventParseTocSelect ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a TOC select event. -}-    -> m (T.Text)-eventParseTocSelect event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    uid <- allocMem :: IO (Ptr CString)-    gst_event_parse_toc_select event' uid-    uid' <- peek uid-    uid'' <- cstringToText uid'-    freeMem uid'-    touchManagedPtr event-    freeMem uid-    return uid''--#if ENABLE_OVERLOADING-data EventParseTocSelectMethodInfo-instance (signature ~ (m (T.Text)), MonadIO m) => O.MethodInfo EventParseTocSelectMethodInfo Event signature where-    overloadedMethod _ = eventParseTocSelect--#endif---- method Event::set_group_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stream-start event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the group id to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_set_group_id" gst_event_set_group_id :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Word32 ->                               -- group_id : TBasicType TUInt-    IO ()--{- |-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 'GI.Gst.Functions.utilGroupIdNext' to get a new group id.--/Since: 1.2/--}-eventSetGroupId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a stream-start event -}-    -> Word32-    {- ^ /@groupId@/: the group id to set -}-    -> m ()-eventSetGroupId event groupId = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    gst_event_set_group_id event' groupId-    touchManagedPtr event-    return ()--#if ENABLE_OVERLOADING-data EventSetGroupIdMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo EventSetGroupIdMethodInfo Event signature where-    overloadedMethod _ = eventSetGroupId--#endif---- method Event::set_running_time_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A the new running time offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_set_running_time_offset" gst_event_set_running_time_offset :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Int64 ->                                -- offset : TBasicType TInt64-    IO ()--{- |-Set the running time offset of a event. See-'GI.Gst.Structs.Event.eventGetRunningTimeOffset' for more information.--MT safe.--/Since: 1.4/--}-eventSetRunningTimeOffset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: A 'GI.Gst.Structs.Event.Event'. -}-    -> Int64-    {- ^ /@offset@/: A the new running time offset -}-    -> m ()-eventSetRunningTimeOffset event offset = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    gst_event_set_running_time_offset event' offset-    touchManagedPtr event-    return ()--#if ENABLE_OVERLOADING-data EventSetRunningTimeOffsetMethodInfo-instance (signature ~ (Int64 -> m ()), MonadIO m) => O.MethodInfo EventSetRunningTimeOffsetMethodInfo Event signature where-    overloadedMethod _ = eventSetRunningTimeOffset--#endif---- method Event::set_seek_trickmode_interval--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_set_seek_trickmode_interval" gst_event_set_seek_trickmode_interval :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Word64 ->                               -- interval : TBasicType TUInt64-    IO ()--{- |-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.--/Since: 1.16/--}-eventSetSeekTrickmodeInterval ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    -> Word64-    -> m ()-eventSetSeekTrickmodeInterval event interval = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    gst_event_set_seek_trickmode_interval event' interval-    touchManagedPtr event-    return ()--#if ENABLE_OVERLOADING-data EventSetSeekTrickmodeIntervalMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m) => O.MethodInfo EventSetSeekTrickmodeIntervalMethodInfo Event signature where-    overloadedMethod _ = eventSetSeekTrickmodeInterval--#endif---- method Event::set_seqnum--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seqnum", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A sequence number.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_set_seqnum" gst_event_set_seqnum :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Word32 ->                               -- seqnum : TBasicType TUInt32-    IO ()--{- |-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 'GI.Gst.Structs.Event.eventGetSeqnum' for-more information.--MT safe.--}-eventSetSeqnum ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: A 'GI.Gst.Structs.Event.Event'. -}-    -> Word32-    {- ^ /@seqnum@/: A sequence number. -}-    -> m ()-eventSetSeqnum event seqnum = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    gst_event_set_seqnum event' seqnum-    touchManagedPtr event-    return ()--#if ENABLE_OVERLOADING-data EventSetSeqnumMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo EventSetSeqnumMethodInfo Event signature where-    overloadedMethod _ = eventSetSeqnum--#endif---- method Event::set_stream--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stream-start event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stream object to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_set_stream" gst_event_set_stream :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    Ptr Gst.Stream.Stream ->                -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    IO ()--{- |-Set the /@stream@/ on the stream-start /@event@/--/Since: 1.10/--}-eventSetStream ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Stream.IsStream a) =>-    Event-    {- ^ /@event@/: a stream-start event -}-    -> a-    {- ^ /@stream@/: the stream object to set -}-    -> m ()-eventSetStream event stream = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    stream' <- unsafeManagedPtrCastPtr stream-    gst_event_set_stream event' stream'-    touchManagedPtr event-    touchManagedPtr stream-    return ()--#if ENABLE_OVERLOADING-data EventSetStreamMethodInfo-instance (signature ~ (a -> m ()), MonadIO m, Gst.Stream.IsStream a) => O.MethodInfo EventSetStreamMethodInfo Event signature where-    overloadedMethod _ = eventSetStream--#endif---- method Event::set_stream_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a stream-start event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "StreamFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stream flags to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_event_set_stream_flags" gst_event_set_stream_flags :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "StreamFlags"})-    IO ()--{- |-/No description available in the introspection data./--/Since: 1.2/--}-eventSetStreamFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: a stream-start event -}-    -> [Gst.Flags.StreamFlags]-    {- ^ /@flags@/: the stream flags to set -}-    -> m ()-eventSetStreamFlags event flags = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    let flags' = gflagsToWord flags-    gst_event_set_stream_flags event' flags'-    touchManagedPtr event-    return ()--#if ENABLE_OVERLOADING-data EventSetStreamFlagsMethodInfo-instance (signature ~ ([Gst.Flags.StreamFlags] -> m ()), MonadIO m) => O.MethodInfo EventSetStreamFlagsMethodInfo Event signature where-    overloadedMethod _ = eventSetStreamFlags--#endif---- method Event::writable_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "event", argType = TInterface (Name {namespace = "Gst", name = "Event"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstEvent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_event_writable_structure" gst_event_writable_structure :: -    Ptr Event ->                            -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO (Ptr Gst.Structure.Structure)--{- |-Get a writable version of the structure.--}-eventWritableStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Event-    {- ^ /@event@/: The 'GI.Gst.Structs.Event.Event'. -}-    -> m Gst.Structure.Structure-    {- ^ __Returns:__ 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-'Nothing'.--MT safe. -}-eventWritableStructure event = liftIO $ do-    event' <- unsafeManagedPtrGetPtr event-    result <- gst_event_writable_structure event'-    checkUnexpectedReturnNULL "eventWritableStructure" result-    result' <- (newBoxed Gst.Structure.Structure) result-    touchManagedPtr event-    return result'--#if ENABLE_OVERLOADING-data EventWritableStructureMethodInfo-instance (signature ~ (m Gst.Structure.Structure), MonadIO m) => O.MethodInfo EventWritableStructureMethodInfo Event signature where-    overloadedMethod _ = eventWritableStructure--#endif--#if ENABLE_OVERLOADING-type family ResolveEventMethod (t :: Symbol) (o :: *) :: * where-    ResolveEventMethod "copySegment" o = EventCopySegmentMethodInfo-    ResolveEventMethod "hasName" o = EventHasNameMethodInfo-    ResolveEventMethod "parseBufferSize" o = EventParseBufferSizeMethodInfo-    ResolveEventMethod "parseCaps" o = EventParseCapsMethodInfo-    ResolveEventMethod "parseFlushStop" o = EventParseFlushStopMethodInfo-    ResolveEventMethod "parseGap" o = EventParseGapMethodInfo-    ResolveEventMethod "parseGroupId" o = EventParseGroupIdMethodInfo-    ResolveEventMethod "parseLatency" o = EventParseLatencyMethodInfo-    ResolveEventMethod "parseProtection" o = EventParseProtectionMethodInfo-    ResolveEventMethod "parseQos" o = EventParseQosMethodInfo-    ResolveEventMethod "parseSeek" o = EventParseSeekMethodInfo-    ResolveEventMethod "parseSeekTrickmodeInterval" o = EventParseSeekTrickmodeIntervalMethodInfo-    ResolveEventMethod "parseSegment" o = EventParseSegmentMethodInfo-    ResolveEventMethod "parseSegmentDone" o = EventParseSegmentDoneMethodInfo-    ResolveEventMethod "parseSelectStreams" o = EventParseSelectStreamsMethodInfo-    ResolveEventMethod "parseSinkMessage" o = EventParseSinkMessageMethodInfo-    ResolveEventMethod "parseStep" o = EventParseStepMethodInfo-    ResolveEventMethod "parseStream" o = EventParseStreamMethodInfo-    ResolveEventMethod "parseStreamCollection" o = EventParseStreamCollectionMethodInfo-    ResolveEventMethod "parseStreamFlags" o = EventParseStreamFlagsMethodInfo-    ResolveEventMethod "parseStreamGroupDone" o = EventParseStreamGroupDoneMethodInfo-    ResolveEventMethod "parseStreamStart" o = EventParseStreamStartMethodInfo-    ResolveEventMethod "parseTag" o = EventParseTagMethodInfo-    ResolveEventMethod "parseToc" o = EventParseTocMethodInfo-    ResolveEventMethod "parseTocSelect" o = EventParseTocSelectMethodInfo-    ResolveEventMethod "writableStructure" o = EventWritableStructureMethodInfo-    ResolveEventMethod "getRunningTimeOffset" o = EventGetRunningTimeOffsetMethodInfo-    ResolveEventMethod "getSeqnum" o = EventGetSeqnumMethodInfo-    ResolveEventMethod "getStructure" o = EventGetStructureMethodInfo-    ResolveEventMethod "setGroupId" o = EventSetGroupIdMethodInfo-    ResolveEventMethod "setRunningTimeOffset" o = EventSetRunningTimeOffsetMethodInfo-    ResolveEventMethod "setSeekTrickmodeInterval" o = EventSetSeekTrickmodeIntervalMethodInfo-    ResolveEventMethod "setSeqnum" o = EventSetSeqnumMethodInfo-    ResolveEventMethod "setStream" o = EventSetStreamMethodInfo-    ResolveEventMethod "setStreamFlags" o = EventSetStreamFlagsMethodInfo-    ResolveEventMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveEventMethod t Event, O.MethodInfo info Event p) => OL.IsLabel t (Event -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Event.hs-boot
@@ -1,131 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Event where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Event = Event (ManagedPtr Event)-instance BoxedObject Event where-#if ENABLE_OVERLOADING-data EventCopySegmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventGetRunningTimeOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventGetSeqnumMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventGetStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventHasNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseBufferSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseFlushStopMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseGapMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseGroupIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseProtectionMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseQosMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseSeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseSeekTrickmodeIntervalMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseSegmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseSegmentDoneMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseSelectStreamsMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseSinkMessageMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseStepMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseStreamMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseStreamCollectionMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseStreamFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseStreamGroupDoneMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseStreamStartMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseTagMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseTocMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventParseTocSelectMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventSetGroupIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventSetRunningTimeOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventSetSeekTrickmodeIntervalMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventSetSeqnumMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventSetStreamMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventSetStreamFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data EventWritableStructureMethodInfo-#endif
− GI/Gst/Structs/FormatDefinition.hs
@@ -1,346 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A format definition--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.FormatDefinition-    ( ---- * Exported types-    FormatDefinition(..)                    ,-    newZeroFormatDefinition                 ,-    noFormatDefinition                      ,--- -- * Properties--- ** description #attr:description#-{- | A longer description of the format--}-    clearFormatDefinitionDescription        ,-#if ENABLE_OVERLOADING-    formatDefinition_description            ,-#endif-    getFormatDefinitionDescription          ,-    setFormatDefinitionDescription          ,----- ** nick #attr:nick#-{- | A short nick of the format--}-    clearFormatDefinitionNick               ,-#if ENABLE_OVERLOADING-    formatDefinition_nick                   ,-#endif-    getFormatDefinitionNick                 ,-    setFormatDefinitionNick                 ,----- ** quark #attr:quark#-{- | A quark for the nick--}-#if ENABLE_OVERLOADING-    formatDefinition_quark                  ,-#endif-    getFormatDefinitionQuark                ,-    setFormatDefinitionQuark                ,----- ** value #attr:value#-{- | The unique id of this format--}-#if ENABLE_OVERLOADING-    formatDefinition_value                  ,-#endif-    getFormatDefinitionValue                ,-    setFormatDefinitionValue                ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums---- | Memory-managed wrapper type.-newtype FormatDefinition = FormatDefinition (ManagedPtr FormatDefinition)-instance WrappedPtr FormatDefinition where-    wrappedPtrCalloc = callocBytes 32-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr FormatDefinition)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `FormatDefinition` struct initialized to zero.-newZeroFormatDefinition :: MonadIO m => m FormatDefinition-newZeroFormatDefinition = liftIO $ wrappedPtrCalloc >>= wrapPtr FormatDefinition--instance tag ~ 'AttrSet => Constructible FormatDefinition tag where-    new _ attrs = do-        o <- newZeroFormatDefinition-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `FormatDefinition`.-noFormatDefinition :: Maybe FormatDefinition-noFormatDefinition = Nothing--{- |-Get the value of the “@value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' formatDefinition #value-@--}-getFormatDefinitionValue :: MonadIO m => FormatDefinition -> m Gst.Enums.Format-getFormatDefinitionValue s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' formatDefinition [ #value 'Data.GI.Base.Attributes.:=' value ]-@--}-setFormatDefinitionValue :: MonadIO m => FormatDefinition -> Gst.Enums.Format -> m ()-setFormatDefinitionValue s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 0) (val' :: CUInt)--#if ENABLE_OVERLOADING-data FormatDefinitionValueFieldInfo-instance AttrInfo FormatDefinitionValueFieldInfo where-    type AttrAllowedOps FormatDefinitionValueFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint FormatDefinitionValueFieldInfo = (~) Gst.Enums.Format-    type AttrBaseTypeConstraint FormatDefinitionValueFieldInfo = (~) FormatDefinition-    type AttrGetType FormatDefinitionValueFieldInfo = Gst.Enums.Format-    type AttrLabel FormatDefinitionValueFieldInfo = "value"-    type AttrOrigin FormatDefinitionValueFieldInfo = FormatDefinition-    attrGet _ = getFormatDefinitionValue-    attrSet _ = setFormatDefinitionValue-    attrConstruct = undefined-    attrClear _ = undefined--formatDefinition_value :: AttrLabelProxy "value"-formatDefinition_value = AttrLabelProxy--#endif---{- |-Get the value of the “@nick@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' formatDefinition #nick-@--}-getFormatDefinitionNick :: MonadIO m => FormatDefinition -> m (Maybe T.Text)-getFormatDefinitionNick s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@nick@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' formatDefinition [ #nick 'Data.GI.Base.Attributes.:=' value ]-@--}-setFormatDefinitionNick :: MonadIO m => FormatDefinition -> CString -> m ()-setFormatDefinitionNick s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: CString)--{- |-Set the value of the “@nick@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #nick-@--}-clearFormatDefinitionNick :: MonadIO m => FormatDefinition -> m ()-clearFormatDefinitionNick s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data FormatDefinitionNickFieldInfo-instance AttrInfo FormatDefinitionNickFieldInfo where-    type AttrAllowedOps FormatDefinitionNickFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint FormatDefinitionNickFieldInfo = (~) CString-    type AttrBaseTypeConstraint FormatDefinitionNickFieldInfo = (~) FormatDefinition-    type AttrGetType FormatDefinitionNickFieldInfo = Maybe T.Text-    type AttrLabel FormatDefinitionNickFieldInfo = "nick"-    type AttrOrigin FormatDefinitionNickFieldInfo = FormatDefinition-    attrGet _ = getFormatDefinitionNick-    attrSet _ = setFormatDefinitionNick-    attrConstruct = undefined-    attrClear _ = clearFormatDefinitionNick--formatDefinition_nick :: AttrLabelProxy "nick"-formatDefinition_nick = AttrLabelProxy--#endif---{- |-Get the value of the “@description@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' formatDefinition #description-@--}-getFormatDefinitionDescription :: MonadIO m => FormatDefinition -> m (Maybe T.Text)-getFormatDefinitionDescription s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@description@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' formatDefinition [ #description 'Data.GI.Base.Attributes.:=' value ]-@--}-setFormatDefinitionDescription :: MonadIO m => FormatDefinition -> CString -> m ()-setFormatDefinitionDescription s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: CString)--{- |-Set the value of the “@description@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #description-@--}-clearFormatDefinitionDescription :: MonadIO m => FormatDefinition -> m ()-clearFormatDefinitionDescription s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data FormatDefinitionDescriptionFieldInfo-instance AttrInfo FormatDefinitionDescriptionFieldInfo where-    type AttrAllowedOps FormatDefinitionDescriptionFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint FormatDefinitionDescriptionFieldInfo = (~) CString-    type AttrBaseTypeConstraint FormatDefinitionDescriptionFieldInfo = (~) FormatDefinition-    type AttrGetType FormatDefinitionDescriptionFieldInfo = Maybe T.Text-    type AttrLabel FormatDefinitionDescriptionFieldInfo = "description"-    type AttrOrigin FormatDefinitionDescriptionFieldInfo = FormatDefinition-    attrGet _ = getFormatDefinitionDescription-    attrSet _ = setFormatDefinitionDescription-    attrConstruct = undefined-    attrClear _ = clearFormatDefinitionDescription--formatDefinition_description :: AttrLabelProxy "description"-formatDefinition_description = AttrLabelProxy--#endif---{- |-Get the value of the “@quark@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' formatDefinition #quark-@--}-getFormatDefinitionQuark :: MonadIO m => FormatDefinition -> m Word32-getFormatDefinitionQuark s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word32-    return val--{- |-Set the value of the “@quark@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' formatDefinition [ #quark 'Data.GI.Base.Attributes.:=' value ]-@--}-setFormatDefinitionQuark :: MonadIO m => FormatDefinition -> Word32 -> m ()-setFormatDefinitionQuark s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Word32)--#if ENABLE_OVERLOADING-data FormatDefinitionQuarkFieldInfo-instance AttrInfo FormatDefinitionQuarkFieldInfo where-    type AttrAllowedOps FormatDefinitionQuarkFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint FormatDefinitionQuarkFieldInfo = (~) Word32-    type AttrBaseTypeConstraint FormatDefinitionQuarkFieldInfo = (~) FormatDefinition-    type AttrGetType FormatDefinitionQuarkFieldInfo = Word32-    type AttrLabel FormatDefinitionQuarkFieldInfo = "quark"-    type AttrOrigin FormatDefinitionQuarkFieldInfo = FormatDefinition-    attrGet _ = getFormatDefinitionQuark-    attrSet _ = setFormatDefinitionQuark-    attrConstruct = undefined-    attrClear _ = undefined--formatDefinition_quark :: AttrLabelProxy "quark"-formatDefinition_quark = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList FormatDefinition-type instance O.AttributeList FormatDefinition = FormatDefinitionAttributeList-type FormatDefinitionAttributeList = ('[ '("value", FormatDefinitionValueFieldInfo), '("nick", FormatDefinitionNickFieldInfo), '("description", FormatDefinitionDescriptionFieldInfo), '("quark", FormatDefinitionQuarkFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveFormatDefinitionMethod (t :: Symbol) (o :: *) :: * where-    ResolveFormatDefinitionMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveFormatDefinitionMethod t FormatDefinition, O.MethodInfo info FormatDefinition p) => OL.IsLabel t (FormatDefinition -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/FormatDefinition.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.FormatDefinition where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype FormatDefinition = FormatDefinition (ManagedPtr FormatDefinition)-instance WrappedPtr FormatDefinition where
− GI/Gst/Structs/Iterator.hs
@@ -1,1415 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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, 'GI.GObject.Structs.Value.valueGetObject'), 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:--=== /C code/->->  GstIterator *it = _get_iterator(object);->  GValue item = G_VALUE_INIT;->  done = FALSE;->  while (!done) {->    switch (gst_iterator_next (it, &amp;item)) {->      case GST_ITERATOR_OK:->        ...get/use/change item here...->        g_value_reset (&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;item);->  gst_iterator_free (it);---}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Iterator-    ( ---- * Exported types-    Iterator(..)                            ,-    newZeroIterator                         ,-    noIterator                              ,--- -- * Methods--- ** copy #method:copy#--#if ENABLE_OVERLOADING-    IteratorCopyMethodInfo                  ,-#endif-    iteratorCopy                            ,----- ** filter #method:filter#--#if ENABLE_OVERLOADING-    IteratorFilterMethodInfo                ,-#endif-    iteratorFilter                          ,----- ** findCustom #method:findCustom#--#if ENABLE_OVERLOADING-    IteratorFindCustomMethodInfo            ,-#endif-    iteratorFindCustom                      ,----- ** fold #method:fold#--#if ENABLE_OVERLOADING-    IteratorFoldMethodInfo                  ,-#endif-    iteratorFold                            ,----- ** foreach #method:foreach#--#if ENABLE_OVERLOADING-    IteratorForeachMethodInfo               ,-#endif-    iteratorForeach                         ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    IteratorFreeMethodInfo                  ,-#endif-    iteratorFree                            ,----- ** newSingle #method:newSingle#--    iteratorNewSingle                       ,----- ** next #method:next#--#if ENABLE_OVERLOADING-    IteratorNextMethodInfo                  ,-#endif-    iteratorNext                            ,----- ** push #method:push#--#if ENABLE_OVERLOADING-    IteratorPushMethodInfo                  ,-#endif-    iteratorPush                            ,----- ** resync #method:resync#--#if ENABLE_OVERLOADING-    IteratorResyncMethodInfo                ,-#endif-    iteratorResync                          ,----- -- * Properties--- ** cookie #attr:cookie#-{- | The cookie; the value of the master_cookie when this iterator was-         created.--}-    getIteratorCookie                       ,-#if ENABLE_OVERLOADING-    iterator_cookie                         ,-#endif-    setIteratorCookie                       ,----- ** copy #attr:copy#-{- | The function to copy the iterator--}-    clearIteratorCopy                       ,-    getIteratorCopy                         ,-#if ENABLE_OVERLOADING-    iterator_copy                           ,-#endif-    setIteratorCopy                         ,----- ** free #attr:free#-{- | The function to call when the iterator is freed--}-    clearIteratorFree                       ,-    getIteratorFree                         ,-#if ENABLE_OVERLOADING-    iterator_free                           ,-#endif-    setIteratorFree                         ,----- ** item #attr:item#-{- | The function to be called for each item retrieved--}-    clearIteratorItem                       ,-    getIteratorItem                         ,-#if ENABLE_OVERLOADING-    iterator_item                           ,-#endif-    setIteratorItem                         ,----- ** lock #attr:lock#-{- | The lock protecting the data structure and the cookie.--}-    clearIteratorLock                       ,-    getIteratorLock                         ,-#if ENABLE_OVERLOADING-    iterator_lock                           ,-#endif-    setIteratorLock                         ,----- ** masterCookie #attr:masterCookie#-{- | A pointer to the master cookie.--}-    getIteratorMasterCookie                 ,-#if ENABLE_OVERLOADING-    iterator_masterCookie                   ,-#endif-    setIteratorMasterCookie                 ,----- ** next #attr:next#-{- | The function to get the next item in the iterator--}-    clearIteratorNext                       ,-    getIteratorNext                         ,-#if ENABLE_OVERLOADING-    iterator_next                           ,-#endif-    setIteratorNext                         ,----- ** pushed #attr:pushed#-{- | The iterator that is currently pushed with 'GI.Gst.Structs.Iterator.iteratorPush'--}-    clearIteratorPushed                     ,-    getIteratorPushed                       ,-#if ENABLE_OVERLOADING-    iterator_pushed                         ,-#endif-    setIteratorPushed                       ,----- ** resync #attr:resync#-{- | The function to call when a resync is needed.--}-    clearIteratorResync                     ,-    getIteratorResync                       ,-#if ENABLE_OVERLOADING-    iterator_resync                         ,-#endif-    setIteratorResync                       ,----- ** size #attr:size#-{- | the size of the iterator--}-    getIteratorSize                         ,-#if ENABLE_OVERLOADING-    iterator_size                           ,-#endif-    setIteratorSize                         ,----- ** type #attr:type#-{- | The type of the object that this iterator will return--}-    getIteratorType                         ,-#if ENABLE_OVERLOADING-    iterator_type                           ,-#endif-    setIteratorType                         ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.GLib.Unions.Mutex as GLib.Mutex-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums---- | Memory-managed wrapper type.-newtype Iterator = Iterator (ManagedPtr Iterator)-foreign import ccall "gst_iterator_get_type" c_gst_iterator_get_type :: -    IO GType--instance BoxedObject Iterator where-    boxedType _ = c_gst_iterator_get_type---- | Construct a `Iterator` struct initialized to zero.-newZeroIterator :: MonadIO m => m Iterator-newZeroIterator = liftIO $ callocBoxedBytes 120 >>= wrapBoxed Iterator--instance tag ~ 'AttrSet => Constructible Iterator tag where-    new _ attrs = do-        o <- newZeroIterator-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Iterator`.-noIterator :: Maybe Iterator-noIterator = Nothing--{- |-Get the value of the “@copy@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #copy-@--}-getIteratorCopy :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorCopyFunction)-getIteratorCopy s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr Gst.Callbacks.C_IteratorCopyFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_IteratorCopyFunction val'-        return val''-    return result--{- |-Set the value of the “@copy@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #copy 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorCopy :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorCopyFunction -> m ()-setIteratorCopy s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: FunPtr Gst.Callbacks.C_IteratorCopyFunction)--{- |-Set the value of the “@copy@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #copy-@--}-clearIteratorCopy :: MonadIO m => Iterator -> m ()-clearIteratorCopy s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorCopyFunction)--#if ENABLE_OVERLOADING-data IteratorCopyFieldInfo-instance AttrInfo IteratorCopyFieldInfo where-    type AttrAllowedOps IteratorCopyFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IteratorCopyFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorCopyFunction)-    type AttrBaseTypeConstraint IteratorCopyFieldInfo = (~) Iterator-    type AttrGetType IteratorCopyFieldInfo = Maybe Gst.Callbacks.IteratorCopyFunction-    type AttrLabel IteratorCopyFieldInfo = "copy"-    type AttrOrigin IteratorCopyFieldInfo = Iterator-    attrGet _ = getIteratorCopy-    attrSet _ = setIteratorCopy-    attrConstruct = undefined-    attrClear _ = clearIteratorCopy--iterator_copy :: AttrLabelProxy "copy"-iterator_copy = AttrLabelProxy--#endif---{- |-Get the value of the “@next@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #next-@--}-getIteratorNext :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorNextFunction)-getIteratorNext s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr Gst.Callbacks.C_IteratorNextFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_IteratorNextFunction val'-        return val''-    return result--{- |-Set the value of the “@next@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #next 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorNext :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorNextFunction -> m ()-setIteratorNext s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: FunPtr Gst.Callbacks.C_IteratorNextFunction)--{- |-Set the value of the “@next@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #next-@--}-clearIteratorNext :: MonadIO m => Iterator -> m ()-clearIteratorNext s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorNextFunction)--#if ENABLE_OVERLOADING-data IteratorNextFieldInfo-instance AttrInfo IteratorNextFieldInfo where-    type AttrAllowedOps IteratorNextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IteratorNextFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorNextFunction)-    type AttrBaseTypeConstraint IteratorNextFieldInfo = (~) Iterator-    type AttrGetType IteratorNextFieldInfo = Maybe Gst.Callbacks.IteratorNextFunction-    type AttrLabel IteratorNextFieldInfo = "next"-    type AttrOrigin IteratorNextFieldInfo = Iterator-    attrGet _ = getIteratorNext-    attrSet _ = setIteratorNext-    attrConstruct = undefined-    attrClear _ = clearIteratorNext--iterator_next :: AttrLabelProxy "next"-iterator_next = AttrLabelProxy--#endif---{- |-Get the value of the “@item@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #item-@--}-getIteratorItem :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorItemFunction)-getIteratorItem s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr Gst.Callbacks.C_IteratorItemFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_IteratorItemFunction val'-        return val''-    return result--{- |-Set the value of the “@item@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #item 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorItem :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorItemFunction -> m ()-setIteratorItem s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: FunPtr Gst.Callbacks.C_IteratorItemFunction)--{- |-Set the value of the “@item@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #item-@--}-clearIteratorItem :: MonadIO m => Iterator -> m ()-clearIteratorItem s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorItemFunction)--#if ENABLE_OVERLOADING-data IteratorItemFieldInfo-instance AttrInfo IteratorItemFieldInfo where-    type AttrAllowedOps IteratorItemFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IteratorItemFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorItemFunction)-    type AttrBaseTypeConstraint IteratorItemFieldInfo = (~) Iterator-    type AttrGetType IteratorItemFieldInfo = Maybe Gst.Callbacks.IteratorItemFunction-    type AttrLabel IteratorItemFieldInfo = "item"-    type AttrOrigin IteratorItemFieldInfo = Iterator-    attrGet _ = getIteratorItem-    attrSet _ = setIteratorItem-    attrConstruct = undefined-    attrClear _ = clearIteratorItem--iterator_item :: AttrLabelProxy "item"-iterator_item = AttrLabelProxy--#endif---{- |-Get the value of the “@resync@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #resync-@--}-getIteratorResync :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorResyncFunction)-getIteratorResync s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr Gst.Callbacks.C_IteratorResyncFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_IteratorResyncFunction val'-        return val''-    return result--{- |-Set the value of the “@resync@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #resync 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorResync :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorResyncFunction -> m ()-setIteratorResync s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: FunPtr Gst.Callbacks.C_IteratorResyncFunction)--{- |-Set the value of the “@resync@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #resync-@--}-clearIteratorResync :: MonadIO m => Iterator -> m ()-clearIteratorResync s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorResyncFunction)--#if ENABLE_OVERLOADING-data IteratorResyncFieldInfo-instance AttrInfo IteratorResyncFieldInfo where-    type AttrAllowedOps IteratorResyncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IteratorResyncFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorResyncFunction)-    type AttrBaseTypeConstraint IteratorResyncFieldInfo = (~) Iterator-    type AttrGetType IteratorResyncFieldInfo = Maybe Gst.Callbacks.IteratorResyncFunction-    type AttrLabel IteratorResyncFieldInfo = "resync"-    type AttrOrigin IteratorResyncFieldInfo = Iterator-    attrGet _ = getIteratorResync-    attrSet _ = setIteratorResync-    attrConstruct = undefined-    attrClear _ = clearIteratorResync--iterator_resync :: AttrLabelProxy "resync"-iterator_resync = AttrLabelProxy--#endif---{- |-Get the value of the “@free@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #free-@--}-getIteratorFree :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorFreeFunction)-getIteratorFree s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr Gst.Callbacks.C_IteratorFreeFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_IteratorFreeFunction val'-        return val''-    return result--{- |-Set the value of the “@free@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #free 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorFree :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorFreeFunction -> m ()-setIteratorFree s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: FunPtr Gst.Callbacks.C_IteratorFreeFunction)--{- |-Set the value of the “@free@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #free-@--}-clearIteratorFree :: MonadIO m => Iterator -> m ()-clearIteratorFree s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorFreeFunction)--#if ENABLE_OVERLOADING-data IteratorFreeFieldInfo-instance AttrInfo IteratorFreeFieldInfo where-    type AttrAllowedOps IteratorFreeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IteratorFreeFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorFreeFunction)-    type AttrBaseTypeConstraint IteratorFreeFieldInfo = (~) Iterator-    type AttrGetType IteratorFreeFieldInfo = Maybe Gst.Callbacks.IteratorFreeFunction-    type AttrLabel IteratorFreeFieldInfo = "free"-    type AttrOrigin IteratorFreeFieldInfo = Iterator-    attrGet _ = getIteratorFree-    attrSet _ = setIteratorFree-    attrConstruct = undefined-    attrClear _ = clearIteratorFree--iterator_free :: AttrLabelProxy "free"-iterator_free = AttrLabelProxy--#endif---{- |-Get the value of the “@pushed@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #pushed-@--}-getIteratorPushed :: MonadIO m => Iterator -> m (Maybe Iterator)-getIteratorPushed s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO (Ptr Iterator)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newBoxed Iterator) val'-        return val''-    return result--{- |-Set the value of the “@pushed@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #pushed 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorPushed :: MonadIO m => Iterator -> Ptr Iterator -> m ()-setIteratorPushed s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: Ptr Iterator)--{- |-Set the value of the “@pushed@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #pushed-@--}-clearIteratorPushed :: MonadIO m => Iterator -> m ()-clearIteratorPushed s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (FP.nullPtr :: Ptr Iterator)--#if ENABLE_OVERLOADING-data IteratorPushedFieldInfo-instance AttrInfo IteratorPushedFieldInfo where-    type AttrAllowedOps IteratorPushedFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IteratorPushedFieldInfo = (~) (Ptr Iterator)-    type AttrBaseTypeConstraint IteratorPushedFieldInfo = (~) Iterator-    type AttrGetType IteratorPushedFieldInfo = Maybe Iterator-    type AttrLabel IteratorPushedFieldInfo = "pushed"-    type AttrOrigin IteratorPushedFieldInfo = Iterator-    attrGet _ = getIteratorPushed-    attrSet _ = setIteratorPushed-    attrConstruct = undefined-    attrClear _ = clearIteratorPushed--iterator_pushed :: AttrLabelProxy "pushed"-iterator_pushed = AttrLabelProxy--#endif---{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #type-@--}-getIteratorType :: MonadIO m => Iterator -> m GType-getIteratorType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 48) :: IO CGType-    let val' = GType val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorType :: MonadIO m => Iterator -> GType -> m ()-setIteratorType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gtypeToCGType val-    poke (ptr `plusPtr` 48) (val' :: CGType)--#if ENABLE_OVERLOADING-data IteratorTypeFieldInfo-instance AttrInfo IteratorTypeFieldInfo where-    type AttrAllowedOps IteratorTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint IteratorTypeFieldInfo = (~) GType-    type AttrBaseTypeConstraint IteratorTypeFieldInfo = (~) Iterator-    type AttrGetType IteratorTypeFieldInfo = GType-    type AttrLabel IteratorTypeFieldInfo = "type"-    type AttrOrigin IteratorTypeFieldInfo = Iterator-    attrGet _ = getIteratorType-    attrSet _ = setIteratorType-    attrConstruct = undefined-    attrClear _ = undefined--iterator_type :: AttrLabelProxy "type"-iterator_type = AttrLabelProxy--#endif---{- |-Get the value of the “@lock@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #lock-@--}-getIteratorLock :: MonadIO m => Iterator -> m (Maybe GLib.Mutex.Mutex)-getIteratorLock s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 56) :: IO (Ptr GLib.Mutex.Mutex)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr GLib.Mutex.Mutex) val'-        return val''-    return result--{- |-Set the value of the “@lock@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #lock 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorLock :: MonadIO m => Iterator -> Ptr GLib.Mutex.Mutex -> m ()-setIteratorLock s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (val :: Ptr GLib.Mutex.Mutex)--{- |-Set the value of the “@lock@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #lock-@--}-clearIteratorLock :: MonadIO m => Iterator -> m ()-clearIteratorLock s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (FP.nullPtr :: Ptr GLib.Mutex.Mutex)--#if ENABLE_OVERLOADING-data IteratorLockFieldInfo-instance AttrInfo IteratorLockFieldInfo where-    type AttrAllowedOps IteratorLockFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IteratorLockFieldInfo = (~) (Ptr GLib.Mutex.Mutex)-    type AttrBaseTypeConstraint IteratorLockFieldInfo = (~) Iterator-    type AttrGetType IteratorLockFieldInfo = Maybe GLib.Mutex.Mutex-    type AttrLabel IteratorLockFieldInfo = "lock"-    type AttrOrigin IteratorLockFieldInfo = Iterator-    attrGet _ = getIteratorLock-    attrSet _ = setIteratorLock-    attrConstruct = undefined-    attrClear _ = clearIteratorLock--iterator_lock :: AttrLabelProxy "lock"-iterator_lock = AttrLabelProxy--#endif---{- |-Get the value of the “@cookie@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #cookie-@--}-getIteratorCookie :: MonadIO m => Iterator -> m Word32-getIteratorCookie s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO Word32-    return val--{- |-Set the value of the “@cookie@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #cookie 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorCookie :: MonadIO m => Iterator -> Word32 -> m ()-setIteratorCookie s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (val :: Word32)--#if ENABLE_OVERLOADING-data IteratorCookieFieldInfo-instance AttrInfo IteratorCookieFieldInfo where-    type AttrAllowedOps IteratorCookieFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint IteratorCookieFieldInfo = (~) Word32-    type AttrBaseTypeConstraint IteratorCookieFieldInfo = (~) Iterator-    type AttrGetType IteratorCookieFieldInfo = Word32-    type AttrLabel IteratorCookieFieldInfo = "cookie"-    type AttrOrigin IteratorCookieFieldInfo = Iterator-    attrGet _ = getIteratorCookie-    attrSet _ = setIteratorCookie-    attrConstruct = undefined-    attrClear _ = undefined--iterator_cookie :: AttrLabelProxy "cookie"-iterator_cookie = AttrLabelProxy--#endif---{- |-Get the value of the “@master_cookie@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #masterCookie-@--}-getIteratorMasterCookie :: MonadIO m => Iterator -> m Word32-getIteratorMasterCookie s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO Word32-    return val--{- |-Set the value of the “@master_cookie@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #masterCookie 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorMasterCookie :: MonadIO m => Iterator -> Word32 -> m ()-setIteratorMasterCookie s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: Word32)--#if ENABLE_OVERLOADING-data IteratorMasterCookieFieldInfo-instance AttrInfo IteratorMasterCookieFieldInfo where-    type AttrAllowedOps IteratorMasterCookieFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint IteratorMasterCookieFieldInfo = (~) Word32-    type AttrBaseTypeConstraint IteratorMasterCookieFieldInfo = (~) Iterator-    type AttrGetType IteratorMasterCookieFieldInfo = Word32-    type AttrLabel IteratorMasterCookieFieldInfo = "master_cookie"-    type AttrOrigin IteratorMasterCookieFieldInfo = Iterator-    attrGet _ = getIteratorMasterCookie-    attrSet _ = setIteratorMasterCookie-    attrConstruct = undefined-    attrClear _ = undefined--iterator_masterCookie :: AttrLabelProxy "masterCookie"-iterator_masterCookie = AttrLabelProxy--#endif---{- |-Get the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iterator #size-@--}-getIteratorSize :: MonadIO m => Iterator -> m Word32-getIteratorSize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 80) :: IO Word32-    return val--{- |-Set the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iterator [ #size 'Data.GI.Base.Attributes.:=' value ]-@--}-setIteratorSize :: MonadIO m => Iterator -> Word32 -> m ()-setIteratorSize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (val :: Word32)--#if ENABLE_OVERLOADING-data IteratorSizeFieldInfo-instance AttrInfo IteratorSizeFieldInfo where-    type AttrAllowedOps IteratorSizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint IteratorSizeFieldInfo = (~) Word32-    type AttrBaseTypeConstraint IteratorSizeFieldInfo = (~) Iterator-    type AttrGetType IteratorSizeFieldInfo = Word32-    type AttrLabel IteratorSizeFieldInfo = "size"-    type AttrOrigin IteratorSizeFieldInfo = Iterator-    attrGet _ = getIteratorSize-    attrSet _ = setIteratorSize-    attrConstruct = undefined-    attrClear _ = undefined--iterator_size :: AttrLabelProxy "size"-iterator_size = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Iterator-type instance O.AttributeList Iterator = IteratorAttributeList-type IteratorAttributeList = ('[ '("copy", IteratorCopyFieldInfo), '("next", IteratorNextFieldInfo), '("item", IteratorItemFieldInfo), '("resync", IteratorResyncFieldInfo), '("free", IteratorFreeFieldInfo), '("pushed", IteratorPushedFieldInfo), '("type", IteratorTypeFieldInfo), '("lock", IteratorLockFieldInfo), '("cookie", IteratorCookieFieldInfo), '("masterCookie", IteratorMasterCookieFieldInfo), '("size", IteratorSizeFieldInfo)] :: [(Symbol, *)])-#endif---- method Iterator::new_single--- method type : Constructor--- Args : [Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType of the passed object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "object that this iterator should return", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_new_single" gst_iterator_new_single :: -    CGType ->                               -- type : TBasicType TGType-    Ptr GValue ->                           -- object : TInterface (Name {namespace = "GObject", name = "Value"})-    IO (Ptr Iterator)--{- |-This 'GI.Gst.Structs.Iterator.Iterator' is a convenient iterator for the common-case where a 'GI.Gst.Structs.Iterator.Iterator' needs to be returned but only-a single object has to be considered. This happens often-for the 'GI.Gst.Callbacks.PadIterIntLinkFunction'.--}-iteratorNewSingle ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GType-    {- ^ /@type@/: 'GType' of the passed object -}-    -> GValue-    {- ^ /@object@/: object that this iterator should return -}-    -> m Iterator-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Iterator.Iterator' for /@object@/. -}-iteratorNewSingle type_ object = liftIO $ do-    let type_' = gtypeToCGType type_-    object' <- unsafeManagedPtrGetPtr object-    result <- gst_iterator_new_single type_' object'-    checkUnexpectedReturnNULL "iteratorNewSingle" result-    result' <- (wrapBoxed Iterator) result-    touchManagedPtr object-    return result'--#if ENABLE_OVERLOADING-#endif---- method Iterator::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstIterator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_copy" gst_iterator_copy :: -    Ptr Iterator ->                         -- it : TInterface (Name {namespace = "Gst", name = "Iterator"})-    IO (Ptr Iterator)--{- |-Copy the iterator and its state.--}-iteratorCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Iterator-    {- ^ /@it@/: a 'GI.Gst.Structs.Iterator.Iterator' -}-    -> m Iterator-    {- ^ __Returns:__ a new copy of /@it@/. -}-iteratorCopy it = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    result <- gst_iterator_copy it'-    checkUnexpectedReturnNULL "iteratorCopy" result-    result' <- (wrapBoxed Iterator) result-    touchManagedPtr it-    return result'--#if ENABLE_OVERLOADING-data IteratorCopyMethodInfo-instance (signature ~ (m Iterator), MonadIO m) => O.MethodInfo IteratorCopyMethodInfo Iterator signature where-    overloadedMethod _ = iteratorCopy--#endif---- method Iterator::filter--- method type : OrdinaryMethod--- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstIterator to filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GLib", name = "CompareFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the compare function to select elements", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "user data passed to the compare function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Iterator"}))--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_filter" gst_iterator_filter :: -    Ptr Iterator ->                         -- it : TInterface (Name {namespace = "Gst", name = "Iterator"})-    FunPtr GLib.Callbacks.C_CompareFunc ->  -- func : TInterface (Name {namespace = "GLib", name = "CompareFunc"})-    Ptr GValue ->                           -- user_data : TInterface (Name {namespace = "GObject", name = "Value"})-    IO (Ptr Iterator)--{- |-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 'GI.GObject.Structs.Value.Value' of the current-iterator element and the second parameter is /@userData@/. /@func@/ should-return 0 for elements that should be included in the filtered iterator.--When this iterator is freed, /@it@/ will also be freed.--}-iteratorFilter ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Iterator-    {- ^ /@it@/: The 'GI.Gst.Structs.Iterator.Iterator' to filter -}-    -> GLib.Callbacks.CompareFunc-    {- ^ /@func@/: the compare function to select elements -}-    -> GValue-    {- ^ /@userData@/: user data passed to the compare function -}-    -> m Iterator-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Iterator.Iterator'.--MT safe. -}-iteratorFilter it func userData = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    func' <- GLib.Callbacks.mk_CompareFunc (GLib.Callbacks.wrap_CompareFunc Nothing func)-    userData' <- unsafeManagedPtrGetPtr userData-    result <- gst_iterator_filter it' func' userData'-    checkUnexpectedReturnNULL "iteratorFilter" result-    result' <- (wrapBoxed Iterator) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr it-    touchManagedPtr userData-    return result'--#if ENABLE_OVERLOADING-data IteratorFilterMethodInfo-instance (signature ~ (GLib.Callbacks.CompareFunc -> GValue -> m Iterator), MonadIO m) => O.MethodInfo IteratorFilterMethodInfo Iterator signature where-    overloadedMethod _ = iteratorFilter--#endif---- method Iterator::find_custom--- method type : OrdinaryMethod--- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstIterator to iterate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GLib", name = "CompareFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the compare function to use", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "elem", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a #GValue where to store the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the compare function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_find_custom" gst_iterator_find_custom :: -    Ptr Iterator ->                         -- it : TInterface (Name {namespace = "Gst", name = "Iterator"})-    FunPtr GLib.Callbacks.C_CompareFunc ->  -- func : TInterface (Name {namespace = "GLib", name = "CompareFunc"})-    Ptr GValue ->                           -- elem : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-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 /@userData@/.-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.--}-iteratorFindCustom ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Iterator-    {- ^ /@it@/: The 'GI.Gst.Structs.Iterator.Iterator' to iterate -}-    -> GLib.Callbacks.CompareFunc-    {- ^ /@func@/: the compare function to use -}-    -> m ((Bool, GValue))-    {- ^ __Returns:__ Returns 'True' if the element was found, else 'False'.--MT safe. -}-iteratorFindCustom it func = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    func' <- GLib.Callbacks.mk_CompareFunc (GLib.Callbacks.wrap_CompareFunc Nothing func)-    elem <- callocBoxedBytes 24 :: IO (Ptr GValue)-    let userData = nullPtr-    result <- gst_iterator_find_custom it' func' elem userData-    let result' = (/= 0) result-    elem' <- (wrapBoxed GValue) elem-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr it-    return (result', elem')--#if ENABLE_OVERLOADING-data IteratorFindCustomMethodInfo-instance (signature ~ (GLib.Callbacks.CompareFunc -> m ((Bool, GValue))), MonadIO m) => O.MethodInfo IteratorFindCustomMethodInfo Iterator signature where-    overloadedMethod _ = iteratorFindCustom--#endif---- method Iterator::fold--- method type : OrdinaryMethod--- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstIterator to fold over", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "IteratorFoldFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the fold function", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ret", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the seed value passed to the fold function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the fold function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "IteratorResult"}))--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_fold" gst_iterator_fold :: -    Ptr Iterator ->                         -- it : TInterface (Name {namespace = "Gst", name = "Iterator"})-    FunPtr Gst.Callbacks.C_IteratorFoldFunction -> -- func : TInterface (Name {namespace = "Gst", name = "IteratorFoldFunction"})-    Ptr GValue ->                           -- ret : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CUInt--{- |-Folds /@func@/ over the elements of /@iter@/. That is to say, /@func@/ will be called-as /@func@/ (object, /@ret@/, /@userData@/) 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-'GI.Gst.Structs.Iterator.iteratorForeach' and 'GI.Gst.Structs.Iterator.iteratorFindCustom' operations.--The fold will proceed as long as /@func@/ returns 'True'. When the iterator has no-more arguments, 'GI.Gst.Enums.IteratorResultDone' will be returned. If /@func@/ returns 'False',-the fold will stop, and 'GI.Gst.Enums.IteratorResultOk' will be returned. Errors or resyncs-will cause fold to return 'GI.Gst.Enums.IteratorResultError' or 'GI.Gst.Enums.IteratorResultResync' as-appropriate.--The iterator will not be freed.--}-iteratorFold ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Iterator-    {- ^ /@it@/: The 'GI.Gst.Structs.Iterator.Iterator' to fold over -}-    -> Gst.Callbacks.IteratorFoldFunction-    {- ^ /@func@/: the fold function -}-    -> GValue-    {- ^ /@ret@/: the seed value passed to the fold function -}-    -> m Gst.Enums.IteratorResult-    {- ^ __Returns:__ A 'GI.Gst.Enums.IteratorResult', as described above.--MT safe. -}-iteratorFold it func ret = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    func' <- Gst.Callbacks.mk_IteratorFoldFunction (Gst.Callbacks.wrap_IteratorFoldFunction Nothing (Gst.Callbacks.drop_closures_IteratorFoldFunction func))-    ret' <- unsafeManagedPtrGetPtr ret-    let userData = nullPtr-    result <- gst_iterator_fold it' func' ret' userData-    let result' = (toEnum . fromIntegral) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr it-    touchManagedPtr ret-    return result'--#if ENABLE_OVERLOADING-data IteratorFoldMethodInfo-instance (signature ~ (Gst.Callbacks.IteratorFoldFunction -> GValue -> m Gst.Enums.IteratorResult), MonadIO m) => O.MethodInfo IteratorFoldMethodInfo Iterator signature where-    overloadedMethod _ = iteratorFold--#endif---- method Iterator::foreach--- method type : OrdinaryMethod--- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstIterator to iterate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "IteratorForeachFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call for each element.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to the function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "IteratorResult"}))--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_foreach" gst_iterator_foreach :: -    Ptr Iterator ->                         -- it : TInterface (Name {namespace = "Gst", name = "Iterator"})-    FunPtr Gst.Callbacks.C_IteratorForeachFunction -> -- func : TInterface (Name {namespace = "Gst", name = "IteratorForeachFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CUInt--{- |-Iterate over all element of /@it@/ and call the given function /@func@/ for-each element.--}-iteratorForeach ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Iterator-    {- ^ /@it@/: The 'GI.Gst.Structs.Iterator.Iterator' to iterate -}-    -> Gst.Callbacks.IteratorForeachFunction-    {- ^ /@func@/: the function to call for each element. -}-    -> m Gst.Enums.IteratorResult-    {- ^ __Returns:__ the result call to 'GI.Gst.Structs.Iterator.iteratorFold'. The iterator will not be-freed.--MT safe. -}-iteratorForeach it func = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    func' <- Gst.Callbacks.mk_IteratorForeachFunction (Gst.Callbacks.wrap_IteratorForeachFunction Nothing (Gst.Callbacks.drop_closures_IteratorForeachFunction func))-    let userData = nullPtr-    result <- gst_iterator_foreach it' func' userData-    let result' = (toEnum . fromIntegral) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr it-    return result'--#if ENABLE_OVERLOADING-data IteratorForeachMethodInfo-instance (signature ~ (Gst.Callbacks.IteratorForeachFunction -> m Gst.Enums.IteratorResult), MonadIO m) => O.MethodInfo IteratorForeachMethodInfo Iterator signature where-    overloadedMethod _ = iteratorForeach--#endif---- method Iterator::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstIterator to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_free" gst_iterator_free :: -    Ptr Iterator ->                         -- it : TInterface (Name {namespace = "Gst", name = "Iterator"})-    IO ()--{- |-Free the iterator.--MT safe.--}-iteratorFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Iterator-    {- ^ /@it@/: The 'GI.Gst.Structs.Iterator.Iterator' to free -}-    -> m ()-iteratorFree it = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    gst_iterator_free it'-    touchManagedPtr it-    return ()--#if ENABLE_OVERLOADING-data IteratorFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IteratorFreeMethodInfo Iterator signature where-    overloadedMethod _ = iteratorFree--#endif---- method Iterator::next--- method type : OrdinaryMethod--- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstIterator to iterate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "elem", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to hold next element", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "IteratorResult"}))--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_next" gst_iterator_next :: -    Ptr Iterator ->                         -- it : TInterface (Name {namespace = "Gst", name = "Iterator"})-    Ptr GValue ->                           -- elem : TInterface (Name {namespace = "GObject", name = "Value"})-    IO CUInt--{- |-Get the next item from the iterator in /@elem@/.--Only when this function returns 'GI.Gst.Enums.IteratorResultOk', /@elem@/ will contain a valid-value. /@elem@/ must have been initialized to the type of the iterator or-initialized to zeroes with 'GI.GObject.Structs.Value.valueUnset'. The caller is responsible for-unsetting or resetting /@elem@/ with 'GI.GObject.Structs.Value.valueUnset' or 'GI.GObject.Structs.Value.valueReset'-after usage.--When this function returns 'GI.Gst.Enums.IteratorResultDone', no more elements can be-retrieved from /@it@/.--A return value of 'GI.Gst.Enums.IteratorResultResync' indicates that the element list was-concurrently updated. The user of /@it@/ should call 'GI.Gst.Structs.Iterator.iteratorResync' to-get the newly updated list.--A return value of 'GI.Gst.Enums.IteratorResultError' indicates an unrecoverable fatal error.--}-iteratorNext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Iterator-    {- ^ /@it@/: The 'GI.Gst.Structs.Iterator.Iterator' to iterate -}-    -> m ((Gst.Enums.IteratorResult, GValue))-    {- ^ __Returns:__ The result of the iteration. Unset /@elem@/ after usage.--MT safe. -}-iteratorNext it = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    elem <- callocBoxedBytes 24 :: IO (Ptr GValue)-    result <- gst_iterator_next it' elem-    let result' = (toEnum . fromIntegral) result-    elem' <- (wrapBoxed GValue) elem-    touchManagedPtr it-    return (result', elem')--#if ENABLE_OVERLOADING-data IteratorNextMethodInfo-instance (signature ~ (m ((Gst.Enums.IteratorResult, GValue))), MonadIO m) => O.MethodInfo IteratorNextMethodInfo Iterator signature where-    overloadedMethod _ = iteratorNext--#endif---- method Iterator::push--- method type : OrdinaryMethod--- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstIterator to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "other", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstIterator to push", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_push" gst_iterator_push :: -    Ptr Iterator ->                         -- it : TInterface (Name {namespace = "Gst", name = "Iterator"})-    Ptr Iterator ->                         -- other : TInterface (Name {namespace = "Gst", name = "Iterator"})-    IO ()--{- |-Pushes /@other@/ iterator onto /@it@/. All calls performed on /@it@/ are-forwarded to /@other@/. If /@other@/ returns 'GI.Gst.Enums.IteratorResultDone', 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 'GI.Gst.Structs.Iterator.iteratorResync' is called on /@it@/, /@other@/ will automatically be-popped.--MT safe.--}-iteratorPush ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Iterator-    {- ^ /@it@/: The 'GI.Gst.Structs.Iterator.Iterator' to use -}-    -> Iterator-    {- ^ /@other@/: The 'GI.Gst.Structs.Iterator.Iterator' to push -}-    -> m ()-iteratorPush it other = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    other' <- unsafeManagedPtrGetPtr other-    gst_iterator_push it' other'-    touchManagedPtr it-    touchManagedPtr other-    return ()--#if ENABLE_OVERLOADING-data IteratorPushMethodInfo-instance (signature ~ (Iterator -> m ()), MonadIO m) => O.MethodInfo IteratorPushMethodInfo Iterator signature where-    overloadedMethod _ = iteratorPush--#endif---- method Iterator::resync--- method type : OrdinaryMethod--- Args : [Arg {argCName = "it", argType = TInterface (Name {namespace = "Gst", name = "Iterator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstIterator to resync", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_iterator_resync" gst_iterator_resync :: -    Ptr Iterator ->                         -- it : TInterface (Name {namespace = "Gst", name = "Iterator"})-    IO ()--{- |-Resync the iterator. this function is mostly called-after 'GI.Gst.Structs.Iterator.iteratorNext' returned 'GI.Gst.Enums.IteratorResultResync'.--When an iterator was pushed on /@it@/, it will automatically be popped again-with this function.--MT safe.--}-iteratorResync ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Iterator-    {- ^ /@it@/: The 'GI.Gst.Structs.Iterator.Iterator' to resync -}-    -> m ()-iteratorResync it = liftIO $ do-    it' <- unsafeManagedPtrGetPtr it-    gst_iterator_resync it'-    touchManagedPtr it-    return ()--#if ENABLE_OVERLOADING-data IteratorResyncMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IteratorResyncMethodInfo Iterator signature where-    overloadedMethod _ = iteratorResync--#endif--#if ENABLE_OVERLOADING-type family ResolveIteratorMethod (t :: Symbol) (o :: *) :: * where-    ResolveIteratorMethod "copy" o = IteratorCopyMethodInfo-    ResolveIteratorMethod "filter" o = IteratorFilterMethodInfo-    ResolveIteratorMethod "findCustom" o = IteratorFindCustomMethodInfo-    ResolveIteratorMethod "fold" o = IteratorFoldMethodInfo-    ResolveIteratorMethod "foreach" o = IteratorForeachMethodInfo-    ResolveIteratorMethod "free" o = IteratorFreeMethodInfo-    ResolveIteratorMethod "next" o = IteratorNextMethodInfo-    ResolveIteratorMethod "push" o = IteratorPushMethodInfo-    ResolveIteratorMethod "resync" o = IteratorResyncMethodInfo-    ResolveIteratorMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveIteratorMethod t Iterator, O.MethodInfo info Iterator p) => OL.IsLabel t (Iterator -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Iterator.hs-boot
@@ -1,53 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Iterator where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Iterator = Iterator (ManagedPtr Iterator)-instance BoxedObject Iterator where-#if ENABLE_OVERLOADING-data IteratorCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data IteratorFilterMethodInfo-#endif-#if ENABLE_OVERLOADING-data IteratorFindCustomMethodInfo-#endif-#if ENABLE_OVERLOADING-data IteratorFoldMethodInfo-#endif-#if ENABLE_OVERLOADING-data IteratorForeachMethodInfo-#endif-#if ENABLE_OVERLOADING-data IteratorFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data IteratorNextMethodInfo-#endif-#if ENABLE_OVERLOADING-data IteratorPushMethodInfo-#endif-#if ENABLE_OVERLOADING-data IteratorResyncMethodInfo-#endif
− GI/Gst/Structs/MapInfo.hs
@@ -1,334 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A structure containing the result of a map operation such as-'GI.Gst.Structs.Memory.memoryMap'. It contains the data and size.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.MapInfo-    ( ---- * Exported types-    MapInfo(..)                             ,-    newZeroMapInfo                          ,-    noMapInfo                               ,--- -- * Properties--- ** flags #attr:flags#-{- | flags used when mapping the memory--}-    getMapInfoFlags                         ,-#if ENABLE_OVERLOADING-    mapInfo_flags                           ,-#endif-    setMapInfoFlags                         ,----- ** maxsize #attr:maxsize#-{- | the maximum bytes in /@data@/--}-    getMapInfoMaxsize                       ,-#if ENABLE_OVERLOADING-    mapInfo_maxsize                         ,-#endif-    setMapInfoMaxsize                       ,----- ** memory #attr:memory#-{- | a pointer to the mapped memory--}-    clearMapInfoMemory                      ,-    getMapInfoMemory                        ,-#if ENABLE_OVERLOADING-    mapInfo_memory                          ,-#endif-    setMapInfoMemory                        ,----- ** size #attr:size#-{- | the valid size in /@data@/--}-    getMapInfoSize                          ,-#if ENABLE_OVERLOADING-    mapInfo_size                            ,-#endif-    setMapInfoSize                          ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Structs.Memory as Gst.Memory---- | Memory-managed wrapper type.-newtype MapInfo = MapInfo (ManagedPtr MapInfo)-instance WrappedPtr MapInfo where-    wrappedPtrCalloc = callocBytes 104-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 104 >=> wrapPtr MapInfo)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `MapInfo` struct initialized to zero.-newZeroMapInfo :: MonadIO m => m MapInfo-newZeroMapInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr MapInfo--instance tag ~ 'AttrSet => Constructible MapInfo tag where-    new _ attrs = do-        o <- newZeroMapInfo-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `MapInfo`.-noMapInfo :: Maybe MapInfo-noMapInfo = Nothing--{- |-Get the value of the “@memory@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' mapInfo #memory-@--}-getMapInfoMemory :: MonadIO m => MapInfo -> m (Maybe Gst.Memory.Memory)-getMapInfoMemory s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gst.Memory.Memory)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newBoxed Gst.Memory.Memory) val'-        return val''-    return result--{- |-Set the value of the “@memory@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' mapInfo [ #memory 'Data.GI.Base.Attributes.:=' value ]-@--}-setMapInfoMemory :: MonadIO m => MapInfo -> Ptr Gst.Memory.Memory -> m ()-setMapInfoMemory s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr Gst.Memory.Memory)--{- |-Set the value of the “@memory@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #memory-@--}-clearMapInfoMemory :: MonadIO m => MapInfo -> m ()-clearMapInfoMemory s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr Gst.Memory.Memory)--#if ENABLE_OVERLOADING-data MapInfoMemoryFieldInfo-instance AttrInfo MapInfoMemoryFieldInfo where-    type AttrAllowedOps MapInfoMemoryFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MapInfoMemoryFieldInfo = (~) (Ptr Gst.Memory.Memory)-    type AttrBaseTypeConstraint MapInfoMemoryFieldInfo = (~) MapInfo-    type AttrGetType MapInfoMemoryFieldInfo = Maybe Gst.Memory.Memory-    type AttrLabel MapInfoMemoryFieldInfo = "memory"-    type AttrOrigin MapInfoMemoryFieldInfo = MapInfo-    attrGet _ = getMapInfoMemory-    attrSet _ = setMapInfoMemory-    attrConstruct = undefined-    attrClear _ = clearMapInfoMemory--mapInfo_memory :: AttrLabelProxy "memory"-mapInfo_memory = AttrLabelProxy--#endif---{- |-Get the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' mapInfo #flags-@--}-getMapInfoFlags :: MonadIO m => MapInfo -> m [Gst.Flags.MapFlags]-getMapInfoFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CUInt-    let val' = wordToGFlags val-    return val'--{- |-Set the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' mapInfo [ #flags 'Data.GI.Base.Attributes.:=' value ]-@--}-setMapInfoFlags :: MonadIO m => MapInfo -> [Gst.Flags.MapFlags] -> m ()-setMapInfoFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gflagsToWord val-    poke (ptr `plusPtr` 8) (val' :: CUInt)--#if ENABLE_OVERLOADING-data MapInfoFlagsFieldInfo-instance AttrInfo MapInfoFlagsFieldInfo where-    type AttrAllowedOps MapInfoFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MapInfoFlagsFieldInfo = (~) [Gst.Flags.MapFlags]-    type AttrBaseTypeConstraint MapInfoFlagsFieldInfo = (~) MapInfo-    type AttrGetType MapInfoFlagsFieldInfo = [Gst.Flags.MapFlags]-    type AttrLabel MapInfoFlagsFieldInfo = "flags"-    type AttrOrigin MapInfoFlagsFieldInfo = MapInfo-    attrGet _ = getMapInfoFlags-    attrSet _ = setMapInfoFlags-    attrConstruct = undefined-    attrClear _ = undefined--mapInfo_flags :: AttrLabelProxy "flags"-mapInfo_flags = AttrLabelProxy--#endif----- XXX Skipped attribute for "MapInfo:data" :: Not implemented: "Don't know how to unpack C array of type TCArray False (-1) 3 (TBasicType TUInt8)"-{- |-Get the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' mapInfo #size-@--}-getMapInfoSize :: MonadIO m => MapInfo -> m Word64-getMapInfoSize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word64-    return val--{- |-Set the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' mapInfo [ #size 'Data.GI.Base.Attributes.:=' value ]-@--}-setMapInfoSize :: MonadIO m => MapInfo -> Word64 -> m ()-setMapInfoSize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Word64)--#if ENABLE_OVERLOADING-data MapInfoSizeFieldInfo-instance AttrInfo MapInfoSizeFieldInfo where-    type AttrAllowedOps MapInfoSizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MapInfoSizeFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MapInfoSizeFieldInfo = (~) MapInfo-    type AttrGetType MapInfoSizeFieldInfo = Word64-    type AttrLabel MapInfoSizeFieldInfo = "size"-    type AttrOrigin MapInfoSizeFieldInfo = MapInfo-    attrGet _ = getMapInfoSize-    attrSet _ = setMapInfoSize-    attrConstruct = undefined-    attrClear _ = undefined--mapInfo_size :: AttrLabelProxy "size"-mapInfo_size = AttrLabelProxy--#endif---{- |-Get the value of the “@maxsize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' mapInfo #maxsize-@--}-getMapInfoMaxsize :: MonadIO m => MapInfo -> m Word64-getMapInfoMaxsize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Word64-    return val--{- |-Set the value of the “@maxsize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' mapInfo [ #maxsize 'Data.GI.Base.Attributes.:=' value ]-@--}-setMapInfoMaxsize :: MonadIO m => MapInfo -> Word64 -> m ()-setMapInfoMaxsize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: Word64)--#if ENABLE_OVERLOADING-data MapInfoMaxsizeFieldInfo-instance AttrInfo MapInfoMaxsizeFieldInfo where-    type AttrAllowedOps MapInfoMaxsizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MapInfoMaxsizeFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MapInfoMaxsizeFieldInfo = (~) MapInfo-    type AttrGetType MapInfoMaxsizeFieldInfo = Word64-    type AttrLabel MapInfoMaxsizeFieldInfo = "maxsize"-    type AttrOrigin MapInfoMaxsizeFieldInfo = MapInfo-    attrGet _ = getMapInfoMaxsize-    attrSet _ = setMapInfoMaxsize-    attrConstruct = undefined-    attrClear _ = undefined--mapInfo_maxsize :: AttrLabelProxy "maxsize"-mapInfo_maxsize = AttrLabelProxy--#endif----- XXX Skipped attribute for "MapInfo:user_data" :: Not implemented: "Don't know how to unpack C array of type TCArray False 4 (-1) (TBasicType TPtr)"--#if ENABLE_OVERLOADING-instance O.HasAttributeList MapInfo-type instance O.AttributeList MapInfo = MapInfoAttributeList-type MapInfoAttributeList = ('[ '("memory", MapInfoMemoryFieldInfo), '("flags", MapInfoFlagsFieldInfo), '("size", MapInfoSizeFieldInfo), '("maxsize", MapInfoMaxsizeFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveMapInfoMethod (t :: Symbol) (o :: *) :: * where-    ResolveMapInfoMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMapInfoMethod t MapInfo, O.MethodInfo info MapInfo p) => OL.IsLabel t (MapInfo -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/MapInfo.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.MapInfo where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype MapInfo = MapInfo (ManagedPtr MapInfo)-instance WrappedPtr MapInfo where
− GI/Gst/Structs/Memory.hs
@@ -1,1095 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--GstMemory is a lightweight refcounted object that wraps a region of memory.-They are typically used to manage the data of a 'GI.Gst.Structs.Buffer.Buffer'.--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 'GI.Gst.Objects.Allocator.allocatorAlloc'-method call. When 'Nothing' is used as the allocator, the default allocator will-be used.--New allocators can be registered with 'GI.Gst.Objects.Allocator.allocatorRegister'.-Allocators are identified by name and can be retrieved with-'GI.Gst.Objects.Allocator.allocatorFind'. 'GI.Gst.Objects.Allocator.allocatorSetDefault' can be used to change the-default allocator.--New memory can be created with 'GI.Gst.Structs.Memory.memoryNewWrapped' 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-'GI.Gst.Structs.Memory.memoryGetSizes' and 'GI.Gst.Structs.Memory.memoryResize' respectively.--Getting access to the data of the memory is performed with 'GI.Gst.Structs.Memory.memoryMap'.-The call will return a pointer to offset bytes into the region of memory.-After the memory access is completed, 'GI.Gst.Structs.Memory.memoryUnmap' should be called.--Memory can be copied with 'GI.Gst.Structs.Memory.memoryCopy', which will return a writable-copy. 'GI.Gst.Structs.Memory.memoryShare' 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 'GI.Gst.Structs.Memory.memoryIsSpan' returns 'True'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Memory-    ( ---- * Exported types-    Memory(..)                              ,-    newZeroMemory                           ,-    noMemory                                ,--- -- * Methods--- ** copy #method:copy#--#if ENABLE_OVERLOADING-    MemoryCopyMethodInfo                    ,-#endif-    memoryCopy                              ,----- ** getSizes #method:getSizes#--#if ENABLE_OVERLOADING-    MemoryGetSizesMethodInfo                ,-#endif-    memoryGetSizes                          ,----- ** isSpan #method:isSpan#--#if ENABLE_OVERLOADING-    MemoryIsSpanMethodInfo                  ,-#endif-    memoryIsSpan                            ,----- ** isType #method:isType#--#if ENABLE_OVERLOADING-    MemoryIsTypeMethodInfo                  ,-#endif-    memoryIsType                            ,----- ** makeMapped #method:makeMapped#--#if ENABLE_OVERLOADING-    MemoryMakeMappedMethodInfo              ,-#endif-    memoryMakeMapped                        ,----- ** map #method:map#--#if ENABLE_OVERLOADING-    MemoryMapMethodInfo                     ,-#endif-    memoryMap                               ,----- ** newWrapped #method:newWrapped#--    memoryNewWrapped                        ,----- ** resize #method:resize#--#if ENABLE_OVERLOADING-    MemoryResizeMethodInfo                  ,-#endif-    memoryResize                            ,----- ** share #method:share#--#if ENABLE_OVERLOADING-    MemoryShareMethodInfo                   ,-#endif-    memoryShare                             ,----- ** unmap #method:unmap#--#if ENABLE_OVERLOADING-    MemoryUnmapMethodInfo                   ,-#endif-    memoryUnmap                             ,----- -- * Properties--- ** align #attr:align#-{- | the alignment of the memory--}-    getMemoryAlign                          ,-#if ENABLE_OVERLOADING-    memory_align                            ,-#endif-    setMemoryAlign                          ,----- ** allocator #attr:allocator#-{- | pointer to the 'GI.Gst.Objects.Allocator.Allocator'--}-    clearMemoryAllocator                    ,-    getMemoryAllocator                      ,-#if ENABLE_OVERLOADING-    memory_allocator                        ,-#endif-    setMemoryAllocator                      ,----- ** maxsize #attr:maxsize#-{- | the maximum size allocated--}-    getMemoryMaxsize                        ,-#if ENABLE_OVERLOADING-    memory_maxsize                          ,-#endif-    setMemoryMaxsize                        ,----- ** miniObject #attr:miniObject#-{- | parent structure--}-    getMemoryMiniObject                     ,-#if ENABLE_OVERLOADING-    memory_miniObject                       ,-#endif----- ** offset #attr:offset#-{- | the offset where valid data starts--}-    getMemoryOffset                         ,-#if ENABLE_OVERLOADING-    memory_offset                           ,-#endif-    setMemoryOffset                         ,----- ** parent #attr:parent#-{- | parent memory block--}-    clearMemoryParent                       ,-    getMemoryParent                         ,-#if ENABLE_OVERLOADING-    memory_parent                           ,-#endif-    setMemoryParent                         ,----- ** size #attr:size#-{- | the size of valid data--}-    getMemorySize                           ,-#if ENABLE_OVERLOADING-    memory_size                             ,-#endif-    setMemorySize                           ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Allocator as Gst.Allocator-import {-# SOURCE #-} qualified GI.Gst.Structs.MapInfo as Gst.MapInfo-import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject---- | Memory-managed wrapper type.-newtype Memory = Memory (ManagedPtr Memory)-foreign import ccall "gst_memory_get_type" c_gst_memory_get_type :: -    IO GType--instance BoxedObject Memory where-    boxedType _ = c_gst_memory_get_type---- | Construct a `Memory` struct initialized to zero.-newZeroMemory :: MonadIO m => m Memory-newZeroMemory = liftIO $ callocBoxedBytes 112 >>= wrapBoxed Memory--instance tag ~ 'AttrSet => Constructible Memory tag where-    new _ attrs = do-        o <- newZeroMemory-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Memory`.-noMemory :: Maybe Memory-noMemory = Nothing--{- |-Get the value of the “@mini_object@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memory #miniObject-@--}-getMemoryMiniObject :: MonadIO m => Memory -> m Gst.MiniObject.MiniObject-getMemoryMiniObject s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.MiniObject.MiniObject)-    val' <- (newPtr Gst.MiniObject.MiniObject) val-    return val'--#if ENABLE_OVERLOADING-data MemoryMiniObjectFieldInfo-instance AttrInfo MemoryMiniObjectFieldInfo where-    type AttrAllowedOps MemoryMiniObjectFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint MemoryMiniObjectFieldInfo = (~) (Ptr Gst.MiniObject.MiniObject)-    type AttrBaseTypeConstraint MemoryMiniObjectFieldInfo = (~) Memory-    type AttrGetType MemoryMiniObjectFieldInfo = Gst.MiniObject.MiniObject-    type AttrLabel MemoryMiniObjectFieldInfo = "mini_object"-    type AttrOrigin MemoryMiniObjectFieldInfo = Memory-    attrGet _ = getMemoryMiniObject-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--memory_miniObject :: AttrLabelProxy "miniObject"-memory_miniObject = AttrLabelProxy--#endif---{- |-Get the value of the “@allocator@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memory #allocator-@--}-getMemoryAllocator :: MonadIO m => Memory -> m (Maybe Gst.Allocator.Allocator)-getMemoryAllocator s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO (Ptr Gst.Allocator.Allocator)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newObject Gst.Allocator.Allocator) val'-        return val''-    return result--{- |-Set the value of the “@allocator@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memory [ #allocator 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemoryAllocator :: MonadIO m => Memory -> Ptr Gst.Allocator.Allocator -> m ()-setMemoryAllocator s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (val :: Ptr Gst.Allocator.Allocator)--{- |-Set the value of the “@allocator@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #allocator-@--}-clearMemoryAllocator :: MonadIO m => Memory -> m ()-clearMemoryAllocator s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (FP.nullPtr :: Ptr Gst.Allocator.Allocator)--#if ENABLE_OVERLOADING-data MemoryAllocatorFieldInfo-instance AttrInfo MemoryAllocatorFieldInfo where-    type AttrAllowedOps MemoryAllocatorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MemoryAllocatorFieldInfo = (~) (Ptr Gst.Allocator.Allocator)-    type AttrBaseTypeConstraint MemoryAllocatorFieldInfo = (~) Memory-    type AttrGetType MemoryAllocatorFieldInfo = Maybe Gst.Allocator.Allocator-    type AttrLabel MemoryAllocatorFieldInfo = "allocator"-    type AttrOrigin MemoryAllocatorFieldInfo = Memory-    attrGet _ = getMemoryAllocator-    attrSet _ = setMemoryAllocator-    attrConstruct = undefined-    attrClear _ = clearMemoryAllocator--memory_allocator :: AttrLabelProxy "allocator"-memory_allocator = AttrLabelProxy--#endif---{- |-Get the value of the “@parent@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memory #parent-@--}-getMemoryParent :: MonadIO m => Memory -> m (Maybe Memory)-getMemoryParent s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO (Ptr Memory)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newBoxed Memory) val'-        return val''-    return result--{- |-Set the value of the “@parent@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memory [ #parent 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemoryParent :: MonadIO m => Memory -> Ptr Memory -> m ()-setMemoryParent s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: Ptr Memory)--{- |-Set the value of the “@parent@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #parent-@--}-clearMemoryParent :: MonadIO m => Memory -> m ()-clearMemoryParent s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (FP.nullPtr :: Ptr Memory)--#if ENABLE_OVERLOADING-data MemoryParentFieldInfo-instance AttrInfo MemoryParentFieldInfo where-    type AttrAllowedOps MemoryParentFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MemoryParentFieldInfo = (~) (Ptr Memory)-    type AttrBaseTypeConstraint MemoryParentFieldInfo = (~) Memory-    type AttrGetType MemoryParentFieldInfo = Maybe Memory-    type AttrLabel MemoryParentFieldInfo = "parent"-    type AttrOrigin MemoryParentFieldInfo = Memory-    attrGet _ = getMemoryParent-    attrSet _ = setMemoryParent-    attrConstruct = undefined-    attrClear _ = clearMemoryParent--memory_parent :: AttrLabelProxy "parent"-memory_parent = AttrLabelProxy--#endif---{- |-Get the value of the “@maxsize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memory #maxsize-@--}-getMemoryMaxsize :: MonadIO m => Memory -> m Word64-getMemoryMaxsize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 80) :: IO Word64-    return val--{- |-Set the value of the “@maxsize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memory [ #maxsize 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemoryMaxsize :: MonadIO m => Memory -> Word64 -> m ()-setMemoryMaxsize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (val :: Word64)--#if ENABLE_OVERLOADING-data MemoryMaxsizeFieldInfo-instance AttrInfo MemoryMaxsizeFieldInfo where-    type AttrAllowedOps MemoryMaxsizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MemoryMaxsizeFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MemoryMaxsizeFieldInfo = (~) Memory-    type AttrGetType MemoryMaxsizeFieldInfo = Word64-    type AttrLabel MemoryMaxsizeFieldInfo = "maxsize"-    type AttrOrigin MemoryMaxsizeFieldInfo = Memory-    attrGet _ = getMemoryMaxsize-    attrSet _ = setMemoryMaxsize-    attrConstruct = undefined-    attrClear _ = undefined--memory_maxsize :: AttrLabelProxy "maxsize"-memory_maxsize = AttrLabelProxy--#endif---{- |-Get the value of the “@align@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memory #align-@--}-getMemoryAlign :: MonadIO m => Memory -> m Word64-getMemoryAlign s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 88) :: IO Word64-    return val--{- |-Set the value of the “@align@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memory [ #align 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemoryAlign :: MonadIO m => Memory -> Word64 -> m ()-setMemoryAlign s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 88) (val :: Word64)--#if ENABLE_OVERLOADING-data MemoryAlignFieldInfo-instance AttrInfo MemoryAlignFieldInfo where-    type AttrAllowedOps MemoryAlignFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MemoryAlignFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MemoryAlignFieldInfo = (~) Memory-    type AttrGetType MemoryAlignFieldInfo = Word64-    type AttrLabel MemoryAlignFieldInfo = "align"-    type AttrOrigin MemoryAlignFieldInfo = Memory-    attrGet _ = getMemoryAlign-    attrSet _ = setMemoryAlign-    attrConstruct = undefined-    attrClear _ = undefined--memory_align :: AttrLabelProxy "align"-memory_align = AttrLabelProxy--#endif---{- |-Get the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memory #offset-@--}-getMemoryOffset :: MonadIO m => Memory -> m Word64-getMemoryOffset s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 96) :: IO Word64-    return val--{- |-Set the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memory [ #offset 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemoryOffset :: MonadIO m => Memory -> Word64 -> m ()-setMemoryOffset s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 96) (val :: Word64)--#if ENABLE_OVERLOADING-data MemoryOffsetFieldInfo-instance AttrInfo MemoryOffsetFieldInfo where-    type AttrAllowedOps MemoryOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MemoryOffsetFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MemoryOffsetFieldInfo = (~) Memory-    type AttrGetType MemoryOffsetFieldInfo = Word64-    type AttrLabel MemoryOffsetFieldInfo = "offset"-    type AttrOrigin MemoryOffsetFieldInfo = Memory-    attrGet _ = getMemoryOffset-    attrSet _ = setMemoryOffset-    attrConstruct = undefined-    attrClear _ = undefined--memory_offset :: AttrLabelProxy "offset"-memory_offset = AttrLabelProxy--#endif---{- |-Get the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memory #size-@--}-getMemorySize :: MonadIO m => Memory -> m Word64-getMemorySize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 104) :: IO Word64-    return val--{- |-Set the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memory [ #size 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemorySize :: MonadIO m => Memory -> Word64 -> m ()-setMemorySize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 104) (val :: Word64)--#if ENABLE_OVERLOADING-data MemorySizeFieldInfo-instance AttrInfo MemorySizeFieldInfo where-    type AttrAllowedOps MemorySizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MemorySizeFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MemorySizeFieldInfo = (~) Memory-    type AttrGetType MemorySizeFieldInfo = Word64-    type AttrLabel MemorySizeFieldInfo = "size"-    type AttrOrigin MemorySizeFieldInfo = Memory-    attrGet _ = getMemorySize-    attrSet _ = setMemorySize-    attrConstruct = undefined-    attrClear _ = undefined--memory_size :: AttrLabelProxy "size"-memory_size = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Memory-type instance O.AttributeList Memory = MemoryAttributeList-type MemoryAttributeList = ('[ '("miniObject", MemoryMiniObjectFieldInfo), '("allocator", MemoryAllocatorFieldInfo), '("parent", MemoryParentFieldInfo), '("maxsize", MemoryMaxsizeFieldInfo), '("align", MemoryAlignFieldInfo), '("offset", MemoryOffsetFieldInfo), '("size", MemorySizeFieldInfo)] :: [(Symbol, *)])-#endif---- method Memory::new_wrapped--- method type : Constructor--- Args : [Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "MemoryFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstMemoryFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "data to\n  wrap", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maxsize", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "allocated size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "offset in @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of valid data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user_data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "called with @user_data when the memory is freed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of valid data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_memory_new_wrapped" gst_memory_new_wrapped :: -    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "MemoryFlags"})-    Ptr Word8 ->                            -- data : TCArray False (-1) 4 (TBasicType TUInt8)-    Word64 ->                               -- maxsize : TBasicType TUInt64-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- size : TBasicType TUInt64-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO (Ptr Memory)--{- |-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.--}-memoryNewWrapped ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Gst.Flags.MemoryFlags]-    {- ^ /@flags@/: 'GI.Gst.Flags.MemoryFlags' -}-    -> ByteString-    {- ^ /@data@/: data to-  wrap -}-    -> Word64-    {- ^ /@maxsize@/: allocated size of /@data@/ -}-    -> Word64-    {- ^ /@offset@/: offset in /@data@/ -}-    -> Maybe (GLib.Callbacks.DestroyNotify)-    {- ^ /@notify@/: called with /@userData@/ when the memory is freed -}-    -> m (Maybe Memory)-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Memory.Memory'. -}-memoryNewWrapped flags data_ maxsize offset notify = liftIO $ do-    let size = fromIntegral $ B.length data_-    let flags' = gflagsToWord flags-    data_' <- packByteString data_-    maybeNotify <- case notify of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jNotify -> do-            ptrnotify <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-            jNotify' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrnotify) jNotify)-            poke ptrnotify jNotify'-            return jNotify'-    let userData = nullPtr-    result <- gst_memory_new_wrapped flags' data_' maxsize offset size userData maybeNotify-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Memory) result'-        return result''-    freeMem data_'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Memory::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "offset to copy from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size to copy, or -1 to copy to the end of the memory region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_memory_copy" gst_memory_copy :: -    Ptr Memory ->                           -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    Int64 ->                                -- offset : TBasicType TInt64-    Int64 ->                                -- size : TBasicType TInt64-    IO (Ptr Memory)--{- |-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.--}-memoryCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Int64-    {- ^ /@offset@/: offset to copy from -}-    -> Int64-    {- ^ /@size@/: size to copy, or -1 to copy to the end of the memory region -}-    -> m Memory-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Memory.Memory'. -}-memoryCopy mem offset size = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    result <- gst_memory_copy mem' offset size-    checkUnexpectedReturnNULL "memoryCopy" result-    result' <- (wrapBoxed Memory) result-    touchManagedPtr mem-    return result'--#if ENABLE_OVERLOADING-data MemoryCopyMethodInfo-instance (signature ~ (Int64 -> Int64 -> m Memory), MonadIO m) => O.MethodInfo MemoryCopyMethodInfo Memory signature where-    overloadedMethod _ = memoryCopy--#endif---- method Memory::get_sizes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "maxsize", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to maxsize", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_memory_get_sizes" gst_memory_get_sizes :: -    Ptr Memory ->                           -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    Ptr Word64 ->                           -- offset : TBasicType TUInt64-    Ptr Word64 ->                           -- maxsize : TBasicType TUInt64-    IO Word64--{- |-Get the current /@size@/, /@offset@/ and /@maxsize@/ of /@mem@/.--}-memoryGetSizes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> m ((Word64, Word64, Word64))-    {- ^ __Returns:__ the current sizes of /@mem@/ -}-memoryGetSizes mem = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    offset <- allocMem :: IO (Ptr Word64)-    maxsize <- allocMem :: IO (Ptr Word64)-    result <- gst_memory_get_sizes mem' offset maxsize-    offset' <- peek offset-    maxsize' <- peek maxsize-    touchManagedPtr mem-    freeMem offset-    freeMem maxsize-    return (result, offset', maxsize')--#if ENABLE_OVERLOADING-data MemoryGetSizesMethodInfo-instance (signature ~ (m ((Word64, Word64, Word64))), MonadIO m) => O.MethodInfo MemoryGetSizesMethodInfo Memory signature where-    overloadedMethod _ = memoryGetSizes--#endif---- method Memory::is_span--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mem1", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem2", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a result offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_memory_is_span" gst_memory_is_span :: -    Ptr Memory ->                           -- mem1 : TInterface (Name {namespace = "Gst", name = "Memory"})-    Ptr Memory ->                           -- mem2 : TInterface (Name {namespace = "Gst", name = "Memory"})-    Ptr Word64 ->                           -- offset : TBasicType TUInt64-    IO CInt--{- |-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 'GI.Gst.Structs.Memory.memoryShare' on the parent object from-the returned /@offset@/.--}-memoryIsSpan ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Memory-    {- ^ /@mem1@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Memory-    {- ^ /@mem2@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> m ((Bool, Word64))-    {- ^ __Returns:__ 'True' if the memory is contiguous and of a common parent. -}-memoryIsSpan mem1 mem2 = liftIO $ do-    mem1' <- unsafeManagedPtrGetPtr mem1-    mem2' <- unsafeManagedPtrGetPtr mem2-    offset <- allocMem :: IO (Ptr Word64)-    result <- gst_memory_is_span mem1' mem2' offset-    let result' = (/= 0) result-    offset' <- peek offset-    touchManagedPtr mem1-    touchManagedPtr mem2-    freeMem offset-    return (result', offset')--#if ENABLE_OVERLOADING-data MemoryIsSpanMethodInfo-instance (signature ~ (Memory -> m ((Bool, Word64))), MonadIO m) => O.MethodInfo MemoryIsSpanMethodInfo Memory signature where-    overloadedMethod _ = memoryIsSpan--#endif---- method Memory::is_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a memory type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_memory_is_type" gst_memory_is_type :: -    Ptr Memory ->                           -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    CString ->                              -- mem_type : TBasicType TUTF8-    IO CInt--{- |-Check if /@mem@/ if allocated with an allocator for /@memType@/.--/Since: 1.2/--}-memoryIsType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> T.Text-    {- ^ /@memType@/: a memory type -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@mem@/ was allocated from an allocator for /@memType@/. -}-memoryIsType mem memType = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    memType' <- textToCString memType-    result <- gst_memory_is_type mem' memType'-    let result' = (/= 0) result-    touchManagedPtr mem-    freeMem memType'-    return result'--#if ENABLE_OVERLOADING-data MemoryIsTypeMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo MemoryIsTypeMethodInfo Memory signature where-    overloadedMethod _ = memoryIsType--#endif---- method Memory::make_mapped--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer for info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "MapFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mapping flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_memory_make_mapped" gst_memory_make_mapped :: -    Ptr Memory ->                           -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    Ptr Gst.MapInfo.MapInfo ->              -- info : TInterface (Name {namespace = "Gst", name = "MapInfo"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "MapFlags"})-    IO (Ptr Memory)--{- |-Create a 'GI.Gst.Structs.Memory.Memory' 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-'GI.Gst.Structs.Memory.Memory'.--}-memoryMakeMapped ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> [Gst.Flags.MapFlags]-    {- ^ /@flags@/: mapping flags -}-    -> m ((Maybe Memory, Gst.MapInfo.MapInfo))-    {- ^ __Returns:__ a 'GI.Gst.Structs.Memory.Memory' object mapped-with /@flags@/ or 'Nothing' when a mapping is not possible. -}-memoryMakeMapped mem flags = liftIO $ do-    mem' <- B.ManagedPtr.disownBoxed mem-    info <- callocBytes 104 :: IO (Ptr Gst.MapInfo.MapInfo)-    let flags' = gflagsToWord flags-    result <- gst_memory_make_mapped mem' info flags'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Memory) result'-        return result''-    info' <- (wrapPtr Gst.MapInfo.MapInfo) info-    touchManagedPtr mem-    return (maybeResult, info')--#if ENABLE_OVERLOADING-data MemoryMakeMappedMethodInfo-instance (signature ~ ([Gst.Flags.MapFlags] -> m ((Maybe Memory, Gst.MapInfo.MapInfo))), MonadIO m) => O.MethodInfo MemoryMakeMappedMethodInfo Memory signature where-    overloadedMethod _ = memoryMakeMapped--#endif---- method Memory::map--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer for info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "MapFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mapping flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_memory_map" gst_memory_map :: -    Ptr Memory ->                           -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    Ptr Gst.MapInfo.MapInfo ->              -- info : TInterface (Name {namespace = "Gst", name = "MapInfo"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "MapFlags"})-    IO CInt--{- |-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 'GI.Gst.Structs.Memory.memoryUnmap' is called.--For each 'GI.Gst.Structs.Memory.memoryMap' call, a corresponding 'GI.Gst.Structs.Memory.memoryUnmap' call-should be done.--}-memoryMap ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> [Gst.Flags.MapFlags]-    {- ^ /@flags@/: mapping flags -}-    -> m ((Bool, Gst.MapInfo.MapInfo))-    {- ^ __Returns:__ 'True' if the map operation was successful. -}-memoryMap mem flags = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    info <- callocBytes 104 :: IO (Ptr Gst.MapInfo.MapInfo)-    let flags' = gflagsToWord flags-    result <- gst_memory_map mem' info flags'-    let result' = (/= 0) result-    info' <- (wrapPtr Gst.MapInfo.MapInfo) info-    touchManagedPtr mem-    return (result', info')--#if ENABLE_OVERLOADING-data MemoryMapMethodInfo-instance (signature ~ ([Gst.Flags.MapFlags] -> m ((Bool, Gst.MapInfo.MapInfo))), MonadIO m) => O.MethodInfo MemoryMapMethodInfo Memory signature where-    overloadedMethod _ = memoryMap--#endif---- method Memory::resize--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_memory_resize" gst_memory_resize :: -    Ptr Memory ->                           -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    Int64 ->                                -- offset : TBasicType TInt64-    Word64 ->                               -- size : TBasicType TUInt64-    IO ()--{- |-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.--}-memoryResize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Int64-    {- ^ /@offset@/: a new offset -}-    -> Word64-    {- ^ /@size@/: a new size -}-    -> m ()-memoryResize mem offset size = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    gst_memory_resize mem' offset size-    touchManagedPtr mem-    return ()--#if ENABLE_OVERLOADING-data MemoryResizeMethodInfo-instance (signature ~ (Int64 -> Word64 -> m ()), MonadIO m) => O.MethodInfo MemoryResizeMethodInfo Memory signature where-    overloadedMethod _ = memoryResize--#endif---- method Memory::share--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "offset to share from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size to share, or -1 to share to the end of the memory region", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Memory"}))--- throws : False--- Skip return : False--foreign import ccall "gst_memory_share" gst_memory_share :: -    Ptr Memory ->                           -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    Int64 ->                                -- offset : TBasicType TInt64-    Int64 ->                                -- size : TBasicType TInt64-    IO (Ptr Memory)--{- |-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.--}-memoryShare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Int64-    {- ^ /@offset@/: offset to share from -}-    -> Int64-    {- ^ /@size@/: size to share, or -1 to share to the end of the memory region -}-    -> m Memory-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Memory.Memory'. -}-memoryShare mem offset size = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    result <- gst_memory_share mem' offset size-    checkUnexpectedReturnNULL "memoryShare" result-    result' <- (wrapBoxed Memory) result-    touchManagedPtr mem-    return result'--#if ENABLE_OVERLOADING-data MemoryShareMethodInfo-instance (signature ~ (Int64 -> Int64 -> m Memory), MonadIO m) => O.MethodInfo MemoryShareMethodInfo Memory signature where-    overloadedMethod _ = memoryShare--#endif---- method Memory::unmap--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mem", argType = TInterface (Name {namespace = "Gst", name = "Memory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMemory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "MapInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMapInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_memory_unmap" gst_memory_unmap :: -    Ptr Memory ->                           -- mem : TInterface (Name {namespace = "Gst", name = "Memory"})-    Ptr Gst.MapInfo.MapInfo ->              -- info : TInterface (Name {namespace = "Gst", name = "MapInfo"})-    IO ()--{- |-Release the memory obtained with 'GI.Gst.Structs.Memory.memoryMap'--}-memoryUnmap ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Memory-    {- ^ /@mem@/: a 'GI.Gst.Structs.Memory.Memory' -}-    -> Gst.MapInfo.MapInfo-    {- ^ /@info@/: a 'GI.Gst.Structs.MapInfo.MapInfo' -}-    -> m ()-memoryUnmap mem info = liftIO $ do-    mem' <- unsafeManagedPtrGetPtr mem-    info' <- unsafeManagedPtrGetPtr info-    gst_memory_unmap mem' info'-    touchManagedPtr mem-    touchManagedPtr info-    return ()--#if ENABLE_OVERLOADING-data MemoryUnmapMethodInfo-instance (signature ~ (Gst.MapInfo.MapInfo -> m ()), MonadIO m) => O.MethodInfo MemoryUnmapMethodInfo Memory signature where-    overloadedMethod _ = memoryUnmap--#endif--#if ENABLE_OVERLOADING-type family ResolveMemoryMethod (t :: Symbol) (o :: *) :: * where-    ResolveMemoryMethod "copy" o = MemoryCopyMethodInfo-    ResolveMemoryMethod "isSpan" o = MemoryIsSpanMethodInfo-    ResolveMemoryMethod "isType" o = MemoryIsTypeMethodInfo-    ResolveMemoryMethod "makeMapped" o = MemoryMakeMappedMethodInfo-    ResolveMemoryMethod "map" o = MemoryMapMethodInfo-    ResolveMemoryMethod "resize" o = MemoryResizeMethodInfo-    ResolveMemoryMethod "share" o = MemoryShareMethodInfo-    ResolveMemoryMethod "unmap" o = MemoryUnmapMethodInfo-    ResolveMemoryMethod "getSizes" o = MemoryGetSizesMethodInfo-    ResolveMemoryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMemoryMethod t Memory, O.MethodInfo info Memory p) => OL.IsLabel t (Memory -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Memory.hs-boot
@@ -1,53 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Memory where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Memory = Memory (ManagedPtr Memory)-instance BoxedObject Memory where-#if ENABLE_OVERLOADING-data MemoryCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data MemoryGetSizesMethodInfo-#endif-#if ENABLE_OVERLOADING-data MemoryIsSpanMethodInfo-#endif-#if ENABLE_OVERLOADING-data MemoryIsTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data MemoryMakeMappedMethodInfo-#endif-#if ENABLE_OVERLOADING-data MemoryMapMethodInfo-#endif-#if ENABLE_OVERLOADING-data MemoryResizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data MemoryShareMethodInfo-#endif-#if ENABLE_OVERLOADING-data MemoryUnmapMethodInfo-#endif
− GI/Gst/Structs/Message.hs
@@ -1,5621 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Messages are implemented as a subclass of 'GI.Gst.Structs.MiniObject.MiniObject' with a generic-'GI.Gst.Structs.Structure.Structure' 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 'GI.Gst.Objects.Bus.Bus'.--The basic use pattern of posting a message on a 'GI.Gst.Objects.Bus.Bus' is as follows:--=== /C code/->->  gst_bus_post (bus, gst_message_new_eos());---A 'GI.Gst.Objects.Element.Element' usually posts messages on the bus provided by the parent-container using 'GI.Gst.Objects.Element.elementPostMessage'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Message-    ( ---- * Exported types-    Message(..)                             ,-    newZeroMessage                          ,-    noMessage                               ,--- -- * Methods--- ** addRedirectEntry #method:addRedirectEntry#--#if ENABLE_OVERLOADING-    MessageAddRedirectEntryMethodInfo       ,-#endif-    messageAddRedirectEntry                 ,----- ** getNumRedirectEntries #method:getNumRedirectEntries#--#if ENABLE_OVERLOADING-    MessageGetNumRedirectEntriesMethodInfo  ,-#endif-    messageGetNumRedirectEntries            ,----- ** getSeqnum #method:getSeqnum#--#if ENABLE_OVERLOADING-    MessageGetSeqnumMethodInfo              ,-#endif-    messageGetSeqnum                        ,----- ** getStreamStatusObject #method:getStreamStatusObject#--#if ENABLE_OVERLOADING-    MessageGetStreamStatusObjectMethodInfo  ,-#endif-    messageGetStreamStatusObject            ,----- ** getStructure #method:getStructure#--#if ENABLE_OVERLOADING-    MessageGetStructureMethodInfo           ,-#endif-    messageGetStructure                     ,----- ** hasName #method:hasName#--#if ENABLE_OVERLOADING-    MessageHasNameMethodInfo                ,-#endif-    messageHasName                          ,----- ** newApplication #method:newApplication#--    messageNewApplication                   ,----- ** newAsyncDone #method:newAsyncDone#--    messageNewAsyncDone                     ,----- ** newAsyncStart #method:newAsyncStart#--    messageNewAsyncStart                    ,----- ** newBuffering #method:newBuffering#--    messageNewBuffering                     ,----- ** newClockLost #method:newClockLost#--    messageNewClockLost                     ,----- ** newClockProvide #method:newClockProvide#--    messageNewClockProvide                  ,----- ** newCustom #method:newCustom#--    messageNewCustom                        ,----- ** newDeviceAdded #method:newDeviceAdded#--    messageNewDeviceAdded                   ,----- ** newDeviceChanged #method:newDeviceChanged#--    messageNewDeviceChanged                 ,----- ** newDeviceRemoved #method:newDeviceRemoved#--    messageNewDeviceRemoved                 ,----- ** newDurationChanged #method:newDurationChanged#--    messageNewDurationChanged               ,----- ** newElement #method:newElement#--    messageNewElement                       ,----- ** newEos #method:newEos#--    messageNewEos                           ,----- ** newError #method:newError#--    messageNewError                         ,----- ** newErrorWithDetails #method:newErrorWithDetails#--    messageNewErrorWithDetails              ,----- ** newHaveContext #method:newHaveContext#--    messageNewHaveContext                   ,----- ** newInfo #method:newInfo#--    messageNewInfo                          ,----- ** newInfoWithDetails #method:newInfoWithDetails#--    messageNewInfoWithDetails               ,----- ** newLatency #method:newLatency#--    messageNewLatency                       ,----- ** newNeedContext #method:newNeedContext#--    messageNewNeedContext                   ,----- ** newNewClock #method:newNewClock#--    messageNewNewClock                      ,----- ** newProgress #method:newProgress#--    messageNewProgress                      ,----- ** newPropertyNotify #method:newPropertyNotify#--    messageNewPropertyNotify                ,----- ** newQos #method:newQos#--    messageNewQos                           ,----- ** newRedirect #method:newRedirect#--    messageNewRedirect                      ,----- ** newRequestState #method:newRequestState#--    messageNewRequestState                  ,----- ** newResetTime #method:newResetTime#--    messageNewResetTime                     ,----- ** newSegmentDone #method:newSegmentDone#--    messageNewSegmentDone                   ,----- ** newSegmentStart #method:newSegmentStart#--    messageNewSegmentStart                  ,----- ** newStateChanged #method:newStateChanged#--    messageNewStateChanged                  ,----- ** newStateDirty #method:newStateDirty#--    messageNewStateDirty                    ,----- ** newStepDone #method:newStepDone#--    messageNewStepDone                      ,----- ** newStepStart #method:newStepStart#--    messageNewStepStart                     ,----- ** newStreamCollection #method:newStreamCollection#--    messageNewStreamCollection              ,----- ** newStreamStart #method:newStreamStart#--    messageNewStreamStart                   ,----- ** newStreamStatus #method:newStreamStatus#--    messageNewStreamStatus                  ,----- ** newStreamsSelected #method:newStreamsSelected#--    messageNewStreamsSelected               ,----- ** newStructureChange #method:newStructureChange#--    messageNewStructureChange               ,----- ** newTag #method:newTag#--    messageNewTag                           ,----- ** newToc #method:newToc#--    messageNewToc                           ,----- ** newWarning #method:newWarning#--    messageNewWarning                       ,----- ** newWarningWithDetails #method:newWarningWithDetails#--    messageNewWarningWithDetails            ,----- ** parseAsyncDone #method:parseAsyncDone#--#if ENABLE_OVERLOADING-    MessageParseAsyncDoneMethodInfo         ,-#endif-    messageParseAsyncDone                   ,----- ** parseBuffering #method:parseBuffering#--#if ENABLE_OVERLOADING-    MessageParseBufferingMethodInfo         ,-#endif-    messageParseBuffering                   ,----- ** parseBufferingStats #method:parseBufferingStats#--#if ENABLE_OVERLOADING-    MessageParseBufferingStatsMethodInfo    ,-#endif-    messageParseBufferingStats              ,----- ** parseClockLost #method:parseClockLost#--#if ENABLE_OVERLOADING-    MessageParseClockLostMethodInfo         ,-#endif-    messageParseClockLost                   ,----- ** parseClockProvide #method:parseClockProvide#--#if ENABLE_OVERLOADING-    MessageParseClockProvideMethodInfo      ,-#endif-    messageParseClockProvide                ,----- ** parseContextType #method:parseContextType#--#if ENABLE_OVERLOADING-    MessageParseContextTypeMethodInfo       ,-#endif-    messageParseContextType                 ,----- ** parseDeviceAdded #method:parseDeviceAdded#--#if ENABLE_OVERLOADING-    MessageParseDeviceAddedMethodInfo       ,-#endif-    messageParseDeviceAdded                 ,----- ** parseDeviceChanged #method:parseDeviceChanged#--#if ENABLE_OVERLOADING-    MessageParseDeviceChangedMethodInfo     ,-#endif-    messageParseDeviceChanged               ,----- ** parseDeviceRemoved #method:parseDeviceRemoved#--#if ENABLE_OVERLOADING-    MessageParseDeviceRemovedMethodInfo     ,-#endif-    messageParseDeviceRemoved               ,----- ** parseError #method:parseError#--#if ENABLE_OVERLOADING-    MessageParseErrorMethodInfo             ,-#endif-    messageParseError                       ,----- ** parseErrorDetails #method:parseErrorDetails#--#if ENABLE_OVERLOADING-    MessageParseErrorDetailsMethodInfo      ,-#endif-    messageParseErrorDetails                ,----- ** parseGroupId #method:parseGroupId#--#if ENABLE_OVERLOADING-    MessageParseGroupIdMethodInfo           ,-#endif-    messageParseGroupId                     ,----- ** parseHaveContext #method:parseHaveContext#--#if ENABLE_OVERLOADING-    MessageParseHaveContextMethodInfo       ,-#endif-    messageParseHaveContext                 ,----- ** parseInfo #method:parseInfo#--#if ENABLE_OVERLOADING-    MessageParseInfoMethodInfo              ,-#endif-    messageParseInfo                        ,----- ** parseInfoDetails #method:parseInfoDetails#--#if ENABLE_OVERLOADING-    MessageParseInfoDetailsMethodInfo       ,-#endif-    messageParseInfoDetails                 ,----- ** parseNewClock #method:parseNewClock#--#if ENABLE_OVERLOADING-    MessageParseNewClockMethodInfo          ,-#endif-    messageParseNewClock                    ,----- ** parseProgress #method:parseProgress#--#if ENABLE_OVERLOADING-    MessageParseProgressMethodInfo          ,-#endif-    messageParseProgress                    ,----- ** parsePropertyNotify #method:parsePropertyNotify#--#if ENABLE_OVERLOADING-    MessageParsePropertyNotifyMethodInfo    ,-#endif-    messageParsePropertyNotify              ,----- ** parseQos #method:parseQos#--#if ENABLE_OVERLOADING-    MessageParseQosMethodInfo               ,-#endif-    messageParseQos                         ,----- ** parseQosStats #method:parseQosStats#--#if ENABLE_OVERLOADING-    MessageParseQosStatsMethodInfo          ,-#endif-    messageParseQosStats                    ,----- ** parseQosValues #method:parseQosValues#--#if ENABLE_OVERLOADING-    MessageParseQosValuesMethodInfo         ,-#endif-    messageParseQosValues                   ,----- ** parseRedirectEntry #method:parseRedirectEntry#--#if ENABLE_OVERLOADING-    MessageParseRedirectEntryMethodInfo     ,-#endif-    messageParseRedirectEntry               ,----- ** parseRequestState #method:parseRequestState#--#if ENABLE_OVERLOADING-    MessageParseRequestStateMethodInfo      ,-#endif-    messageParseRequestState                ,----- ** parseResetTime #method:parseResetTime#--#if ENABLE_OVERLOADING-    MessageParseResetTimeMethodInfo         ,-#endif-    messageParseResetTime                   ,----- ** parseSegmentDone #method:parseSegmentDone#--#if ENABLE_OVERLOADING-    MessageParseSegmentDoneMethodInfo       ,-#endif-    messageParseSegmentDone                 ,----- ** parseSegmentStart #method:parseSegmentStart#--#if ENABLE_OVERLOADING-    MessageParseSegmentStartMethodInfo      ,-#endif-    messageParseSegmentStart                ,----- ** parseStateChanged #method:parseStateChanged#--#if ENABLE_OVERLOADING-    MessageParseStateChangedMethodInfo      ,-#endif-    messageParseStateChanged                ,----- ** parseStepDone #method:parseStepDone#--#if ENABLE_OVERLOADING-    MessageParseStepDoneMethodInfo          ,-#endif-    messageParseStepDone                    ,----- ** parseStepStart #method:parseStepStart#--#if ENABLE_OVERLOADING-    MessageParseStepStartMethodInfo         ,-#endif-    messageParseStepStart                   ,----- ** parseStreamCollection #method:parseStreamCollection#--#if ENABLE_OVERLOADING-    MessageParseStreamCollectionMethodInfo  ,-#endif-    messageParseStreamCollection            ,----- ** parseStreamStatus #method:parseStreamStatus#--#if ENABLE_OVERLOADING-    MessageParseStreamStatusMethodInfo      ,-#endif-    messageParseStreamStatus                ,----- ** parseStreamsSelected #method:parseStreamsSelected#--#if ENABLE_OVERLOADING-    MessageParseStreamsSelectedMethodInfo   ,-#endif-    messageParseStreamsSelected             ,----- ** parseStructureChange #method:parseStructureChange#--#if ENABLE_OVERLOADING-    MessageParseStructureChangeMethodInfo   ,-#endif-    messageParseStructureChange             ,----- ** parseTag #method:parseTag#--#if ENABLE_OVERLOADING-    MessageParseTagMethodInfo               ,-#endif-    messageParseTag                         ,----- ** parseToc #method:parseToc#--#if ENABLE_OVERLOADING-    MessageParseTocMethodInfo               ,-#endif-    messageParseToc                         ,----- ** parseWarning #method:parseWarning#--#if ENABLE_OVERLOADING-    MessageParseWarningMethodInfo           ,-#endif-    messageParseWarning                     ,----- ** parseWarningDetails #method:parseWarningDetails#--#if ENABLE_OVERLOADING-    MessageParseWarningDetailsMethodInfo    ,-#endif-    messageParseWarningDetails              ,----- ** setBufferingStats #method:setBufferingStats#--#if ENABLE_OVERLOADING-    MessageSetBufferingStatsMethodInfo      ,-#endif-    messageSetBufferingStats                ,----- ** setGroupId #method:setGroupId#--#if ENABLE_OVERLOADING-    MessageSetGroupIdMethodInfo             ,-#endif-    messageSetGroupId                       ,----- ** setQosStats #method:setQosStats#--#if ENABLE_OVERLOADING-    MessageSetQosStatsMethodInfo            ,-#endif-    messageSetQosStats                      ,----- ** setQosValues #method:setQosValues#--#if ENABLE_OVERLOADING-    MessageSetQosValuesMethodInfo           ,-#endif-    messageSetQosValues                     ,----- ** setSeqnum #method:setSeqnum#--#if ENABLE_OVERLOADING-    MessageSetSeqnumMethodInfo              ,-#endif-    messageSetSeqnum                        ,----- ** setStreamStatusObject #method:setStreamStatusObject#--#if ENABLE_OVERLOADING-    MessageSetStreamStatusObjectMethodInfo  ,-#endif-    messageSetStreamStatusObject            ,----- ** streamsSelectedAdd #method:streamsSelectedAdd#--#if ENABLE_OVERLOADING-    MessageStreamsSelectedAddMethodInfo     ,-#endif-    messageStreamsSelectedAdd               ,----- ** streamsSelectedGetSize #method:streamsSelectedGetSize#--#if ENABLE_OVERLOADING-    MessageStreamsSelectedGetSizeMethodInfo ,-#endif-    messageStreamsSelectedGetSize           ,----- ** streamsSelectedGetStream #method:streamsSelectedGetStream#--#if ENABLE_OVERLOADING-    MessageStreamsSelectedGetStreamMethodInfo,-#endif-    messageStreamsSelectedGetStream         ,----- ** writableStructure #method:writableStructure#--#if ENABLE_OVERLOADING-    MessageWritableStructureMethodInfo      ,-#endif-    messageWritableStructure                ,----- -- * Properties--- ** miniObject #attr:miniObject#-{- | the parent structure--}-    getMessageMiniObject                    ,-#if ENABLE_OVERLOADING-    message_miniObject                      ,-#endif----- ** seqnum #attr:seqnum#-{- | the sequence number of the message--}-    getMessageSeqnum                        ,-#if ENABLE_OVERLOADING-    message_seqnum                          ,-#endif-    setMessageSeqnum                        ,----- ** src #attr:src#-{- | the src of the message--}-    clearMessageSrc                         ,-    getMessageSrc                           ,-#if ENABLE_OVERLOADING-    message_src                             ,-#endif-    setMessageSrc                           ,----- ** timestamp #attr:timestamp#-{- | the timestamp of the message--}-    getMessageTimestamp                     ,-#if ENABLE_OVERLOADING-    message_timestamp                       ,-#endif-    setMessageTimestamp                     ,----- ** type #attr:type#-{- | the 'GI.Gst.Flags.MessageType' of the message--}-    getMessageType                          ,-#if ENABLE_OVERLOADING-    message_type                            ,-#endif-    setMessageType                          ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Clock as Gst.Clock-import {-# SOURCE #-} qualified GI.Gst.Objects.Device as Gst.Device-import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element-import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.Gst.Objects.Stream as Gst.Stream-import {-# SOURCE #-} qualified GI.Gst.Objects.StreamCollection as Gst.StreamCollection-import {-# SOURCE #-} qualified GI.Gst.Structs.Context as Gst.Context-import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure-import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList-import {-# SOURCE #-} qualified GI.Gst.Structs.Toc as Gst.Toc---- | Memory-managed wrapper type.-newtype Message = Message (ManagedPtr Message)-foreign import ccall "gst_message_get_type" c_gst_message_get_type :: -    IO GType--instance BoxedObject Message where-    boxedType _ = c_gst_message_get_type---- | Construct a `Message` struct initialized to zero.-newZeroMessage :: MonadIO m => m Message-newZeroMessage = liftIO $ callocBoxedBytes 120 >>= wrapBoxed Message--instance tag ~ 'AttrSet => Constructible Message tag where-    new _ attrs = do-        o <- newZeroMessage-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Message`.-noMessage :: Maybe Message-noMessage = Nothing--{- |-Get the value of the “@mini_object@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' message #miniObject-@--}-getMessageMiniObject :: MonadIO m => Message -> m Gst.MiniObject.MiniObject-getMessageMiniObject s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.MiniObject.MiniObject)-    val' <- (newPtr Gst.MiniObject.MiniObject) val-    return val'--#if ENABLE_OVERLOADING-data MessageMiniObjectFieldInfo-instance AttrInfo MessageMiniObjectFieldInfo where-    type AttrAllowedOps MessageMiniObjectFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint MessageMiniObjectFieldInfo = (~) (Ptr Gst.MiniObject.MiniObject)-    type AttrBaseTypeConstraint MessageMiniObjectFieldInfo = (~) Message-    type AttrGetType MessageMiniObjectFieldInfo = Gst.MiniObject.MiniObject-    type AttrLabel MessageMiniObjectFieldInfo = "mini_object"-    type AttrOrigin MessageMiniObjectFieldInfo = Message-    attrGet _ = getMessageMiniObject-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--message_miniObject :: AttrLabelProxy "miniObject"-message_miniObject = AttrLabelProxy--#endif---{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' message #type-@--}-getMessageType :: MonadIO m => Message -> m [Gst.Flags.MessageType]-getMessageType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO CUInt-    let val' = wordToGFlags val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' message [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setMessageType :: MonadIO m => Message -> [Gst.Flags.MessageType] -> m ()-setMessageType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gflagsToWord val-    poke (ptr `plusPtr` 64) (val' :: CUInt)--#if ENABLE_OVERLOADING-data MessageTypeFieldInfo-instance AttrInfo MessageTypeFieldInfo where-    type AttrAllowedOps MessageTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MessageTypeFieldInfo = (~) [Gst.Flags.MessageType]-    type AttrBaseTypeConstraint MessageTypeFieldInfo = (~) Message-    type AttrGetType MessageTypeFieldInfo = [Gst.Flags.MessageType]-    type AttrLabel MessageTypeFieldInfo = "type"-    type AttrOrigin MessageTypeFieldInfo = Message-    attrGet _ = getMessageType-    attrSet _ = setMessageType-    attrConstruct = undefined-    attrClear _ = undefined--message_type :: AttrLabelProxy "type"-message_type = AttrLabelProxy--#endif---{- |-Get the value of the “@timestamp@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' message #timestamp-@--}-getMessageTimestamp :: MonadIO m => Message -> m Word64-getMessageTimestamp s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO Word64-    return val--{- |-Set the value of the “@timestamp@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' message [ #timestamp 'Data.GI.Base.Attributes.:=' value ]-@--}-setMessageTimestamp :: MonadIO m => Message -> Word64 -> m ()-setMessageTimestamp s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: Word64)--#if ENABLE_OVERLOADING-data MessageTimestampFieldInfo-instance AttrInfo MessageTimestampFieldInfo where-    type AttrAllowedOps MessageTimestampFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MessageTimestampFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MessageTimestampFieldInfo = (~) Message-    type AttrGetType MessageTimestampFieldInfo = Word64-    type AttrLabel MessageTimestampFieldInfo = "timestamp"-    type AttrOrigin MessageTimestampFieldInfo = Message-    attrGet _ = getMessageTimestamp-    attrSet _ = setMessageTimestamp-    attrConstruct = undefined-    attrClear _ = undefined--message_timestamp :: AttrLabelProxy "timestamp"-message_timestamp = AttrLabelProxy--#endif---{- |-Get the value of the “@src@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' message #src-@--}-getMessageSrc :: MonadIO m => Message -> m (Maybe Gst.Object.Object)-getMessageSrc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 80) :: IO (Ptr Gst.Object.Object)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newObject Gst.Object.Object) val'-        return val''-    return result--{- |-Set the value of the “@src@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' message [ #src 'Data.GI.Base.Attributes.:=' value ]-@--}-setMessageSrc :: MonadIO m => Message -> Ptr Gst.Object.Object -> m ()-setMessageSrc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (val :: Ptr Gst.Object.Object)--{- |-Set the value of the “@src@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #src-@--}-clearMessageSrc :: MonadIO m => Message -> m ()-clearMessageSrc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (FP.nullPtr :: Ptr Gst.Object.Object)--#if ENABLE_OVERLOADING-data MessageSrcFieldInfo-instance AttrInfo MessageSrcFieldInfo where-    type AttrAllowedOps MessageSrcFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MessageSrcFieldInfo = (~) (Ptr Gst.Object.Object)-    type AttrBaseTypeConstraint MessageSrcFieldInfo = (~) Message-    type AttrGetType MessageSrcFieldInfo = Maybe Gst.Object.Object-    type AttrLabel MessageSrcFieldInfo = "src"-    type AttrOrigin MessageSrcFieldInfo = Message-    attrGet _ = getMessageSrc-    attrSet _ = setMessageSrc-    attrConstruct = undefined-    attrClear _ = clearMessageSrc--message_src :: AttrLabelProxy "src"-message_src = AttrLabelProxy--#endif---{- |-Get the value of the “@seqnum@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' message #seqnum-@--}-getMessageSeqnum :: MonadIO m => Message -> m Word32-getMessageSeqnum s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 88) :: IO Word32-    return val--{- |-Set the value of the “@seqnum@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' message [ #seqnum 'Data.GI.Base.Attributes.:=' value ]-@--}-setMessageSeqnum :: MonadIO m => Message -> Word32 -> m ()-setMessageSeqnum s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 88) (val :: Word32)--#if ENABLE_OVERLOADING-data MessageSeqnumFieldInfo-instance AttrInfo MessageSeqnumFieldInfo where-    type AttrAllowedOps MessageSeqnumFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MessageSeqnumFieldInfo = (~) Word32-    type AttrBaseTypeConstraint MessageSeqnumFieldInfo = (~) Message-    type AttrGetType MessageSeqnumFieldInfo = Word32-    type AttrLabel MessageSeqnumFieldInfo = "seqnum"-    type AttrOrigin MessageSeqnumFieldInfo = Message-    attrGet _ = getMessageSeqnum-    attrSet _ = setMessageSeqnum-    attrConstruct = undefined-    attrClear _ = undefined--message_seqnum :: AttrLabelProxy "seqnum"-message_seqnum = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Message-type instance O.AttributeList Message = MessageAttributeList-type MessageAttributeList = ('[ '("miniObject", MessageMiniObjectFieldInfo), '("type", MessageTypeFieldInfo), '("timestamp", MessageTimestampFieldInfo), '("src", MessageSrcFieldInfo), '("seqnum", MessageSeqnumFieldInfo)] :: [(Symbol, *)])-#endif---- method Message::new_application--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the structure for the message. The message\n    will take ownership of the structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_application" gst_message_new_application :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Message)--{- |-Create a new application-typed message. GStreamer will never create these-messages; they are a gift from us to you. Enjoy.--}-messageNewApplication ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: the structure for the message. The message-    will take ownership of the structure. -}-    -> m (Maybe Message)-    {- ^ __Returns:__ The new application message.--MT safe. -}-messageNewApplication src structure = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    structure' <- B.ManagedPtr.disownBoxed structure-    result <- gst_message_new_application maybeSrc structure'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Message) result'-        return result''-    whenJust src touchManagedPtr-    touchManagedPtr structure-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Message::new_async_done--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired running_time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_async_done" gst_message_new_async_done :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Word64 ->                               -- running_time : TBasicType TUInt64-    IO (Ptr Message)--{- |-The message is posted when elements completed an ASYNC state change.-/@runningTime@/ contains the time of the desired running_time when this-elements goes to PLAYING. A value of 'GI.Gst.Constants.CLOCK_TIME_NONE' for /@runningTime@/-means that the element has no clock interaction and thus doesn\'t care about-the running_time of the pipeline.--}-messageNewAsyncDone ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Word64-    {- ^ /@runningTime@/: the desired running_time -}-    -> m Message-    {- ^ __Returns:__ The new async_done message.--MT safe. -}-messageNewAsyncDone src runningTime = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    result <- gst_message_new_async_done maybeSrc runningTime-    checkUnexpectedReturnNULL "messageNewAsyncDone" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_async_start--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_async_start" gst_message_new_async_start :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Message)--{- |-This message is posted by elements when they start an ASYNC state change.--}-messageNewAsyncStart ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> m Message-    {- ^ __Returns:__ The new async_start message.--MT safe. -}-messageNewAsyncStart src = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    result <- gst_message_new_async_start maybeSrc-    checkUnexpectedReturnNULL "messageNewAsyncStart" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_buffering--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "percent", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The buffering percent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_buffering" gst_message_new_buffering :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Int32 ->                                -- percent : TBasicType TInt-    IO (Ptr Message)--{- |-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 \< 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.--}-messageNewBuffering ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Int32-    {- ^ /@percent@/: The buffering percent -}-    -> m (Maybe Message)-    {- ^ __Returns:__ The new buffering message. -}-messageNewBuffering src percent = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    result <- gst_message_new_buffering maybeSrc percent-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Message) result'-        return result''-    whenJust src touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Message::new_clock_lost--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the clock that was lost", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_clock_lost" gst_message_new_clock_lost :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Clock.Clock ->                  -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO (Ptr Message)--{- |-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.--}-messageNewClockLost ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Clock.IsClock b) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> b-    {- ^ /@clock@/: the clock that was lost -}-    -> m Message-    {- ^ __Returns:__ The new clock lost message.--MT safe. -}-messageNewClockLost src clock = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_message_new_clock_lost maybeSrc clock'-    checkUnexpectedReturnNULL "messageNewClockLost" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    touchManagedPtr clock-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_clock_provide--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the clock it provides", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ready", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the sender can provide a clock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_clock_provide" gst_message_new_clock_provide :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Clock.Clock ->                  -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    CInt ->                                 -- ready : TBasicType TBoolean-    IO (Ptr Message)--{- |-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.--}-messageNewClockProvide ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Clock.IsClock b) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> b-    {- ^ /@clock@/: the clock it provides -}-    -> Bool-    {- ^ /@ready@/: 'True' if the sender can provide a clock -}-    -> m Message-    {- ^ __Returns:__ the new provide clock message.--MT safe. -}-messageNewClockProvide src clock ready = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    clock' <- unsafeManagedPtrCastPtr clock-    let ready' = (fromIntegral . fromEnum) ready-    result <- gst_message_new_clock_provide maybeSrc clock' ready'-    checkUnexpectedReturnNULL "messageNewClockProvide" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    touchManagedPtr clock-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_custom--- method type : Constructor--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "MessageType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstMessageType to distinguish messages", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the structure for the\n    message. The message will take ownership of the structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_custom" gst_message_new_custom :: -    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "MessageType"})-    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Message)--{- |-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 'Nothing'.--}-messageNewCustom ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    [Gst.Flags.MessageType]-    {- ^ /@type@/: The 'GI.Gst.Flags.MessageType' to distinguish messages -}-    -> Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Maybe (Gst.Structure.Structure)-    {- ^ /@structure@/: the structure for the-    message. The message will take ownership of the structure. -}-    -> m (Maybe Message)-    {- ^ __Returns:__ The new message.--MT safe. -}-messageNewCustom type_ src structure = liftIO $ do-    let type_' = gflagsToWord type_-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    maybeStructure <- case structure of-        Nothing -> return nullPtr-        Just jStructure -> do-            jStructure' <- B.ManagedPtr.disownBoxed jStructure-            return jStructure'-    result <- gst_message_new_custom type_' maybeSrc maybeStructure-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Message) result'-        return result''-    whenJust src touchManagedPtr-    whenJust structure touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Message::new_device_added--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstObject that created the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_device_added" gst_message_new_device_added :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Device.Device ->                -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO (Ptr Message)--{- |-Creates a new device-added message. The device-added message is produced by-'GI.Gst.Objects.DeviceProvider.DeviceProvider' or a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor'. They announce the appearance-of monitored devices.--/Since: 1.4/--}-messageNewDeviceAdded ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Device.IsDevice b) =>-    a-    {- ^ /@src@/: The 'GI.Gst.Objects.Object.Object' that created the message -}-    -> b-    {- ^ /@device@/: The new 'GI.Gst.Objects.Device.Device' -}-    -> m Message-    {- ^ __Returns:__ a newly allocated 'GI.Gst.Structs.Message.Message' -}-messageNewDeviceAdded src device = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    device' <- unsafeManagedPtrCastPtr device-    result <- gst_message_new_device_added src' device'-    checkUnexpectedReturnNULL "messageNewDeviceAdded" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    touchManagedPtr device-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_device_changed--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstObject that created the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The newly created device representing @replaced_device\n        with its new configuration.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "changed_device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_device_changed" gst_message_new_device_changed :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Device.Device ->                -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    Ptr Gst.Device.Device ->                -- changed_device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO (Ptr Message)--{- |-Creates a new device-changed message. The device-changed message is produced-by 'GI.Gst.Objects.DeviceProvider.DeviceProvider' or a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor'. They announce that a device-properties has changed and /@device@/ represent the new modified version of /@changedDevice@/.--/Since: 1.16/--}-messageNewDeviceChanged ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Device.IsDevice b, Gst.Device.IsDevice c) =>-    a-    {- ^ /@src@/: The 'GI.Gst.Objects.Object.Object' that created the message -}-    -> b-    {- ^ /@device@/: The newly created device representing /@replacedDevice@/-        with its new configuration. -}-    -> c-    -> m Message-    {- ^ __Returns:__ a newly allocated 'GI.Gst.Structs.Message.Message' -}-messageNewDeviceChanged src device changedDevice = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    device' <- unsafeManagedPtrCastPtr device-    changedDevice' <- unsafeManagedPtrCastPtr changedDevice-    result <- gst_message_new_device_changed src' device' changedDevice'-    checkUnexpectedReturnNULL "messageNewDeviceChanged" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    touchManagedPtr device-    touchManagedPtr changedDevice-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_device_removed--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstObject that created the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The removed #GstDevice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_device_removed" gst_message_new_device_removed :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Device.Device ->                -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO (Ptr Message)--{- |-Creates a new device-removed message. The device-removed message is produced-by 'GI.Gst.Objects.DeviceProvider.DeviceProvider' or a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor'. They announce the-disappearance of monitored devices.--/Since: 1.4/--}-messageNewDeviceRemoved ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Device.IsDevice b) =>-    a-    {- ^ /@src@/: The 'GI.Gst.Objects.Object.Object' that created the message -}-    -> b-    {- ^ /@device@/: The removed 'GI.Gst.Objects.Device.Device' -}-    -> m Message-    {- ^ __Returns:__ a newly allocated 'GI.Gst.Structs.Message.Message' -}-messageNewDeviceRemoved src device = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    device' <- unsafeManagedPtrCastPtr device-    result <- gst_message_new_device_removed src' device'-    checkUnexpectedReturnNULL "messageNewDeviceRemoved" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    touchManagedPtr device-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_duration_changed--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_duration_changed" gst_message_new_duration_changed :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Message)--{- |-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.--}-messageNewDurationChanged ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> m Message-    {- ^ __Returns:__ The new duration-changed message.--MT safe. -}-messageNewDurationChanged src = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    result <- gst_message_new_duration_changed maybeSrc-    checkUnexpectedReturnNULL "messageNewDurationChanged" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_element--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The structure for the\n    message. The message will take ownership of the structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_element" gst_message_new_element :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Message)--{- |-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 'Nothing'.--}-messageNewElement ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Structure.Structure-    {- ^ /@structure@/: The structure for the-    message. The message will take ownership of the structure. -}-    -> m (Maybe Message)-    {- ^ __Returns:__ The new element message.--MT safe. -}-messageNewElement src structure = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    structure' <- B.ManagedPtr.disownBoxed structure-    result <- gst_message_new_element maybeSrc structure'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Message) result'-        return result''-    whenJust src touchManagedPtr-    touchManagedPtr structure-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Message::new_eos--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_eos" gst_message_new_eos :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Message)--{- |-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.--}-messageNewEos ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> m Message-    {- ^ __Returns:__ The new eos message.--MT safe. -}-messageNewEos src = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    result <- gst_message_new_eos maybeSrc-    checkUnexpectedReturnNULL "messageNewEos" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_error--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GError for this message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A debugging string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_error" gst_message_new_error :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr GError ->                           -- error : TError-    CString ->                              -- debug : TBasicType TUTF8-    IO (Ptr Message)--{- |-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.--}-messageNewError ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> GError-    {- ^ /@error@/: The GError for this message. -}-    -> T.Text-    {- ^ /@debug@/: A debugging string. -}-    -> m Message-    {- ^ __Returns:__ the new error message.--MT safe. -}-messageNewError src error_ debug = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    error_' <- unsafeManagedPtrGetPtr error_-    debug' <- textToCString debug-    result <- gst_message_new_error maybeSrc error_' debug'-    checkUnexpectedReturnNULL "messageNewError" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    touchManagedPtr error_-    freeMem debug'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_error_with_details--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GError for this message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A debugging string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "details", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A GstStructure with details", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_error_with_details" gst_message_new_error_with_details :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr GError ->                           -- error : TError-    CString ->                              -- debug : TBasicType TUTF8-    Ptr Gst.Structure.Structure ->          -- details : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Message)--{- |-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.--/Since: 1.10/--}-messageNewErrorWithDetails ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> GError-    {- ^ /@error@/: The GError for this message. -}-    -> T.Text-    {- ^ /@debug@/: A debugging string. -}-    -> Maybe (Gst.Structure.Structure)-    {- ^ /@details@/: A GstStructure with details -}-    -> m (Maybe Message)-    {- ^ __Returns:__ the new error message. -}-messageNewErrorWithDetails src error_ debug details = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    error_' <- unsafeManagedPtrGetPtr error_-    debug' <- textToCString debug-    maybeDetails <- case details of-        Nothing -> return nullPtr-        Just jDetails -> do-            jDetails' <- B.ManagedPtr.disownBoxed jDetails-            return jDetails'-    result <- gst_message_new_error_with_details maybeSrc error_' debug' maybeDetails-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Message) result'-        return result''-    whenJust src touchManagedPtr-    touchManagedPtr error_-    whenJust details touchManagedPtr-    freeMem debug'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Message::new_have_context--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_have_context" gst_message_new_have_context :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Context.Context ->              -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    IO (Ptr Message)--{- |-This message is posted when an element has a new local 'GI.Gst.Structs.Context.Context'.--/Since: 1.2/--}-messageNewHaveContext ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Context.Context-    {- ^ /@context@/: the context -}-    -> m Message-    {- ^ __Returns:__ The new have-context message.--MT safe. -}-messageNewHaveContext src context = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    context' <- B.ManagedPtr.disownBoxed context-    result <- gst_message_new_have_context maybeSrc context'-    checkUnexpectedReturnNULL "messageNewHaveContext" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_info--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GError for this message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A debugging string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_info" gst_message_new_info :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr GError ->                           -- error : TError-    CString ->                              -- debug : TBasicType TUTF8-    IO (Ptr Message)--{- |-Create a new info message. The message will make copies of /@error@/ and-/@debug@/.--}-messageNewInfo ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> GError-    {- ^ /@error@/: The GError for this message. -}-    -> T.Text-    {- ^ /@debug@/: A debugging string. -}-    -> m Message-    {- ^ __Returns:__ the new info message.--MT safe. -}-messageNewInfo src error_ debug = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    error_' <- unsafeManagedPtrGetPtr error_-    debug' <- textToCString debug-    result <- gst_message_new_info maybeSrc error_' debug'-    checkUnexpectedReturnNULL "messageNewInfo" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    touchManagedPtr error_-    freeMem debug'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_info_with_details--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GError for this message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A debugging string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "details", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A GstStructure with details", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_info_with_details" gst_message_new_info_with_details :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr GError ->                           -- error : TError-    CString ->                              -- debug : TBasicType TUTF8-    Ptr Gst.Structure.Structure ->          -- details : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Message)--{- |-Create a new info message. The message will make copies of /@error@/ and-/@debug@/.--/Since: 1.10/--}-messageNewInfoWithDetails ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> GError-    {- ^ /@error@/: The GError for this message. -}-    -> T.Text-    {- ^ /@debug@/: A debugging string. -}-    -> Maybe (Gst.Structure.Structure)-    {- ^ /@details@/: A GstStructure with details -}-    -> m (Maybe Message)-    {- ^ __Returns:__ the new warning message. -}-messageNewInfoWithDetails src error_ debug details = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    error_' <- unsafeManagedPtrGetPtr error_-    debug' <- textToCString debug-    maybeDetails <- case details of-        Nothing -> return nullPtr-        Just jDetails -> do-            jDetails' <- B.ManagedPtr.disownBoxed jDetails-            return jDetails'-    result <- gst_message_new_info_with_details maybeSrc error_' debug' maybeDetails-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Message) result'-        return result''-    whenJust src touchManagedPtr-    touchManagedPtr error_-    whenJust details touchManagedPtr-    freeMem debug'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Message::new_latency--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_latency" gst_message_new_latency :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Message)--{- |-This message can be posted by elements when their latency requirements have-changed.--}-messageNewLatency ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> m Message-    {- ^ __Returns:__ The new latency message.--MT safe. -}-messageNewLatency src = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    result <- gst_message_new_latency maybeSrc-    checkUnexpectedReturnNULL "messageNewLatency" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_need_context--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The context type that is needed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_need_context" gst_message_new_need_context :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CString ->                              -- context_type : TBasicType TUTF8-    IO (Ptr Message)--{- |-This message is posted when an element needs a specific 'GI.Gst.Structs.Context.Context'.--/Since: 1.2/--}-messageNewNeedContext ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> T.Text-    {- ^ /@contextType@/: The context type that is needed -}-    -> m Message-    {- ^ __Returns:__ The new need-context message.--MT safe. -}-messageNewNeedContext src contextType = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    contextType' <- textToCString contextType-    result <- gst_message_new_need_context maybeSrc contextType'-    checkUnexpectedReturnNULL "messageNewNeedContext" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    freeMem contextType'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_new_clock--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new selected clock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_new_clock" gst_message_new_new_clock :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Clock.Clock ->                  -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO (Ptr Message)--{- |-Create a new clock message. This message is posted whenever the-pipeline selects a new clock for the pipeline.--}-messageNewNewClock ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Clock.IsClock b) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> b-    {- ^ /@clock@/: the new selected clock -}-    -> m Message-    {- ^ __Returns:__ The new new clock message.--MT safe. -}-messageNewNewClock src clock = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    clock' <- unsafeManagedPtrCastPtr clock-    result <- gst_message_new_new_clock maybeSrc clock'-    checkUnexpectedReturnNULL "messageNewNewClock" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    touchManagedPtr clock-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_progress--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "ProgressType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstProgressType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "code", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a progress code", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "free, user visible text describing the progress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_progress" gst_message_new_progress :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "ProgressType"})-    CString ->                              -- code : TBasicType TUTF8-    CString ->                              -- text : TBasicType TUTF8-    IO (Ptr Message)--{- |-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.--}-messageNewProgress ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    a-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Enums.ProgressType-    {- ^ /@type@/: a 'GI.Gst.Enums.ProgressType' -}-    -> T.Text-    {- ^ /@code@/: a progress code -}-    -> T.Text-    {- ^ /@text@/: free, user visible text describing the progress -}-    -> m (Maybe Message)-    {- ^ __Returns:__ The new qos message. -}-messageNewProgress src type_ code text = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let type_' = (fromIntegral . fromEnum) type_-    code' <- textToCString code-    text' <- textToCString text-    result <- gst_message_new_progress src' type_' code' text'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Message) result'-        return result''-    touchManagedPtr src-    freeMem code'-    freeMem text'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Message::new_property_notify--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstObject whose property changed (may or may not be a #GstElement)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of the property that changed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new property value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_property_notify" gst_message_new_property_notify :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CString ->                              -- property_name : TBasicType TUTF8-    Ptr GValue ->                           -- val : TInterface (Name {namespace = "GObject", name = "Value"})-    IO (Ptr Message)--{- |-/No description available in the introspection data./--/Since: 1.10/--}-messageNewPropertyNotify ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    a-    {- ^ /@src@/: The 'GI.Gst.Objects.Object.Object' whose property changed (may or may not be a 'GI.Gst.Objects.Element.Element') -}-    -> T.Text-    {- ^ /@propertyName@/: name of the property that changed -}-    -> Maybe (GValue)-    {- ^ /@val@/: new property value, or 'Nothing' -}-    -> m Message-    {- ^ __Returns:__ a newly allocated 'GI.Gst.Structs.Message.Message' -}-messageNewPropertyNotify src propertyName val = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    propertyName' <- textToCString propertyName-    maybeVal <- case val of-        Nothing -> return nullPtr-        Just jVal -> do-            jVal' <- B.ManagedPtr.disownBoxed jVal-            return jVal'-    result <- gst_message_new_property_notify src' propertyName' maybeVal-    checkUnexpectedReturnNULL "messageNewPropertyNotify" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    whenJust val touchManagedPtr-    freeMem propertyName'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_qos--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "live", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if the message was generated by a live element", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the running time of the buffer that generated the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stream time of the buffer that generated the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamps of the buffer that generated the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the duration of the buffer that generated the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_qos" gst_message_new_qos :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CInt ->                                 -- live : TBasicType TBoolean-    Word64 ->                               -- running_time : TBasicType TUInt64-    Word64 ->                               -- stream_time : TBasicType TUInt64-    Word64 ->                               -- timestamp : TBasicType TUInt64-    Word64 ->                               -- duration : TBasicType TUInt64-    IO (Ptr Message)--{- |-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).--/@runningTime@/, /@streamTime@/, /@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.--}-messageNewQos ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    a-    {- ^ /@src@/: The object originating the message. -}-    -> Bool-    {- ^ /@live@/: if the message was generated by a live element -}-    -> Word64-    {- ^ /@runningTime@/: the running time of the buffer that generated the message -}-    -> Word64-    {- ^ /@streamTime@/: the stream time of the buffer that generated the message -}-    -> Word64-    {- ^ /@timestamp@/: the timestamps of the buffer that generated the message -}-    -> Word64-    {- ^ /@duration@/: the duration of the buffer that generated the message -}-    -> m Message-    {- ^ __Returns:__ The new qos message.--MT safe. -}-messageNewQos src live runningTime streamTime timestamp duration = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let live' = (fromIntegral . fromEnum) live-    result <- gst_message_new_qos src' live' runningTime streamTime timestamp duration-    checkUnexpectedReturnNULL "messageNewQos" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_redirect--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstObject whose property changed (may or may not be a #GstElement)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location string for the new entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag_list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "tag list for the new entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "entry_struct", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "structure for the new entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_redirect" gst_message_new_redirect :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CString ->                              -- location : TBasicType TUTF8-    Ptr Gst.TagList.TagList ->              -- tag_list : TInterface (Name {namespace = "Gst", name = "TagList"})-    Ptr Gst.Structure.Structure ->          -- entry_struct : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Message)--{- |-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 'GI.Gst.Structs.Message.messageAddRedirectEntry' 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.--/Since: 1.10/--}-messageNewRedirect ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    a-    {- ^ /@src@/: The 'GI.Gst.Objects.Object.Object' whose property changed (may or may not be a 'GI.Gst.Objects.Element.Element') -}-    -> T.Text-    {- ^ /@location@/: location string for the new entry -}-    -> Maybe (Gst.TagList.TagList)-    {- ^ /@tagList@/: tag list for the new entry -}-    -> Maybe (Gst.Structure.Structure)-    {- ^ /@entryStruct@/: structure for the new entry -}-    -> m Message-    {- ^ __Returns:__ a newly allocated 'GI.Gst.Structs.Message.Message' -}-messageNewRedirect src location tagList entryStruct = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    location' <- textToCString location-    maybeTagList <- case tagList of-        Nothing -> return nullPtr-        Just jTagList -> do-            jTagList' <- B.ManagedPtr.disownBoxed jTagList-            return jTagList'-    maybeEntryStruct <- case entryStruct of-        Nothing -> return nullPtr-        Just jEntryStruct -> do-            jEntryStruct' <- B.ManagedPtr.disownBoxed jEntryStruct-            return jEntryStruct'-    result <- gst_message_new_redirect src' location' maybeTagList maybeEntryStruct-    checkUnexpectedReturnNULL "messageNewRedirect" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    whenJust tagList touchManagedPtr-    whenJust entryStruct touchManagedPtr-    freeMem location'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_request_state--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new requested state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_request_state" gst_message_new_request_state :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- state : TInterface (Name {namespace = "Gst", name = "State"})-    IO (Ptr Message)--{- |-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.--}-messageNewRequestState ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Enums.State-    {- ^ /@state@/: The new requested state -}-    -> m Message-    {- ^ __Returns:__ the new request state message.--MT safe. -}-messageNewRequestState src state = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    let state' = (fromIntegral . fromEnum) state-    result <- gst_message_new_request_state maybeSrc state'-    checkUnexpectedReturnNULL "messageNewRequestState" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_reset_time--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested running-time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_reset_time" gst_message_new_reset_time :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Word64 ->                               -- running_time : TBasicType TUInt64-    IO (Ptr Message)--{- |-This message is posted when the pipeline running-time should be reset to-/@runningTime@/, like after a flushing seek.--}-messageNewResetTime ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Word64-    {- ^ /@runningTime@/: the requested running-time -}-    -> m Message-    {- ^ __Returns:__ The new reset_time message.--MT safe. -}-messageNewResetTime src runningTime = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    result <- gst_message_new_reset_time maybeSrc runningTime-    checkUnexpectedReturnNULL "messageNewResetTime" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_segment_done--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The format of the position being done", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position of the segment being done", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_segment_done" gst_message_new_segment_done :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- position : TBasicType TInt64-    IO (Ptr Message)--{- |-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.--}-messageNewSegmentDone ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: The format of the position being done -}-    -> Int64-    {- ^ /@position@/: The position of the segment being done -}-    -> m Message-    {- ^ __Returns:__ the new segment done message.--MT safe. -}-messageNewSegmentDone src format position = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    let format' = (fromIntegral . fromEnum) format-    result <- gst_message_new_segment_done maybeSrc format' position-    checkUnexpectedReturnNULL "messageNewSegmentDone" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_segment_start--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The format of the position being played", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The position of the segment being played", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_segment_start" gst_message_new_segment_start :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- position : TBasicType TInt64-    IO (Ptr Message)--{- |-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.--}-messageNewSegmentStart ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: The format of the position being played -}-    -> Int64-    {- ^ /@position@/: The position of the segment being played -}-    -> m Message-    {- ^ __Returns:__ the new segment start message.--MT safe. -}-messageNewSegmentStart src format position = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    let format' = (fromIntegral . fromEnum) format-    result <- gst_message_new_segment_start maybeSrc format' position-    checkUnexpectedReturnNULL "messageNewSegmentStart" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_state_changed--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "oldstate", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the previous state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newstate", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new (current) state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pending", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pending (target) state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_state_changed" gst_message_new_state_changed :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- oldstate : TInterface (Name {namespace = "Gst", name = "State"})-    CUInt ->                                -- newstate : TInterface (Name {namespace = "Gst", name = "State"})-    CUInt ->                                -- pending : TInterface (Name {namespace = "Gst", name = "State"})-    IO (Ptr Message)--{- |-Create a state change message. This message is posted whenever an element-changed its state.--}-messageNewStateChanged ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Enums.State-    {- ^ /@oldstate@/: the previous state -}-    -> Gst.Enums.State-    {- ^ /@newstate@/: the new (current) state -}-    -> Gst.Enums.State-    {- ^ /@pending@/: the pending (target) state -}-    -> m Message-    {- ^ __Returns:__ the new state change message.--MT safe. -}-messageNewStateChanged src oldstate newstate pending = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    let oldstate' = (fromIntegral . fromEnum) oldstate-    let newstate' = (fromIntegral . fromEnum) newstate-    let pending' = (fromIntegral . fromEnum) pending-    result <- gst_message_new_state_changed maybeSrc oldstate' newstate' pending'-    checkUnexpectedReturnNULL "messageNewStateChanged" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_state_dirty--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_state_dirty" gst_message_new_state_dirty :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Message)--{- |-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.--}-messageNewStateDirty ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message -}-    -> m Message-    {- ^ __Returns:__ the new state dirty message.--MT safe. -}-messageNewStateDirty src = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    result <- gst_message_new_state_dirty maybeSrc-    checkUnexpectedReturnNULL "messageNewStateDirty" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_step_done--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of @amount", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "amount", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount of stepped data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the rate of the stepped amount", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flush", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "is this an flushing step", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "intermediate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "is this an intermediate step", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the duration of the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "eos", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the step caused EOS", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_step_done" gst_message_new_step_done :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- amount : TBasicType TUInt64-    CDouble ->                              -- rate : TBasicType TDouble-    CInt ->                                 -- flush : TBasicType TBoolean-    CInt ->                                 -- intermediate : TBasicType TBoolean-    Word64 ->                               -- duration : TBasicType TUInt64-    CInt ->                                 -- eos : TBasicType TBoolean-    IO (Ptr Message)--{- |-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@/.--}-messageNewStepDone ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    a-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of /@amount@/ -}-    -> Word64-    {- ^ /@amount@/: the amount of stepped data -}-    -> Double-    {- ^ /@rate@/: the rate of the stepped amount -}-    -> Bool-    {- ^ /@flush@/: is this an flushing step -}-    -> Bool-    {- ^ /@intermediate@/: is this an intermediate step -}-    -> Word64-    {- ^ /@duration@/: the duration of the data -}-    -> Bool-    {- ^ /@eos@/: the step caused EOS -}-    -> m Message-    {- ^ __Returns:__ the new step_done message.--MT safe. -}-messageNewStepDone src format amount rate flush intermediate duration eos = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let format' = (fromIntegral . fromEnum) format-    let rate' = realToFrac rate-    let flush' = (fromIntegral . fromEnum) flush-    let intermediate' = (fromIntegral . fromEnum) intermediate-    let eos' = (fromIntegral . fromEnum) eos-    result <- gst_message_new_step_done src' format' amount rate' flush' intermediate' duration eos'-    checkUnexpectedReturnNULL "messageNewStepDone" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_step_start--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if the step is active or queued", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of @amount", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "amount", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the amount of stepped data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the rate of the stepped amount", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flush", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "is this an flushing step", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "intermediate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "is this an intermediate step", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_step_start" gst_message_new_step_start :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CInt ->                                 -- active : TBasicType TBoolean-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- amount : TBasicType TUInt64-    CDouble ->                              -- rate : TBasicType TDouble-    CInt ->                                 -- flush : TBasicType TBoolean-    CInt ->                                 -- intermediate : TBasicType TBoolean-    IO (Ptr Message)--{- |-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.--}-messageNewStepStart ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    a-    {- ^ /@src@/: The object originating the message. -}-    -> Bool-    {- ^ /@active@/: if the step is active or queued -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of /@amount@/ -}-    -> Word64-    {- ^ /@amount@/: the amount of stepped data -}-    -> Double-    {- ^ /@rate@/: the rate of the stepped amount -}-    -> Bool-    {- ^ /@flush@/: is this an flushing step -}-    -> Bool-    {- ^ /@intermediate@/: is this an intermediate step -}-    -> m Message-    {- ^ __Returns:__ The new step_start message.--MT safe. -}-messageNewStepStart src active format amount rate flush intermediate = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let active' = (fromIntegral . fromEnum) active-    let format' = (fromIntegral . fromEnum) format-    let rate' = realToFrac rate-    let flush' = (fromIntegral . fromEnum) flush-    let intermediate' = (fromIntegral . fromEnum) intermediate-    result <- gst_message_new_step_start src' active' format' amount rate' flush' intermediate'-    checkUnexpectedReturnNULL "messageNewStepStart" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_stream_collection--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstObject that created the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstStreamCollection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_stream_collection" gst_message_new_stream_collection :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.StreamCollection.StreamCollection -> -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    IO (Ptr Message)--{- |-Creates a new stream-collection message. The message is used to announce new-'GI.Gst.Objects.StreamCollection.StreamCollection'--/Since: 1.10/--}-messageNewStreamCollection ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.StreamCollection.IsStreamCollection b) =>-    a-    {- ^ /@src@/: The 'GI.Gst.Objects.Object.Object' that created the message -}-    -> b-    {- ^ /@collection@/: The 'GI.Gst.Objects.StreamCollection.StreamCollection' -}-    -> m Message-    {- ^ __Returns:__ a newly allocated 'GI.Gst.Structs.Message.Message' -}-messageNewStreamCollection src collection = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    collection' <- unsafeManagedPtrCastPtr collection-    result <- gst_message_new_stream_collection src' collection'-    checkUnexpectedReturnNULL "messageNewStreamCollection" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    touchManagedPtr collection-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_stream_start--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_stream_start" gst_message_new_stream_start :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    IO (Ptr Message)--{- |-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.--}-messageNewStreamStart ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> m Message-    {- ^ __Returns:__ The new stream_start message.--MT safe. -}-messageNewStreamStart src = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    result <- gst_message_new_stream_start maybeSrc-    checkUnexpectedReturnNULL "messageNewStreamStart" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_stream_status--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "StreamStatusType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The stream status type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the owner element of @src.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_stream_status" gst_message_new_stream_status :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "StreamStatusType"})-    Ptr Gst.Element.Element ->              -- owner : TInterface (Name {namespace = "Gst", name = "Element"})-    IO (Ptr Message)--{- |-Create a new stream status message. This message is posted when a streaming-thread is created\/destroyed or when the state changed.--}-messageNewStreamStatus ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Element.IsElement b) =>-    a-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Enums.StreamStatusType-    {- ^ /@type@/: The stream status type. -}-    -> b-    {- ^ /@owner@/: the owner element of /@src@/. -}-    -> m Message-    {- ^ __Returns:__ the new stream status message.--MT safe. -}-messageNewStreamStatus src type_ owner = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let type_' = (fromIntegral . fromEnum) type_-    owner' <- unsafeManagedPtrCastPtr owner-    result <- gst_message_new_stream_status src' type_' owner'-    checkUnexpectedReturnNULL "messageNewStreamStatus" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    touchManagedPtr owner-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_streams_selected--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstObject that created the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstStreamCollection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_streams_selected" gst_message_new_streams_selected :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.StreamCollection.StreamCollection -> -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    IO (Ptr Message)--{- |-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 'GI.Gst.Objects.StreamCollection.StreamCollection' to which the various streams-belong to.--Users of 'GI.Gst.Structs.Message.messageNewStreamsSelected' can add the selected streams with-'GI.Gst.Structs.Message.messageStreamsSelectedAdd'.--/Since: 1.10/--}-messageNewStreamsSelected ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.StreamCollection.IsStreamCollection b) =>-    a-    {- ^ /@src@/: The 'GI.Gst.Objects.Object.Object' that created the message -}-    -> b-    {- ^ /@collection@/: The 'GI.Gst.Objects.StreamCollection.StreamCollection' -}-    -> m Message-    {- ^ __Returns:__ a newly allocated 'GI.Gst.Structs.Message.Message' -}-messageNewStreamsSelected src collection = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    collection' <- unsafeManagedPtrCastPtr collection-    result <- gst_message_new_streams_selected src' collection'-    checkUnexpectedReturnNULL "messageNewStreamsSelected" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    touchManagedPtr collection-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_structure_change--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "StructureChangeType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The change type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "owner", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The owner element of @src.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "busy", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether the structure change is busy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_structure_change" gst_message_new_structure_change :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "StructureChangeType"})-    Ptr Gst.Element.Element ->              -- owner : TInterface (Name {namespace = "Gst", name = "Element"})-    CInt ->                                 -- busy : TBasicType TBoolean-    IO (Ptr Message)--{- |-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.--}-messageNewStructureChange ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Element.IsElement b) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.Enums.StructureChangeType-    {- ^ /@type@/: The change type. -}-    -> b-    {- ^ /@owner@/: The owner element of /@src@/. -}-    -> Bool-    {- ^ /@busy@/: Whether the structure change is busy. -}-    -> m Message-    {- ^ __Returns:__ the new structure change message.--MT safe. -}-messageNewStructureChange src type_ owner busy = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    let type_' = (fromIntegral . fromEnum) type_-    owner' <- unsafeManagedPtrCastPtr owner-    let busy' = (fromIntegral . fromEnum) busy-    result <- gst_message_new_structure_change maybeSrc type_' owner' busy'-    checkUnexpectedReturnNULL "messageNewStructureChange" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    touchManagedPtr owner-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_tag--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag_list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag list for the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_tag" gst_message_new_tag :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.TagList.TagList ->              -- tag_list : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO (Ptr Message)--{- |-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.--}-messageNewTag ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> Gst.TagList.TagList-    {- ^ /@tagList@/: the tag list for the message. -}-    -> m Message-    {- ^ __Returns:__ the new tag message.--MT safe. -}-messageNewTag src tagList = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    tagList' <- B.ManagedPtr.disownBoxed tagList-    result <- gst_message_new_tag maybeSrc tagList'-    checkUnexpectedReturnNULL "messageNewTag" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    touchManagedPtr tagList-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_toc--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstToc structure for the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "updated", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether TOC was updated or not.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_toc" gst_message_new_toc :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Toc.Toc ->                      -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    CInt ->                                 -- updated : TBasicType TBoolean-    IO (Ptr Message)--{- |-Create a new TOC message. The message is posted by elements-that discovered or updated a TOC.--}-messageNewToc ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    a-    {- ^ /@src@/: the object originating the message. -}-    -> Gst.Toc.Toc-    {- ^ /@toc@/: 'GI.Gst.Structs.Toc.Toc' structure for the message. -}-    -> Bool-    {- ^ /@updated@/: whether TOC was updated or not. -}-    -> m Message-    {- ^ __Returns:__ a new TOC message.--MT safe. -}-messageNewToc src toc updated = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    toc' <- unsafeManagedPtrGetPtr toc-    let updated' = (fromIntegral . fromEnum) updated-    result <- gst_message_new_toc src' toc' updated'-    checkUnexpectedReturnNULL "messageNewToc" result-    result' <- (wrapBoxed Message) result-    touchManagedPtr src-    touchManagedPtr toc-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_warning--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GError for this message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A debugging string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_warning" gst_message_new_warning :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr GError ->                           -- error : TError-    CString ->                              -- debug : TBasicType TUTF8-    IO (Ptr Message)--{- |-Create a new warning message. The message will make copies of /@error@/ and-/@debug@/.--}-messageNewWarning ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> GError-    {- ^ /@error@/: The GError for this message. -}-    -> T.Text-    {- ^ /@debug@/: A debugging string. -}-    -> m Message-    {- ^ __Returns:__ the new warning message.--MT safe. -}-messageNewWarning src error_ debug = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    error_' <- unsafeManagedPtrGetPtr error_-    debug' <- textToCString debug-    result <- gst_message_new_warning maybeSrc error_' debug'-    checkUnexpectedReturnNULL "messageNewWarning" result-    result' <- (wrapBoxed Message) result-    whenJust src touchManagedPtr-    touchManagedPtr error_-    freeMem debug'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Message::new_warning_with_details--- method type : Constructor--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The object originating the message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GError for this message.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A debugging string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "details", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A GstStructure with details", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Message"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_new_warning_with_details" gst_message_new_warning_with_details :: -    Ptr Gst.Object.Object ->                -- src : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr GError ->                           -- error : TError-    CString ->                              -- debug : TBasicType TUTF8-    Ptr Gst.Structure.Structure ->          -- details : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Message)--{- |-Create a new warning message. The message will make copies of /@error@/ and-/@debug@/.--/Since: 1.10/--}-messageNewWarningWithDetails ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@src@/: The object originating the message. -}-    -> GError-    {- ^ /@error@/: The GError for this message. -}-    -> T.Text-    {- ^ /@debug@/: A debugging string. -}-    -> Maybe (Gst.Structure.Structure)-    {- ^ /@details@/: A GstStructure with details -}-    -> m (Maybe Message)-    {- ^ __Returns:__ the new warning message. -}-messageNewWarningWithDetails src error_ debug details = liftIO $ do-    maybeSrc <- case src of-        Nothing -> return nullPtr-        Just jSrc -> do-            jSrc' <- unsafeManagedPtrCastPtr jSrc-            return jSrc'-    error_' <- unsafeManagedPtrGetPtr error_-    debug' <- textToCString debug-    maybeDetails <- case details of-        Nothing -> return nullPtr-        Just jDetails -> do-            jDetails' <- B.ManagedPtr.disownBoxed jDetails-            return jDetails'-    result <- gst_message_new_warning_with_details maybeSrc error_' debug' maybeDetails-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Message) result'-        return result''-    whenJust src touchManagedPtr-    touchManagedPtr error_-    whenJust details touchManagedPtr-    freeMem debug'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Message::add_redirect_entry--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_REDIRECT", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location string for the new entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag_list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "tag list for the new entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "entry_struct", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "structure for the new entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_add_redirect_entry" gst_message_add_redirect_entry :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    CString ->                              -- location : TBasicType TUTF8-    Ptr Gst.TagList.TagList ->              -- tag_list : TInterface (Name {namespace = "Gst", name = "TagList"})-    Ptr Gst.Structure.Structure ->          -- entry_struct : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-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.--/Since: 1.10/--}-messageAddRedirectEntry ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeRedirect' -}-    -> T.Text-    {- ^ /@location@/: location string for the new entry -}-    -> Maybe (Gst.TagList.TagList)-    {- ^ /@tagList@/: tag list for the new entry -}-    -> Maybe (Gst.Structure.Structure)-    {- ^ /@entryStruct@/: structure for the new entry -}-    -> m ()-messageAddRedirectEntry message location tagList entryStruct = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    location' <- textToCString location-    maybeTagList <- case tagList of-        Nothing -> return nullPtr-        Just jTagList -> do-            jTagList' <- B.ManagedPtr.disownBoxed jTagList-            return jTagList'-    maybeEntryStruct <- case entryStruct of-        Nothing -> return nullPtr-        Just jEntryStruct -> do-            jEntryStruct' <- B.ManagedPtr.disownBoxed jEntryStruct-            return jEntryStruct'-    gst_message_add_redirect_entry message' location' maybeTagList maybeEntryStruct-    touchManagedPtr message-    whenJust tagList touchManagedPtr-    whenJust entryStruct touchManagedPtr-    freeMem location'-    return ()--#if ENABLE_OVERLOADING-data MessageAddRedirectEntryMethodInfo-instance (signature ~ (T.Text -> Maybe (Gst.TagList.TagList) -> Maybe (Gst.Structure.Structure) -> m ()), MonadIO m) => O.MethodInfo MessageAddRedirectEntryMethodInfo Message signature where-    overloadedMethod _ = messageAddRedirectEntry--#endif---- method Message::get_num_redirect_entries--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_REDIRECT", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_message_get_num_redirect_entries" gst_message_get_num_redirect_entries :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    IO Word64--{- |-/No description available in the introspection data./--/Since: 1.10/--}-messageGetNumRedirectEntries ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeRedirect' -}-    -> m Word64-    {- ^ __Returns:__ the number of entries stored in the message -}-messageGetNumRedirectEntries message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_message_get_num_redirect_entries message'-    touchManagedPtr message-    return result--#if ENABLE_OVERLOADING-data MessageGetNumRedirectEntriesMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo MessageGetNumRedirectEntriesMethodInfo Message signature where-    overloadedMethod _ = messageGetNumRedirectEntries--#endif---- method Message::get_seqnum--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstMessage.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "gst_message_get_seqnum" gst_message_get_seqnum :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    IO Word32--{- |-Retrieve the sequence number of a message.--Messages have ever-incrementing sequence numbers, which may also be set-explicitly via 'GI.Gst.Structs.Message.messageSetSeqnum'. 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.--}-messageGetSeqnum ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A 'GI.Gst.Structs.Message.Message'. -}-    -> m Word32-    {- ^ __Returns:__ The message\'s sequence number.--MT safe. -}-messageGetSeqnum message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_message_get_seqnum message'-    touchManagedPtr message-    return result--#if ENABLE_OVERLOADING-data MessageGetSeqnumMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo MessageGetSeqnumMethodInfo Message signature where-    overloadedMethod _ = messageGetSeqnum--#endif---- method Message::get_stream_status_object--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Value"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_get_stream_status_object" gst_message_get_stream_status_object :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    IO (Ptr GValue)--{- |-Extracts the object managing the streaming thread from /@message@/.--}-messageGetStreamStatusObject ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_STREAM_STATUS. -}-    -> m (Maybe GValue)-    {- ^ __Returns:__ 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. -}-messageGetStreamStatusObject message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_message_get_stream_status_object message'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed GValue) result'-        return result''-    touchManagedPtr message-    return maybeResult--#if ENABLE_OVERLOADING-data MessageGetStreamStatusObjectMethodInfo-instance (signature ~ (m (Maybe GValue)), MonadIO m) => O.MethodInfo MessageGetStreamStatusObjectMethodInfo Message signature where-    overloadedMethod _ = messageGetStreamStatusObject--#endif---- method Message::get_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstMessage.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_get_structure" gst_message_get_structure :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    IO (Ptr Gst.Structure.Structure)--{- |-Access the structure of the message.--}-messageGetStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: The 'GI.Gst.Structs.Message.Message'. -}-    -> m (Maybe Gst.Structure.Structure)-    {- ^ __Returns:__ 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. -}-messageGetStructure message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_message_get_structure message'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Structure.Structure) result'-        return result''-    touchManagedPtr message-    return maybeResult--#if ENABLE_OVERLOADING-data MessageGetStructureMethodInfo-instance (signature ~ (m (Maybe Gst.Structure.Structure)), MonadIO m) => O.MethodInfo MessageGetStructureMethodInfo Message signature where-    overloadedMethod _ = messageGetStructure--#endif---- method Message::has_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstMessage.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_message_has_name" gst_message_has_name :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    CString ->                              -- name : TBasicType TUTF8-    IO CInt--{- |-Checks if /@message@/ has the given /@name@/. This function is usually used to-check the name of a custom message.--}-messageHasName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: The 'GI.Gst.Structs.Message.Message'. -}-    -> T.Text-    {- ^ /@name@/: name to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@name@/ matches the name of the message structure. -}-messageHasName message name = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    name' <- textToCString name-    result <- gst_message_has_name message' name'-    let result' = (/= 0) result-    touchManagedPtr message-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-data MessageHasNameMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo MessageHasNameMethodInfo Message signature where-    overloadedMethod _ = messageHasName--#endif---- method Message::parse_async_done--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_ASYNC_DONE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the running_time or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_async_done" gst_message_parse_async_done :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr Word64 ->                           -- running_time : TBasicType TUInt64-    IO ()--{- |-Extract the running_time from the async_done message.--MT safe.--}-messageParseAsyncDone ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_ASYNC_DONE. -}-    -> m (Word64)-messageParseAsyncDone message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    runningTime <- allocMem :: IO (Ptr Word64)-    gst_message_parse_async_done message' runningTime-    runningTime' <- peek runningTime-    touchManagedPtr message-    freeMem runningTime-    return runningTime'--#if ENABLE_OVERLOADING-data MessageParseAsyncDoneMethodInfo-instance (signature ~ (m (Word64)), MonadIO m) => O.MethodInfo MessageParseAsyncDoneMethodInfo Message signature where-    overloadedMethod _ = messageParseAsyncDone--#endif---- method Message::parse_buffering--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_BUFFERING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "percent", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the percent.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_buffering" gst_message_parse_buffering :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr Int32 ->                            -- percent : TBasicType TInt-    IO ()--{- |-Extracts the buffering percent from the GstMessage. see also-'GI.Gst.Structs.Message.messageNewBuffering'.--MT safe.--}-messageParseBuffering ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_BUFFERING. -}-    -> m (Int32)-messageParseBuffering message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    percent <- allocMem :: IO (Ptr Int32)-    gst_message_parse_buffering message' percent-    percent' <- peek percent-    touchManagedPtr message-    freeMem percent-    return percent'--#if ENABLE_OVERLOADING-data MessageParseBufferingMethodInfo-instance (signature ~ (m (Int32)), MonadIO m) => O.MethodInfo MessageParseBufferingMethodInfo Message signature where-    overloadedMethod _ = messageParseBuffering--#endif---- method Message::parse_buffering_stats--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_BUFFERING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "BufferingMode"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a buffering mode, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "avg_in", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the average input rate, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "avg_out", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the average output rate, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "buffering_left", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "amount of buffering time left in\n    milliseconds, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_buffering_stats" gst_message_parse_buffering_stats :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- mode : TInterface (Name {namespace = "Gst", name = "BufferingMode"})-    Ptr Int32 ->                            -- avg_in : TBasicType TInt-    Ptr Int32 ->                            -- avg_out : TBasicType TInt-    Ptr Int64 ->                            -- buffering_left : TBasicType TInt64-    IO ()--{- |-Extracts the buffering stats values from /@message@/.--}-messageParseBufferingStats ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_BUFFERING. -}-    -> m ((Gst.Enums.BufferingMode, Int32, Int32, Int64))-messageParseBufferingStats message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    mode <- allocMem :: IO (Ptr CUInt)-    avgIn <- allocMem :: IO (Ptr Int32)-    avgOut <- allocMem :: IO (Ptr Int32)-    bufferingLeft <- allocMem :: IO (Ptr Int64)-    gst_message_parse_buffering_stats message' mode avgIn avgOut bufferingLeft-    mode' <- peek mode-    let mode'' = (toEnum . fromIntegral) mode'-    avgIn' <- peek avgIn-    avgOut' <- peek avgOut-    bufferingLeft' <- peek bufferingLeft-    touchManagedPtr message-    freeMem mode-    freeMem avgIn-    freeMem avgOut-    freeMem bufferingLeft-    return (mode'', avgIn', avgOut', bufferingLeft')--#if ENABLE_OVERLOADING-data MessageParseBufferingStatsMethodInfo-instance (signature ~ (m ((Gst.Enums.BufferingMode, Int32, Int32, Int64))), MonadIO m) => O.MethodInfo MessageParseBufferingStatsMethodInfo Message signature where-    overloadedMethod _ = messageParseBufferingStats--#endif---- method Message::parse_clock_lost--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_CLOCK_LOST.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the lost clock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_clock_lost" gst_message_parse_clock_lost :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Clock.Clock) ->            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO ()--{- |-Extracts the lost clock from the GstMessage.-The clock object returned remains valid until the message is freed.--MT safe.--}-messageParseClockLost ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_CLOCK_LOST. -}-    -> m (Gst.Clock.Clock)-messageParseClockLost message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    clock <- allocMem :: IO (Ptr (Ptr Gst.Clock.Clock))-    gst_message_parse_clock_lost message' clock-    clock' <- peek clock-    clock'' <- (newObject Gst.Clock.Clock) clock'-    touchManagedPtr message-    freeMem clock-    return clock''--#if ENABLE_OVERLOADING-data MessageParseClockLostMethodInfo-instance (signature ~ (m (Gst.Clock.Clock)), MonadIO m) => O.MethodInfo MessageParseClockLostMethodInfo Message signature where-    overloadedMethod _ = messageParseClockLost--#endif---- method Message::parse_clock_provide--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_CLOCK_PROVIDE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to  hold a clock\n    object, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ready", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the ready flag, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_clock_provide" gst_message_parse_clock_provide :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Clock.Clock) ->            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    Ptr CInt ->                             -- ready : TBasicType TBoolean-    IO ()--{- |-Extracts the clock and ready flag from the GstMessage.-The clock object returned remains valid until the message is freed.--MT safe.--}-messageParseClockProvide ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_CLOCK_PROVIDE. -}-    -> m ((Gst.Clock.Clock, Bool))-messageParseClockProvide message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    clock <- allocMem :: IO (Ptr (Ptr Gst.Clock.Clock))-    ready <- allocMem :: IO (Ptr CInt)-    gst_message_parse_clock_provide message' clock ready-    clock' <- peek clock-    clock'' <- (newObject Gst.Clock.Clock) clock'-    ready' <- peek ready-    let ready'' = (/= 0) ready'-    touchManagedPtr message-    freeMem clock-    freeMem ready-    return (clock'', ready'')--#if ENABLE_OVERLOADING-data MessageParseClockProvideMethodInfo-instance (signature ~ (m ((Gst.Clock.Clock, Bool))), MonadIO m) => O.MethodInfo MessageParseClockProvideMethodInfo Message signature where-    overloadedMethod _ = messageParseClockProvide--#endif---- method Message::parse_context_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_MESSAGE_NEED_CONTEXT type message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_type", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context type, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_context_type" gst_message_parse_context_type :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CString ->                          -- context_type : TBasicType TUTF8-    IO CInt--{- |-Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message.--/Since: 1.2/--}-messageParseContextType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a GST_MESSAGE_NEED_CONTEXT type message -}-    -> m ((Bool, T.Text))-    {- ^ __Returns:__ a 'Bool' indicating if the parsing succeeded. -}-messageParseContextType message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    contextType <- allocMem :: IO (Ptr CString)-    result <- gst_message_parse_context_type message' contextType-    let result' = (/= 0) result-    contextType' <- peek contextType-    contextType'' <- cstringToText contextType'-    touchManagedPtr message-    freeMem contextType-    return (result', contextType'')--#if ENABLE_OVERLOADING-data MessageParseContextTypeMethodInfo-instance (signature ~ (m ((Bool, T.Text))), MonadIO m) => O.MethodInfo MessageParseContextTypeMethodInfo Message signature where-    overloadedMethod _ = messageParseContextType--#endif---- method Message::parse_device_added--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_DEVICE_ADDED", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location where to store a\n pointer to the new #GstDevice, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_device_added" gst_message_parse_device_added :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Device.Device) ->          -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO ()--{- |-Parses a device-added message. The device-added message is produced by-'GI.Gst.Objects.DeviceProvider.DeviceProvider' or a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor'. It announces the appearance-of monitored devices.--/Since: 1.4/--}-messageParseDeviceAdded ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeDeviceAdded' -}-    -> m (Gst.Device.Device)-messageParseDeviceAdded message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    device <- allocMem :: IO (Ptr (Ptr Gst.Device.Device))-    gst_message_parse_device_added message' device-    device' <- peek device-    device'' <- (wrapObject Gst.Device.Device) device'-    touchManagedPtr message-    freeMem device-    return device''--#if ENABLE_OVERLOADING-data MessageParseDeviceAddedMethodInfo-instance (signature ~ (m (Gst.Device.Device)), MonadIO m) => O.MethodInfo MessageParseDeviceAddedMethodInfo Message signature where-    overloadedMethod _ = messageParseDeviceAdded--#endif---- method Message::parse_device_changed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_DEVICE_CHANGED", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location where to store a\n pointer to the updated version of the #GstDevice, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "changed_device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location where to store a\n pointer to the old version of the #GstDevice, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_device_changed" gst_message_parse_device_changed :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Device.Device) ->          -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    Ptr (Ptr Gst.Device.Device) ->          -- changed_device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO ()--{- |-Parses a device-changed message. The device-changed message is produced by-'GI.Gst.Objects.DeviceProvider.DeviceProvider' or a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor'. It announces the-disappearance of monitored devices. * It announce that a device properties has-changed and /@device@/ represents the new modified version of /@changedDevice@/.--/Since: 1.16/--}-messageParseDeviceChanged ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeDeviceChanged' -}-    -> m ((Gst.Device.Device, Gst.Device.Device))-messageParseDeviceChanged message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    device <- allocMem :: IO (Ptr (Ptr Gst.Device.Device))-    changedDevice <- allocMem :: IO (Ptr (Ptr Gst.Device.Device))-    gst_message_parse_device_changed message' device changedDevice-    device' <- peek device-    device'' <- (wrapObject Gst.Device.Device) device'-    changedDevice' <- peek changedDevice-    changedDevice'' <- (wrapObject Gst.Device.Device) changedDevice'-    touchManagedPtr message-    freeMem device-    freeMem changedDevice-    return (device'', changedDevice'')--#if ENABLE_OVERLOADING-data MessageParseDeviceChangedMethodInfo-instance (signature ~ (m ((Gst.Device.Device, Gst.Device.Device))), MonadIO m) => O.MethodInfo MessageParseDeviceChangedMethodInfo Message signature where-    overloadedMethod _ = messageParseDeviceChanged--#endif---- method Message::parse_device_removed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_DEVICE_REMOVED", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface (Name {namespace = "Gst", name = "Device"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location where to store a\n pointer to the removed #GstDevice, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_device_removed" gst_message_parse_device_removed :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Device.Device) ->          -- device : TInterface (Name {namespace = "Gst", name = "Device"})-    IO ()--{- |-Parses a device-removed message. The device-removed message is produced by-'GI.Gst.Objects.DeviceProvider.DeviceProvider' or a 'GI.Gst.Objects.DeviceMonitor.DeviceMonitor'. It announces the-disappearance of monitored devices.--/Since: 1.4/--}-messageParseDeviceRemoved ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeDeviceRemoved' -}-    -> m (Gst.Device.Device)-messageParseDeviceRemoved message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    device <- allocMem :: IO (Ptr (Ptr Gst.Device.Device))-    gst_message_parse_device_removed message' device-    device' <- peek device-    device'' <- (wrapObject Gst.Device.Device) device'-    touchManagedPtr message-    freeMem device-    return device''--#if ENABLE_OVERLOADING-data MessageParseDeviceRemovedMethodInfo-instance (signature ~ (m (Gst.Device.Device)), MonadIO m) => O.MethodInfo MessageParseDeviceRemovedMethodInfo Message signature where-    overloadedMethod _ = messageParseDeviceRemoved--#endif---- method Message::parse_error--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_ERROR.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gerror", argType = TError, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the GError", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the debug message,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_error" gst_message_parse_error :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr GError) ->                     -- gerror : TError-    Ptr CString ->                          -- debug : TBasicType TUTF8-    IO ()--{- |-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:--=== /C code/->->  ...->  switch (GST_MESSAGE_TYPE (msg)) {->    case GST_MESSAGE_ERROR: {->      GError *err = NULL;->      gchar *dbg_info = NULL;->->      gst_message_parse_error (msg, &amp;err, &amp;dbg_info);->      g_printerr ("ERROR from element %s: %s\n",->          GST_OBJECT_NAME (msg->src), err->message);->      g_printerr ("Debugging info: %s\n", (dbg_info) ? dbg_info : "none");->      g_error_free (err);->      g_free (dbg_info);->      break;->    }->    ...->  }->  ...---MT safe.--}-messageParseError ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_ERROR. -}-    -> m ((GError, T.Text))-messageParseError message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    gerror <- allocMem :: IO (Ptr (Ptr GError))-    debug <- allocMem :: IO (Ptr CString)-    gst_message_parse_error message' gerror debug-    gerror' <- peek gerror-    gerror'' <- (wrapBoxed GError) gerror'-    debug' <- peek debug-    debug'' <- cstringToText debug'-    freeMem debug'-    touchManagedPtr message-    freeMem gerror-    freeMem debug-    return (gerror'', debug'')--#if ENABLE_OVERLOADING-data MessageParseErrorMethodInfo-instance (signature ~ (m ((GError, T.Text))), MonadIO m) => O.MethodInfo MessageParseErrorMethodInfo Message signature where-    overloadedMethod _ = messageParseError--#endif---- method Message::parse_error_details--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The message object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the returned details", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_error_details" gst_message_parse_error_details :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Structure.Structure) ->    -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Returns the optional details structure, may be NULL if none.-The returned structure must not be freed.--/Since: 1.10/--}-messageParseErrorDetails ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: The message object -}-    -> m (Gst.Structure.Structure)-messageParseErrorDetails message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    structure <- allocMem :: IO (Ptr (Ptr Gst.Structure.Structure))-    gst_message_parse_error_details message' structure-    structure' <- peek structure-    structure'' <- (newBoxed Gst.Structure.Structure) structure'-    touchManagedPtr message-    freeMem structure-    return structure''--#if ENABLE_OVERLOADING-data MessageParseErrorDetailsMethodInfo-instance (signature ~ (m (Gst.Structure.Structure)), MonadIO m) => O.MethodInfo MessageParseErrorDetailsMethodInfo Message signature where-    overloadedMethod _ = messageParseErrorDetails--#endif---- method Message::parse_group_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_STREAM_START.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_id", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the group id or\n     %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_group_id" gst_message_parse_group_id :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr Word32 ->                           -- group_id : TBasicType TUInt-    IO CInt--{- |-Extract the group from the STREAM_START message.--/Since: 1.2/--}-messageParseGroupId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_STREAM_START. -}-    -> m ((Bool, Word32))-    {- ^ __Returns:__ 'True' if the message had a group id set, 'False' otherwise--MT safe. -}-messageParseGroupId message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    groupId <- allocMem :: IO (Ptr Word32)-    result <- gst_message_parse_group_id message' groupId-    let result' = (/= 0) result-    groupId' <- peek groupId-    touchManagedPtr message-    freeMem groupId-    return (result', groupId')--#if ENABLE_OVERLOADING-data MessageParseGroupIdMethodInfo-instance (signature ~ (m ((Bool, Word32))), MonadIO m) => O.MethodInfo MessageParseGroupIdMethodInfo Message signature where-    overloadedMethod _ = messageParseGroupId--#endif---- method Message::parse_have_context--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_HAVE_CONTEXT.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the\n     context or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_have_context" gst_message_parse_have_context :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Context.Context) ->        -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    IO ()--{- |-Extract the context from the HAVE_CONTEXT message.--MT safe.--/Since: 1.2/--}-messageParseHaveContext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_HAVE_CONTEXT. -}-    -> m (Gst.Context.Context)-messageParseHaveContext message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    context <- allocMem :: IO (Ptr (Ptr Gst.Context.Context))-    gst_message_parse_have_context message' context-    context' <- peek context-    context'' <- (wrapBoxed Gst.Context.Context) context'-    touchManagedPtr message-    freeMem context-    return context''--#if ENABLE_OVERLOADING-data MessageParseHaveContextMethodInfo-instance (signature ~ (m (Gst.Context.Context)), MonadIO m) => O.MethodInfo MessageParseHaveContextMethodInfo Message signature where-    overloadedMethod _ = messageParseHaveContext--#endif---- method Message::parse_info--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_INFO.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gerror", argType = TError, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the GError", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the debug message,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_info" gst_message_parse_info :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr GError) ->                     -- gerror : TError-    Ptr CString ->                          -- debug : TBasicType TUTF8-    IO ()--{- |-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.--}-messageParseInfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_INFO. -}-    -> m ((GError, T.Text))-messageParseInfo message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    gerror <- allocMem :: IO (Ptr (Ptr GError))-    debug <- allocMem :: IO (Ptr CString)-    gst_message_parse_info message' gerror debug-    gerror' <- peek gerror-    gerror'' <- (wrapBoxed GError) gerror'-    debug' <- peek debug-    debug'' <- cstringToText debug'-    freeMem debug'-    touchManagedPtr message-    freeMem gerror-    freeMem debug-    return (gerror'', debug'')--#if ENABLE_OVERLOADING-data MessageParseInfoMethodInfo-instance (signature ~ (m ((GError, T.Text))), MonadIO m) => O.MethodInfo MessageParseInfoMethodInfo Message signature where-    overloadedMethod _ = messageParseInfo--#endif---- method Message::parse_info_details--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The message object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the returned details structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_info_details" gst_message_parse_info_details :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Structure.Structure) ->    -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Returns the optional details structure, may be NULL if none-The returned structure must not be freed.--/Since: 1.10/--}-messageParseInfoDetails ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: The message object -}-    -> m (Gst.Structure.Structure)-messageParseInfoDetails message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    structure <- allocMem :: IO (Ptr (Ptr Gst.Structure.Structure))-    gst_message_parse_info_details message' structure-    structure' <- peek structure-    structure'' <- (newBoxed Gst.Structure.Structure) structure'-    touchManagedPtr message-    freeMem structure-    return structure''--#if ENABLE_OVERLOADING-data MessageParseInfoDetailsMethodInfo-instance (signature ~ (m (Gst.Structure.Structure)), MonadIO m) => O.MethodInfo MessageParseInfoDetailsMethodInfo Message signature where-    overloadedMethod _ = messageParseInfoDetails--#endif---- method Message::parse_new_clock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_NEW_CLOCK.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clock", argType = TInterface (Name {namespace = "Gst", name = "Clock"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold the selected\n    new clock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_new_clock" gst_message_parse_new_clock :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Clock.Clock) ->            -- clock : TInterface (Name {namespace = "Gst", name = "Clock"})-    IO ()--{- |-Extracts the new clock from the GstMessage.-The clock object returned remains valid until the message is freed.--MT safe.--}-messageParseNewClock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_NEW_CLOCK. -}-    -> m (Gst.Clock.Clock)-messageParseNewClock message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    clock <- allocMem :: IO (Ptr (Ptr Gst.Clock.Clock))-    gst_message_parse_new_clock message' clock-    clock' <- peek clock-    clock'' <- (newObject Gst.Clock.Clock) clock'-    touchManagedPtr message-    freeMem clock-    return clock''--#if ENABLE_OVERLOADING-data MessageParseNewClockMethodInfo-instance (signature ~ (m (Gst.Clock.Clock)), MonadIO m) => O.MethodInfo MessageParseNewClockMethodInfo Message signature where-    overloadedMethod _ = messageParseNewClock--#endif---- method Message::parse_progress--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_PROGRESS.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "ProgressType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "code", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the code", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_progress" gst_message_parse_progress :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- type : TInterface (Name {namespace = "Gst", name = "ProgressType"})-    Ptr CString ->                          -- code : TBasicType TUTF8-    Ptr CString ->                          -- text : TBasicType TUTF8-    IO ()--{- |-Parses the progress /@type@/, /@code@/ and /@text@/.--}-messageParseProgress ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_PROGRESS. -}-    -> m ((Gst.Enums.ProgressType, T.Text, T.Text))-messageParseProgress message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    type_ <- allocMem :: IO (Ptr CUInt)-    code <- allocMem :: IO (Ptr CString)-    text <- allocMem :: IO (Ptr CString)-    gst_message_parse_progress message' type_ code text-    type_' <- peek type_-    let type_'' = (toEnum . fromIntegral) type_'-    code' <- peek code-    code'' <- cstringToText code'-    freeMem code'-    text' <- peek text-    text'' <- cstringToText text'-    freeMem text'-    touchManagedPtr message-    freeMem type_-    freeMem code-    freeMem text-    return (type_'', code'', text'')--#if ENABLE_OVERLOADING-data MessageParseProgressMethodInfo-instance (signature ~ (m ((Gst.Enums.ProgressType, T.Text, T.Text))), MonadIO m) => O.MethodInfo MessageParseProgressMethodInfo Message signature where-    overloadedMethod _ = messageParseProgress--#endif---- method Message::parse_property_notify--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_PROPERTY_NOTIFY", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location where to store a\n    pointer to the object whose property got changed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for\n    the name of the property that got changed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "property_value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for\n    the new value of the property that got changed, or %NULL. This will\n    only be set if the property notify watch was told to include the value\n    when it was set up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_property_notify" gst_message_parse_property_notify :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Object.Object) ->          -- object : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr CString ->                          -- property_name : TBasicType TUTF8-    Ptr (Ptr GValue) ->                     -- property_value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-Parses a property-notify message. These will be posted on the bus only-when set up with 'GI.Gst.Objects.Element.elementAddPropertyNotifyWatch' or-'GI.Gst.Objects.Element.elementAddPropertyDeepNotifyWatch'.--/Since: 1.10/--}-messageParsePropertyNotify ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypePropertyNotify' -}-    -> m ((Gst.Object.Object, T.Text, GValue))-messageParsePropertyNotify message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    object <- allocMem :: IO (Ptr (Ptr Gst.Object.Object))-    propertyName <- allocMem :: IO (Ptr CString)-    propertyValue <- allocMem :: IO (Ptr (Ptr GValue))-    gst_message_parse_property_notify message' object propertyName propertyValue-    object' <- peek object-    object'' <- (newObject Gst.Object.Object) object'-    propertyName' <- peek propertyName-    propertyName'' <- cstringToText propertyName'-    propertyValue' <- peek propertyValue-    propertyValue'' <- (newBoxed GValue) propertyValue'-    touchManagedPtr message-    freeMem object-    freeMem propertyName-    freeMem propertyValue-    return (object'', propertyName'', propertyValue'')--#if ENABLE_OVERLOADING-data MessageParsePropertyNotifyMethodInfo-instance (signature ~ (m ((Gst.Object.Object, T.Text, GValue))), MonadIO m) => O.MethodInfo MessageParsePropertyNotifyMethodInfo Message signature where-    overloadedMethod _ = messageParsePropertyNotify--#endif---- method Message::parse_qos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_QOS.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "live", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if the message was generated by a live element", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the running time of the buffer that\n    generated the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stream_time", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stream time of the buffer that\n    generated the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "timestamp", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timestamps of the buffer that\n    generated the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "duration", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the duration of the buffer that\n    generated the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_qos" gst_message_parse_qos :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CInt ->                             -- live : TBasicType TBoolean-    Ptr Word64 ->                           -- running_time : TBasicType TUInt64-    Ptr Word64 ->                           -- stream_time : TBasicType TUInt64-    Ptr Word64 ->                           -- timestamp : TBasicType TUInt64-    Ptr Word64 ->                           -- duration : TBasicType TUInt64-    IO ()--{- |-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.--}-messageParseQos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_QOS. -}-    -> m ((Bool, Word64, Word64, Word64, Word64))-messageParseQos message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    live <- allocMem :: IO (Ptr CInt)-    runningTime <- allocMem :: IO (Ptr Word64)-    streamTime <- allocMem :: IO (Ptr Word64)-    timestamp <- allocMem :: IO (Ptr Word64)-    duration <- allocMem :: IO (Ptr Word64)-    gst_message_parse_qos message' live runningTime streamTime timestamp duration-    live' <- peek live-    let live'' = (/= 0) live'-    runningTime' <- peek runningTime-    streamTime' <- peek streamTime-    timestamp' <- peek timestamp-    duration' <- peek duration-    touchManagedPtr message-    freeMem live-    freeMem runningTime-    freeMem streamTime-    freeMem timestamp-    freeMem duration-    return (live'', runningTime', streamTime', timestamp', duration')--#if ENABLE_OVERLOADING-data MessageParseQosMethodInfo-instance (signature ~ (m ((Bool, Word64, Word64, Word64, Word64))), MonadIO m) => O.MethodInfo MessageParseQosMethodInfo Message signature where-    overloadedMethod _ = messageParseQos--#endif---- method Message::parse_qos_stats--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_QOS.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Units of the 'processed' and 'dropped' fields.\n    Video sinks and video filters will use GST_FORMAT_BUFFERS (frames).\n    Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT\n    (samples).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "processed", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Total number of units correctly processed\n    since the last state change to READY or a flushing operation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "dropped", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Total number of units dropped since the last\n    state change to READY or a flushing operation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_qos_stats" gst_message_parse_qos_stats :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Word64 ->                           -- processed : TBasicType TUInt64-    Ptr Word64 ->                           -- dropped : TBasicType TUInt64-    IO ()--{- |-Extract the QoS stats representing the history of the current continuous-pipeline playback period.--When /@format@/ is /@gSTFORMATUNDEFINED@/ both /@dropped@/ and /@processed@/ are-invalid. Values of -1 for either /@processed@/ or /@dropped@/ mean unknown values.--MT safe.--}-messageParseQosStats ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_QOS. -}-    -> m ((Gst.Enums.Format, Word64, Word64))-messageParseQosStats message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    format <- allocMem :: IO (Ptr CUInt)-    processed <- allocMem :: IO (Ptr Word64)-    dropped <- allocMem :: IO (Ptr Word64)-    gst_message_parse_qos_stats message' format processed dropped-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    processed' <- peek processed-    dropped' <- peek dropped-    touchManagedPtr message-    freeMem format-    freeMem processed-    freeMem dropped-    return (format'', processed', dropped')--#if ENABLE_OVERLOADING-data MessageParseQosStatsMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Word64, Word64))), MonadIO m) => O.MethodInfo MessageParseQosStatsMethodInfo Message signature where-    overloadedMethod _ = messageParseQosStats--#endif---- method Message::parse_qos_values--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_QOS.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "jitter", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The difference of the running-time against\n    the deadline.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "proportion", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Long term prediction of the ideal rate\n    relative to normal rate to get optimal quality.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "quality", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An element dependent integer value that\n    specifies the current quality level of the element. The default\n    maximum quality is 1000000.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_qos_values" gst_message_parse_qos_values :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr Int64 ->                            -- jitter : TBasicType TInt64-    Ptr CDouble ->                          -- proportion : TBasicType TDouble-    Ptr Int32 ->                            -- quality : TBasicType TInt-    IO ()--{- |-Extract the QoS values that have been calculated\/analysed from the QoS data--MT safe.--}-messageParseQosValues ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_QOS. -}-    -> m ((Int64, Double, Int32))-messageParseQosValues message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    jitter <- allocMem :: IO (Ptr Int64)-    proportion <- allocMem :: IO (Ptr CDouble)-    quality <- allocMem :: IO (Ptr Int32)-    gst_message_parse_qos_values message' jitter proportion quality-    jitter' <- peek jitter-    proportion' <- peek proportion-    let proportion'' = realToFrac proportion'-    quality' <- peek quality-    touchManagedPtr message-    freeMem jitter-    freeMem proportion-    freeMem quality-    return (jitter', proportion'', quality')--#if ENABLE_OVERLOADING-data MessageParseQosValuesMethodInfo-instance (signature ~ (m ((Int64, Double, Int32))), MonadIO m) => O.MethodInfo MessageParseQosValuesMethodInfo Message signature where-    overloadedMethod _ = messageParseQosValues--#endif---- method Message::parse_redirect_entry--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_REDIRECT", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "entry_index", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of the entry to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for\n    the pointer to the entry's location string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag_list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for\n    the pointer to the entry's tag list, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "entry_struct", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location\n    for the pointer to the entry's structure, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_redirect_entry" gst_message_parse_redirect_entry :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Word64 ->                               -- entry_index : TBasicType TUInt64-    Ptr CString ->                          -- location : TBasicType TUTF8-    Ptr (Ptr Gst.TagList.TagList) ->        -- tag_list : TInterface (Name {namespace = "Gst", name = "TagList"})-    Ptr (Ptr Gst.Structure.Structure) ->    -- entry_struct : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Parses the location and\/or structure from the entry with the given index.-The index must be between 0 and 'GI.Gst.Structs.Message.messageGetNumRedirectEntries' - 1.-Returned pointers are valid for as long as this message exists.--/Since: 1.10/--}-messageParseRedirectEntry ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeRedirect' -}-    -> Word64-    {- ^ /@entryIndex@/: index of the entry to parse -}-    -> m ((T.Text, Gst.TagList.TagList, Gst.Structure.Structure))-messageParseRedirectEntry message entryIndex = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    location <- allocMem :: IO (Ptr CString)-    tagList <- allocMem :: IO (Ptr (Ptr Gst.TagList.TagList))-    entryStruct <- allocMem :: IO (Ptr (Ptr Gst.Structure.Structure))-    gst_message_parse_redirect_entry message' entryIndex location tagList entryStruct-    location' <- peek location-    location'' <- cstringToText location'-    tagList' <- peek tagList-    tagList'' <- (newBoxed Gst.TagList.TagList) tagList'-    entryStruct' <- peek entryStruct-    entryStruct'' <- (newBoxed Gst.Structure.Structure) entryStruct'-    touchManagedPtr message-    freeMem location-    freeMem tagList-    freeMem entryStruct-    return (location'', tagList'', entryStruct'')--#if ENABLE_OVERLOADING-data MessageParseRedirectEntryMethodInfo-instance (signature ~ (Word64 -> m ((T.Text, Gst.TagList.TagList, Gst.Structure.Structure))), MonadIO m) => O.MethodInfo MessageParseRedirectEntryMethodInfo Message signature where-    overloadedMethod _ = messageParseRedirectEntry--#endif---- method Message::parse_request_state--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_REQUEST_STATE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "state", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the requested state or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_request_state" gst_message_parse_request_state :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- state : TInterface (Name {namespace = "Gst", name = "State"})-    IO ()--{- |-Extract the requested state from the request_state message.--MT safe.--}-messageParseRequestState ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_REQUEST_STATE. -}-    -> m (Gst.Enums.State)-messageParseRequestState message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    state <- allocMem :: IO (Ptr CUInt)-    gst_message_parse_request_state message' state-    state' <- peek state-    let state'' = (toEnum . fromIntegral) state'-    touchManagedPtr message-    freeMem state-    return state''--#if ENABLE_OVERLOADING-data MessageParseRequestStateMethodInfo-instance (signature ~ (m (Gst.Enums.State)), MonadIO m) => O.MethodInfo MessageParseRequestStateMethodInfo Message signature where-    overloadedMethod _ = messageParseRequestState--#endif---- method Message::parse_reset_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_RESET_TIME.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the running_time or\n     %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_reset_time" gst_message_parse_reset_time :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr Word64 ->                           -- running_time : TBasicType TUInt64-    IO ()--{- |-Extract the running-time from the RESET_TIME message.--MT safe.--}-messageParseResetTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_RESET_TIME. -}-    -> m (Word64)-messageParseResetTime message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    runningTime <- allocMem :: IO (Ptr Word64)-    gst_message_parse_reset_time message' runningTime-    runningTime' <- peek runningTime-    touchManagedPtr message-    freeMem runningTime-    return runningTime'--#if ENABLE_OVERLOADING-data MessageParseResetTimeMethodInfo-instance (signature ~ (m (Word64)), MonadIO m) => O.MethodInfo MessageParseResetTimeMethodInfo Message signature where-    overloadedMethod _ = messageParseResetTime--#endif---- method Message::parse_segment_done--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_SEGMENT_DONE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the format, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "position", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_segment_done" gst_message_parse_segment_done :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- position : TBasicType TInt64-    IO ()--{- |-Extracts the position and format from the segment done message.--MT safe.--}-messageParseSegmentDone ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_SEGMENT_DONE. -}-    -> m ((Gst.Enums.Format, Int64))-messageParseSegmentDone message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    format <- allocMem :: IO (Ptr CUInt)-    position <- allocMem :: IO (Ptr Int64)-    gst_message_parse_segment_done message' format position-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    position' <- peek position-    touchManagedPtr message-    freeMem format-    freeMem position-    return (format'', position')--#if ENABLE_OVERLOADING-data MessageParseSegmentDoneMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Int64))), MonadIO m) => O.MethodInfo MessageParseSegmentDoneMethodInfo Message signature where-    overloadedMethod _ = messageParseSegmentDone--#endif---- method Message::parse_segment_start--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_SEGMENT_START.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the format, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "position", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result location for the position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_segment_start" gst_message_parse_segment_start :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- position : TBasicType TInt64-    IO ()--{- |-Extracts the position and format from the segment start message.--MT safe.--}-messageParseSegmentStart ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_SEGMENT_START. -}-    -> m ((Gst.Enums.Format, Int64))-messageParseSegmentStart message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    format <- allocMem :: IO (Ptr CUInt)-    position <- allocMem :: IO (Ptr Int64)-    gst_message_parse_segment_start message' format position-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    position' <- peek position-    touchManagedPtr message-    freeMem format-    freeMem position-    return (format'', position')--#if ENABLE_OVERLOADING-data MessageParseSegmentStartMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Int64))), MonadIO m) => O.MethodInfo MessageParseSegmentStartMethodInfo Message signature where-    overloadedMethod _ = messageParseSegmentStart--#endif---- method Message::parse_state_changed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GstMessage of type GST_MESSAGE_STATE_CHANGED", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "oldstate", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the previous state, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "newstate", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new (current) state, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "pending", argType = TInterface (Name {namespace = "Gst", name = "State"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pending (target) state, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_state_changed" gst_message_parse_state_changed :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- oldstate : TInterface (Name {namespace = "Gst", name = "State"})-    Ptr CUInt ->                            -- newstate : TInterface (Name {namespace = "Gst", name = "State"})-    Ptr CUInt ->                            -- pending : TInterface (Name {namespace = "Gst", name = "State"})-    IO ()--{- |-Extracts the old and new states from the GstMessage.--Typical usage of this function might be:--=== /C code/->->  ...->  switch (GST_MESSAGE_TYPE (msg)) {->    case GST_MESSAGE_STATE_CHANGED: {->      GstState old_state, new_state;->->      gst_message_parse_state_changed (msg, &amp;old_state, &amp;new_state, NULL);->      g_print ("Element %s changed state from %s to %s.\n",->          GST_OBJECT_NAME (msg->src),->          gst_element_state_get_name (old_state),->          gst_element_state_get_name (new_state));->      break;->    }->    ...->  }->  ...---MT safe.--}-messageParseStateChanged ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_STATE_CHANGED -}-    -> m ((Gst.Enums.State, Gst.Enums.State, Gst.Enums.State))-messageParseStateChanged message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    oldstate <- allocMem :: IO (Ptr CUInt)-    newstate <- allocMem :: IO (Ptr CUInt)-    pending <- allocMem :: IO (Ptr CUInt)-    gst_message_parse_state_changed message' oldstate newstate pending-    oldstate' <- peek oldstate-    let oldstate'' = (toEnum . fromIntegral) oldstate'-    newstate' <- peek newstate-    let newstate'' = (toEnum . fromIntegral) newstate'-    pending' <- peek pending-    let pending'' = (toEnum . fromIntegral) pending'-    touchManagedPtr message-    freeMem oldstate-    freeMem newstate-    freeMem pending-    return (oldstate'', newstate'', pending'')--#if ENABLE_OVERLOADING-data MessageParseStateChangedMethodInfo-instance (signature ~ (m ((Gst.Enums.State, Gst.Enums.State, Gst.Enums.State))), MonadIO m) => O.MethodInfo MessageParseStateChangedMethodInfo Message signature where-    overloadedMethod _ = messageParseStateChanged--#endif---- method Message::parse_step_done--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_STEP_DONE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "amount", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the amount", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flush", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the flush flag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "intermediate", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the intermediate flag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "duration", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the duration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "eos", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the EOS flag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_step_done" gst_message_parse_step_done :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Word64 ->                           -- amount : TBasicType TUInt64-    Ptr CDouble ->                          -- rate : TBasicType TDouble-    Ptr CInt ->                             -- flush : TBasicType TBoolean-    Ptr CInt ->                             -- intermediate : TBasicType TBoolean-    Ptr Word64 ->                           -- duration : TBasicType TUInt64-    Ptr CInt ->                             -- eos : TBasicType TBoolean-    IO ()--{- |-Extract the values the step_done message.--MT safe.--}-messageParseStepDone ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_STEP_DONE. -}-    -> m ((Gst.Enums.Format, Word64, Double, Bool, Bool, Word64, Bool))-messageParseStepDone message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    format <- allocMem :: IO (Ptr CUInt)-    amount <- allocMem :: IO (Ptr Word64)-    rate <- allocMem :: IO (Ptr CDouble)-    flush <- allocMem :: IO (Ptr CInt)-    intermediate <- allocMem :: IO (Ptr CInt)-    duration <- allocMem :: IO (Ptr Word64)-    eos <- allocMem :: IO (Ptr CInt)-    gst_message_parse_step_done message' format amount rate flush intermediate duration eos-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    amount' <- peek amount-    rate' <- peek rate-    let rate'' = realToFrac rate'-    flush' <- peek flush-    let flush'' = (/= 0) flush'-    intermediate' <- peek intermediate-    let intermediate'' = (/= 0) intermediate'-    duration' <- peek duration-    eos' <- peek eos-    let eos'' = (/= 0) eos'-    touchManagedPtr message-    freeMem format-    freeMem amount-    freeMem rate-    freeMem flush-    freeMem intermediate-    freeMem duration-    freeMem eos-    return (format'', amount', rate'', flush'', intermediate'', duration', eos'')--#if ENABLE_OVERLOADING-data MessageParseStepDoneMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Word64, Double, Bool, Bool, Word64, Bool))), MonadIO m) => O.MethodInfo MessageParseStepDoneMethodInfo Message signature where-    overloadedMethod _ = messageParseStepDone--#endif---- method Message::parse_step_start--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_STEP_DONE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the active flag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "amount", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the amount", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flush", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the flush flag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "intermediate", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result location for the intermediate flag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_step_start" gst_message_parse_step_start :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CInt ->                             -- active : TBasicType TBoolean-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Word64 ->                           -- amount : TBasicType TUInt64-    Ptr CDouble ->                          -- rate : TBasicType TDouble-    Ptr CInt ->                             -- flush : TBasicType TBoolean-    Ptr CInt ->                             -- intermediate : TBasicType TBoolean-    IO ()--{- |-Extract the values from step_start message.--MT safe.--}-messageParseStepStart ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_STEP_DONE. -}-    -> m ((Bool, Gst.Enums.Format, Word64, Double, Bool, Bool))-messageParseStepStart message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    active <- allocMem :: IO (Ptr CInt)-    format <- allocMem :: IO (Ptr CUInt)-    amount <- allocMem :: IO (Ptr Word64)-    rate <- allocMem :: IO (Ptr CDouble)-    flush <- allocMem :: IO (Ptr CInt)-    intermediate <- allocMem :: IO (Ptr CInt)-    gst_message_parse_step_start message' active format amount rate flush intermediate-    active' <- peek active-    let active'' = (/= 0) active'-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    amount' <- peek amount-    rate' <- peek rate-    let rate'' = realToFrac rate'-    flush' <- peek flush-    let flush'' = (/= 0) flush'-    intermediate' <- peek intermediate-    let intermediate'' = (/= 0) intermediate'-    touchManagedPtr message-    freeMem active-    freeMem format-    freeMem amount-    freeMem rate-    freeMem flush-    freeMem intermediate-    return (active'', format'', amount', rate'', flush'', intermediate'')--#if ENABLE_OVERLOADING-data MessageParseStepStartMethodInfo-instance (signature ~ (m ((Bool, Gst.Enums.Format, Word64, Double, Bool, Bool))), MonadIO m) => O.MethodInfo MessageParseStepStartMethodInfo Message signature where-    overloadedMethod _ = messageParseStepStart--#endif---- method Message::parse_stream_collection--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_STREAM_COLLECTION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location where to store a\n pointer to the #GstStreamCollection, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_stream_collection" gst_message_parse_stream_collection :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.StreamCollection.StreamCollection) -> -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    IO ()--{- |-Parses a stream-collection message.--/Since: 1.10/--}-messageParseStreamCollection ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeStreamCollection' -}-    -> m (Gst.StreamCollection.StreamCollection)-messageParseStreamCollection message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    collection <- allocMem :: IO (Ptr (Ptr Gst.StreamCollection.StreamCollection))-    gst_message_parse_stream_collection message' collection-    collection' <- peek collection-    collection'' <- (wrapObject Gst.StreamCollection.StreamCollection) collection'-    touchManagedPtr message-    freeMem collection-    return collection''--#if ENABLE_OVERLOADING-data MessageParseStreamCollectionMethodInfo-instance (signature ~ (m (Gst.StreamCollection.StreamCollection)), MonadIO m) => O.MethodInfo MessageParseStreamCollectionMethodInfo Message signature where-    overloadedMethod _ = messageParseStreamCollection--#endif---- method Message::parse_stream_status--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "StreamStatusType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to hold the status type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "owner", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The owner element of the message source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_stream_status" gst_message_parse_stream_status :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- type : TInterface (Name {namespace = "Gst", name = "StreamStatusType"})-    Ptr (Ptr Gst.Element.Element) ->        -- owner : TInterface (Name {namespace = "Gst", name = "Element"})-    IO ()--{- |-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.--}-messageParseStreamStatus ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_STREAM_STATUS. -}-    -> m ((Gst.Enums.StreamStatusType, Gst.Element.Element))-messageParseStreamStatus message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    type_ <- allocMem :: IO (Ptr CUInt)-    owner <- allocMem :: IO (Ptr (Ptr Gst.Element.Element))-    gst_message_parse_stream_status message' type_ owner-    type_' <- peek type_-    let type_'' = (toEnum . fromIntegral) type_'-    owner' <- peek owner-    owner'' <- (newObject Gst.Element.Element) owner'-    touchManagedPtr message-    freeMem type_-    freeMem owner-    return (type_'', owner'')--#if ENABLE_OVERLOADING-data MessageParseStreamStatusMethodInfo-instance (signature ~ (m ((Gst.Enums.StreamStatusType, Gst.Element.Element))), MonadIO m) => O.MethodInfo MessageParseStreamStatusMethodInfo Message signature where-    overloadedMethod _ = messageParseStreamStatus--#endif---- method Message::parse_streams_selected--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collection", argType = TInterface (Name {namespace = "Gst", name = "StreamCollection"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A location where to store a\n pointer to the #GstStreamCollection, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_streams_selected" gst_message_parse_streams_selected :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.StreamCollection.StreamCollection) -> -- collection : TInterface (Name {namespace = "Gst", name = "StreamCollection"})-    IO ()--{- |-Parses a streams-selected message.--/Since: 1.10/--}-messageParseStreamsSelected ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeStreamsSelected' -}-    -> m (Gst.StreamCollection.StreamCollection)-messageParseStreamsSelected message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    collection <- allocMem :: IO (Ptr (Ptr Gst.StreamCollection.StreamCollection))-    gst_message_parse_streams_selected message' collection-    collection' <- peek collection-    collection'' <- (wrapObject Gst.StreamCollection.StreamCollection) collection'-    touchManagedPtr message-    freeMem collection-    return collection''--#if ENABLE_OVERLOADING-data MessageParseStreamsSelectedMethodInfo-instance (signature ~ (m (Gst.StreamCollection.StreamCollection)), MonadIO m) => O.MethodInfo MessageParseStreamsSelectedMethodInfo Message signature where-    overloadedMethod _ = messageParseStreamsSelected--#endif---- method Message::parse_structure_change--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_STRUCTURE_CHANGE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "StructureChangeType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to hold the change type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "owner", argType = TInterface (Name {namespace = "Gst", name = "Element"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The owner element of the\n    message source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "busy", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to hold whether the change is in\n    progress or has been completed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_structure_change" gst_message_parse_structure_change :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr CUInt ->                            -- type : TInterface (Name {namespace = "Gst", name = "StructureChangeType"})-    Ptr (Ptr Gst.Element.Element) ->        -- owner : TInterface (Name {namespace = "Gst", name = "Element"})-    Ptr CInt ->                             -- busy : TBasicType TBoolean-    IO ()--{- |-Extracts the change type and completion status from the GstMessage.--MT safe.--}-messageParseStructureChange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_STRUCTURE_CHANGE. -}-    -> m ((Gst.Enums.StructureChangeType, Gst.Element.Element, Bool))-messageParseStructureChange message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    type_ <- allocMem :: IO (Ptr CUInt)-    owner <- allocMem :: IO (Ptr (Ptr Gst.Element.Element))-    busy <- allocMem :: IO (Ptr CInt)-    gst_message_parse_structure_change message' type_ owner busy-    type_' <- peek type_-    let type_'' = (toEnum . fromIntegral) type_'-    owner' <- peek owner-    owner'' <- (newObject Gst.Element.Element) owner'-    busy' <- peek busy-    let busy'' = (/= 0) busy'-    touchManagedPtr message-    freeMem type_-    freeMem owner-    freeMem busy-    return (type_'', owner'', busy'')--#if ENABLE_OVERLOADING-data MessageParseStructureChangeMethodInfo-instance (signature ~ (m ((Gst.Enums.StructureChangeType, Gst.Element.Element, Bool))), MonadIO m) => O.MethodInfo MessageParseStructureChangeMethodInfo Message signature where-    overloadedMethod _ = messageParseStructureChange--#endif---- method Message::parse_tag--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_TAG.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag_list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the tag-list.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_tag" gst_message_parse_tag :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.TagList.TagList) ->        -- tag_list : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO ()--{- |-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:--=== /C code/->->  ...->  switch (GST_MESSAGE_TYPE (msg)) {->    case GST_MESSAGE_TAG: {->      GstTagList *tags = NULL;->->      gst_message_parse_tag (msg, &amp;tags);->      g_print ("Got tags from element %s\n", GST_OBJECT_NAME (msg->src));->      handle_tags (tags);->      gst_tag_list_unref (tags);->      break;->    }->    ...->  }->  ...---MT safe.--}-messageParseTag ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_TAG. -}-    -> m (Gst.TagList.TagList)-messageParseTag message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    tagList <- allocMem :: IO (Ptr (Ptr Gst.TagList.TagList))-    gst_message_parse_tag message' tagList-    tagList' <- peek tagList-    tagList'' <- (wrapBoxed Gst.TagList.TagList) tagList'-    touchManagedPtr message-    freeMem tagList-    return tagList''--#if ENABLE_OVERLOADING-data MessageParseTagMethodInfo-instance (signature ~ (m (Gst.TagList.TagList)), MonadIO m) => O.MethodInfo MessageParseTagMethodInfo Message signature where-    overloadedMethod _ = messageParseTag--#endif---- method Message::parse_toc--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GstMessage of type GST_MESSAGE_TOC.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the TOC.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "updated", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the updated flag.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_toc" gst_message_parse_toc :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Toc.Toc) ->                -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    Ptr CInt ->                             -- updated : TBasicType TBoolean-    IO ()--{- |-Extract the TOC from the 'GI.Gst.Structs.Message.Message'. The TOC returned in the-output argument is a copy; the caller must free it with-@/gst_toc_unref()/@ when done.--MT safe.--}-messageParseToc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_TOC. -}-    -> m ((Gst.Toc.Toc, Bool))-messageParseToc message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    toc <- allocMem :: IO (Ptr (Ptr Gst.Toc.Toc))-    updated <- allocMem :: IO (Ptr CInt)-    gst_message_parse_toc message' toc updated-    toc' <- peek toc-    toc'' <- (wrapBoxed Gst.Toc.Toc) toc'-    updated' <- peek updated-    let updated'' = (/= 0) updated'-    touchManagedPtr message-    freeMem toc-    freeMem updated-    return (toc'', updated'')--#if ENABLE_OVERLOADING-data MessageParseTocMethodInfo-instance (signature ~ (m ((Gst.Toc.Toc, Bool))), MonadIO m) => O.MethodInfo MessageParseTocMethodInfo Message signature where-    overloadedMethod _ = messageParseToc--#endif---- method Message::parse_warning--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_WARNING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gerror", argType = TError, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the GError", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "debug", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the debug message,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_warning" gst_message_parse_warning :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr GError) ->                     -- gerror : TError-    Ptr CString ->                          -- debug : TBasicType TUTF8-    IO ()--{- |-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.--}-messageParseWarning ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_WARNING. -}-    -> m ((GError, T.Text))-messageParseWarning message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    gerror <- allocMem :: IO (Ptr (Ptr GError))-    debug <- allocMem :: IO (Ptr CString)-    gst_message_parse_warning message' gerror debug-    gerror' <- peek gerror-    gerror'' <- (wrapBoxed GError) gerror'-    debug' <- peek debug-    debug'' <- cstringToText debug'-    freeMem debug'-    touchManagedPtr message-    freeMem gerror-    freeMem debug-    return (gerror'', debug'')--#if ENABLE_OVERLOADING-data MessageParseWarningMethodInfo-instance (signature ~ (m ((GError, T.Text))), MonadIO m) => O.MethodInfo MessageParseWarningMethodInfo Message signature where-    overloadedMethod _ = messageParseWarning--#endif---- method Message::parse_warning_details--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The message object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the returned details structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_parse_warning_details" gst_message_parse_warning_details :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr (Ptr Gst.Structure.Structure) ->    -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Returns the optional details structure, may be NULL if none-The returned structure must not be freed.--/Since: 1.10/--}-messageParseWarningDetails ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: The message object -}-    -> m (Gst.Structure.Structure)-messageParseWarningDetails message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    structure <- allocMem :: IO (Ptr (Ptr Gst.Structure.Structure))-    gst_message_parse_warning_details message' structure-    structure' <- peek structure-    structure'' <- (newBoxed Gst.Structure.Structure) structure'-    touchManagedPtr message-    freeMem structure-    return structure''--#if ENABLE_OVERLOADING-data MessageParseWarningDetailsMethodInfo-instance (signature ~ (m (Gst.Structure.Structure)), MonadIO m) => O.MethodInfo MessageParseWarningDetailsMethodInfo Message signature where-    overloadedMethod _ = messageParseWarningDetails--#endif---- method Message::set_buffering_stats--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_BUFFERING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "BufferingMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a buffering mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "avg_in", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the average input rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "avg_out", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the average output rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffering_left", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "amount of buffering time left in milliseconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_set_buffering_stats" gst_message_set_buffering_stats :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "BufferingMode"})-    Int32 ->                                -- avg_in : TBasicType TInt-    Int32 ->                                -- avg_out : TBasicType TInt-    Int64 ->                                -- buffering_left : TBasicType TInt64-    IO ()--{- |-Configures the buffering stats values in /@message@/.--}-messageSetBufferingStats ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_BUFFERING. -}-    -> Gst.Enums.BufferingMode-    {- ^ /@mode@/: a buffering mode -}-    -> Int32-    {- ^ /@avgIn@/: the average input rate -}-    -> Int32-    {- ^ /@avgOut@/: the average output rate -}-    -> Int64-    {- ^ /@bufferingLeft@/: amount of buffering time left in milliseconds -}-    -> m ()-messageSetBufferingStats message mode avgIn avgOut bufferingLeft = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    let mode' = (fromIntegral . fromEnum) mode-    gst_message_set_buffering_stats message' mode' avgIn avgOut bufferingLeft-    touchManagedPtr message-    return ()--#if ENABLE_OVERLOADING-data MessageSetBufferingStatsMethodInfo-instance (signature ~ (Gst.Enums.BufferingMode -> Int32 -> Int32 -> Int64 -> m ()), MonadIO m) => O.MethodInfo MessageSetBufferingStatsMethodInfo Message signature where-    overloadedMethod _ = messageSetBufferingStats--#endif---- method Message::set_group_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the group id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_set_group_id" gst_message_set_group_id :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Word32 ->                               -- group_id : TBasicType TUInt-    IO ()--{- |-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.--/Since: 1.2/--}-messageSetGroupId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: the message -}-    -> Word32-    {- ^ /@groupId@/: the group id -}-    -> m ()-messageSetGroupId message groupId = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    gst_message_set_group_id message' groupId-    touchManagedPtr message-    return ()--#if ENABLE_OVERLOADING-data MessageSetGroupIdMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo MessageSetGroupIdMethodInfo Message signature where-    overloadedMethod _ = messageSetGroupId--#endif---- method Message::set_qos_stats--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_QOS.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Units of the 'processed' and 'dropped' fields. Video sinks and video\nfilters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters\nwill likely use GST_FORMAT_DEFAULT (samples).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "processed", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Total number of units correctly processed since the last state\nchange to READY or a flushing operation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dropped", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Total number of units dropped since the last state change to READY\nor a flushing operation.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_set_qos_stats" gst_message_set_qos_stats :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- processed : TBasicType TUInt64-    Word64 ->                               -- dropped : TBasicType TUInt64-    IO ()--{- |-Set the QoS stats representing the history of the current continuous pipeline-playback period.--When /@format@/ is /@gSTFORMATUNDEFINED@/ both /@dropped@/ and /@processed@/ are-invalid. Values of -1 for either /@processed@/ or /@dropped@/ mean unknown values.--MT safe.--}-messageSetQosStats ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_QOS. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: 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). -}-    -> Word64-    {- ^ /@processed@/: Total number of units correctly processed since the last state-change to READY or a flushing operation. -}-    -> Word64-    {- ^ /@dropped@/: Total number of units dropped since the last state change to READY-or a flushing operation. -}-    -> m ()-messageSetQosStats message format processed dropped = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    let format' = (fromIntegral . fromEnum) format-    gst_message_set_qos_stats message' format' processed dropped-    touchManagedPtr message-    return ()--#if ENABLE_OVERLOADING-data MessageSetQosStatsMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> Word64 -> m ()), MonadIO m) => O.MethodInfo MessageSetQosStatsMethodInfo Message signature where-    overloadedMethod _ = messageSetQosStats--#endif---- method Message::set_qos_values--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_QOS.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "jitter", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The difference of the running-time against the deadline.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "proportion", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Long term prediction of the ideal rate relative to normal rate\nto get optimal quality.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quality", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An element dependent integer value that specifies the current\nquality level of the element. The default maximum quality is 1000000.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_set_qos_values" gst_message_set_qos_values :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Int64 ->                                -- jitter : TBasicType TInt64-    CDouble ->                              -- proportion : TBasicType TDouble-    Int32 ->                                -- quality : TBasicType TInt-    IO ()--{- |-Set the QoS values that have been calculated\/analysed from the QoS data--MT safe.--}-messageSetQosValues ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_QOS. -}-    -> Int64-    {- ^ /@jitter@/: The difference of the running-time against the deadline. -}-    -> Double-    {- ^ /@proportion@/: Long term prediction of the ideal rate relative to normal rate-to get optimal quality. -}-    -> Int32-    {- ^ /@quality@/: An element dependent integer value that specifies the current-quality level of the element. The default maximum quality is 1000000. -}-    -> m ()-messageSetQosValues message jitter proportion quality = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    let proportion' = realToFrac proportion-    gst_message_set_qos_values message' jitter proportion' quality-    touchManagedPtr message-    return ()--#if ENABLE_OVERLOADING-data MessageSetQosValuesMethodInfo-instance (signature ~ (Int64 -> Double -> Int32 -> m ()), MonadIO m) => O.MethodInfo MessageSetQosValuesMethodInfo Message signature where-    overloadedMethod _ = messageSetQosValues--#endif---- method Message::set_seqnum--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstMessage.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seqnum", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A sequence number.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_set_seqnum" gst_message_set_seqnum :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Word32 ->                               -- seqnum : TBasicType TUInt32-    IO ()--{- |-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 'GI.Gst.Structs.Message.messageGetSeqnum'-for more information.--MT safe.--}-messageSetSeqnum ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A 'GI.Gst.Structs.Message.Message'. -}-    -> Word32-    {- ^ /@seqnum@/: A sequence number. -}-    -> m ()-messageSetSeqnum message seqnum = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    gst_message_set_seqnum message' seqnum-    touchManagedPtr message-    return ()--#if ENABLE_OVERLOADING-data MessageSetSeqnumMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo MessageSetSeqnumMethodInfo Message signature where-    overloadedMethod _ = messageSetSeqnum--#endif---- method Message::set_stream_status_object--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the object controlling the streaming", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_set_stream_status_object" gst_message_set_stream_status_object :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr GValue ->                           -- object : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-Configures the object handling the streaming thread. This is usually a-GstTask object but other objects might be added in the future.--}-messageSetStreamStatusObject ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: A valid 'GI.Gst.Structs.Message.Message' of type GST_MESSAGE_STREAM_STATUS. -}-    -> GValue-    {- ^ /@object@/: the object controlling the streaming -}-    -> m ()-messageSetStreamStatusObject message object = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    object' <- unsafeManagedPtrGetPtr object-    gst_message_set_stream_status_object message' object'-    touchManagedPtr message-    touchManagedPtr object-    return ()--#if ENABLE_OVERLOADING-data MessageSetStreamStatusObjectMethodInfo-instance (signature ~ (GValue -> m ()), MonadIO m) => O.MethodInfo MessageSetStreamStatusObjectMethodInfo Message signature where-    overloadedMethod _ = messageSetStreamStatusObject--#endif---- method Message::streams_selected_add--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gst", name = "Stream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStream to add to @message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_message_streams_selected_add" gst_message_streams_selected_add :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Ptr Gst.Stream.Stream ->                -- stream : TInterface (Name {namespace = "Gst", name = "Stream"})-    IO ()--{- |-Adds the /@stream@/ to the /@message@/.--/Since: 1.10/--}-messageStreamsSelectedAdd ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Stream.IsStream a) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeStreamsSelected' -}-    -> a-    {- ^ /@stream@/: a 'GI.Gst.Objects.Stream.Stream' to add to /@message@/ -}-    -> m ()-messageStreamsSelectedAdd message stream = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    stream' <- unsafeManagedPtrCastPtr stream-    gst_message_streams_selected_add message' stream'-    touchManagedPtr message-    touchManagedPtr stream-    return ()--#if ENABLE_OVERLOADING-data MessageStreamsSelectedAddMethodInfo-instance (signature ~ (a -> m ()), MonadIO m, Gst.Stream.IsStream a) => O.MethodInfo MessageStreamsSelectedAddMethodInfo Message signature where-    overloadedMethod _ = messageStreamsSelectedAdd--#endif---- method Message::streams_selected_get_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_message_streams_selected_get_size" gst_message_streams_selected_get_size :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    IO Word32--{- |-Returns the number of streams contained in the /@message@/.--/Since: 1.10/--}-messageStreamsSelectedGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeStreamsSelected' -}-    -> m Word32-    {- ^ __Returns:__ The number of streams contained within. -}-messageStreamsSelectedGetSize message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_message_streams_selected_get_size message'-    touchManagedPtr message-    return result--#if ENABLE_OVERLOADING-data MessageStreamsSelectedGetSizeMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo MessageStreamsSelectedGetSizeMethodInfo Message signature where-    overloadedMethod _ = messageStreamsSelectedGetSize--#endif---- method Message::streams_selected_get_stream--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "idx", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Index of the stream to retrieve", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Stream"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_streams_selected_get_stream" gst_message_streams_selected_get_stream :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    Word32 ->                               -- idx : TBasicType TUInt-    IO (Ptr Gst.Stream.Stream)--{- |-Retrieves the 'GI.Gst.Objects.Stream.Stream' with index /@index@/ from the /@message@/.--/Since: 1.10/--}-messageStreamsSelectedGetStream ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: a 'GI.Gst.Structs.Message.Message' of type 'GI.Gst.Flags.MessageTypeStreamsSelected' -}-    -> Word32-    {- ^ /@idx@/: Index of the stream to retrieve -}-    -> m (Maybe Gst.Stream.Stream)-    {- ^ __Returns:__ A 'GI.Gst.Objects.Stream.Stream' -}-messageStreamsSelectedGetStream message idx = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_message_streams_selected_get_stream message' idx-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapObject Gst.Stream.Stream) result'-        return result''-    touchManagedPtr message-    return maybeResult--#if ENABLE_OVERLOADING-data MessageStreamsSelectedGetStreamMethodInfo-instance (signature ~ (Word32 -> m (Maybe Gst.Stream.Stream)), MonadIO m) => O.MethodInfo MessageStreamsSelectedGetStreamMethodInfo Message signature where-    overloadedMethod _ = messageStreamsSelectedGetStream--#endif---- method Message::writable_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "message", argType = TInterface (Name {namespace = "Gst", name = "Message"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstMessage.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_message_writable_structure" gst_message_writable_structure :: -    Ptr Message ->                          -- message : TInterface (Name {namespace = "Gst", name = "Message"})-    IO (Ptr Gst.Structure.Structure)--{- |-Get a writable version of the structure.--/Since: 1.14/--}-messageWritableStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Message-    {- ^ /@message@/: The 'GI.Gst.Structs.Message.Message'. -}-    -> m Gst.Structure.Structure-    {- ^ __Returns:__ 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-'Nothing'.--MT safe. -}-messageWritableStructure message = liftIO $ do-    message' <- unsafeManagedPtrGetPtr message-    result <- gst_message_writable_structure message'-    checkUnexpectedReturnNULL "messageWritableStructure" result-    result' <- (newBoxed Gst.Structure.Structure) result-    touchManagedPtr message-    return result'--#if ENABLE_OVERLOADING-data MessageWritableStructureMethodInfo-instance (signature ~ (m Gst.Structure.Structure), MonadIO m) => O.MethodInfo MessageWritableStructureMethodInfo Message signature where-    overloadedMethod _ = messageWritableStructure--#endif--#if ENABLE_OVERLOADING-type family ResolveMessageMethod (t :: Symbol) (o :: *) :: * where-    ResolveMessageMethod "addRedirectEntry" o = MessageAddRedirectEntryMethodInfo-    ResolveMessageMethod "hasName" o = MessageHasNameMethodInfo-    ResolveMessageMethod "parseAsyncDone" o = MessageParseAsyncDoneMethodInfo-    ResolveMessageMethod "parseBuffering" o = MessageParseBufferingMethodInfo-    ResolveMessageMethod "parseBufferingStats" o = MessageParseBufferingStatsMethodInfo-    ResolveMessageMethod "parseClockLost" o = MessageParseClockLostMethodInfo-    ResolveMessageMethod "parseClockProvide" o = MessageParseClockProvideMethodInfo-    ResolveMessageMethod "parseContextType" o = MessageParseContextTypeMethodInfo-    ResolveMessageMethod "parseDeviceAdded" o = MessageParseDeviceAddedMethodInfo-    ResolveMessageMethod "parseDeviceChanged" o = MessageParseDeviceChangedMethodInfo-    ResolveMessageMethod "parseDeviceRemoved" o = MessageParseDeviceRemovedMethodInfo-    ResolveMessageMethod "parseError" o = MessageParseErrorMethodInfo-    ResolveMessageMethod "parseErrorDetails" o = MessageParseErrorDetailsMethodInfo-    ResolveMessageMethod "parseGroupId" o = MessageParseGroupIdMethodInfo-    ResolveMessageMethod "parseHaveContext" o = MessageParseHaveContextMethodInfo-    ResolveMessageMethod "parseInfo" o = MessageParseInfoMethodInfo-    ResolveMessageMethod "parseInfoDetails" o = MessageParseInfoDetailsMethodInfo-    ResolveMessageMethod "parseNewClock" o = MessageParseNewClockMethodInfo-    ResolveMessageMethod "parseProgress" o = MessageParseProgressMethodInfo-    ResolveMessageMethod "parsePropertyNotify" o = MessageParsePropertyNotifyMethodInfo-    ResolveMessageMethod "parseQos" o = MessageParseQosMethodInfo-    ResolveMessageMethod "parseQosStats" o = MessageParseQosStatsMethodInfo-    ResolveMessageMethod "parseQosValues" o = MessageParseQosValuesMethodInfo-    ResolveMessageMethod "parseRedirectEntry" o = MessageParseRedirectEntryMethodInfo-    ResolveMessageMethod "parseRequestState" o = MessageParseRequestStateMethodInfo-    ResolveMessageMethod "parseResetTime" o = MessageParseResetTimeMethodInfo-    ResolveMessageMethod "parseSegmentDone" o = MessageParseSegmentDoneMethodInfo-    ResolveMessageMethod "parseSegmentStart" o = MessageParseSegmentStartMethodInfo-    ResolveMessageMethod "parseStateChanged" o = MessageParseStateChangedMethodInfo-    ResolveMessageMethod "parseStepDone" o = MessageParseStepDoneMethodInfo-    ResolveMessageMethod "parseStepStart" o = MessageParseStepStartMethodInfo-    ResolveMessageMethod "parseStreamCollection" o = MessageParseStreamCollectionMethodInfo-    ResolveMessageMethod "parseStreamStatus" o = MessageParseStreamStatusMethodInfo-    ResolveMessageMethod "parseStreamsSelected" o = MessageParseStreamsSelectedMethodInfo-    ResolveMessageMethod "parseStructureChange" o = MessageParseStructureChangeMethodInfo-    ResolveMessageMethod "parseTag" o = MessageParseTagMethodInfo-    ResolveMessageMethod "parseToc" o = MessageParseTocMethodInfo-    ResolveMessageMethod "parseWarning" o = MessageParseWarningMethodInfo-    ResolveMessageMethod "parseWarningDetails" o = MessageParseWarningDetailsMethodInfo-    ResolveMessageMethod "streamsSelectedAdd" o = MessageStreamsSelectedAddMethodInfo-    ResolveMessageMethod "streamsSelectedGetSize" o = MessageStreamsSelectedGetSizeMethodInfo-    ResolveMessageMethod "streamsSelectedGetStream" o = MessageStreamsSelectedGetStreamMethodInfo-    ResolveMessageMethod "writableStructure" o = MessageWritableStructureMethodInfo-    ResolveMessageMethod "getNumRedirectEntries" o = MessageGetNumRedirectEntriesMethodInfo-    ResolveMessageMethod "getSeqnum" o = MessageGetSeqnumMethodInfo-    ResolveMessageMethod "getStreamStatusObject" o = MessageGetStreamStatusObjectMethodInfo-    ResolveMessageMethod "getStructure" o = MessageGetStructureMethodInfo-    ResolveMessageMethod "setBufferingStats" o = MessageSetBufferingStatsMethodInfo-    ResolveMessageMethod "setGroupId" o = MessageSetGroupIdMethodInfo-    ResolveMessageMethod "setQosStats" o = MessageSetQosStatsMethodInfo-    ResolveMessageMethod "setQosValues" o = MessageSetQosValuesMethodInfo-    ResolveMessageMethod "setSeqnum" o = MessageSetSeqnumMethodInfo-    ResolveMessageMethod "setStreamStatusObject" o = MessageSetStreamStatusObjectMethodInfo-    ResolveMessageMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMessageMethod t Message, O.MethodInfo info Message p) => OL.IsLabel t (Message -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Message.hs-boot
@@ -1,185 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Message where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Message = Message (ManagedPtr Message)-instance BoxedObject Message where-#if ENABLE_OVERLOADING-data MessageAddRedirectEntryMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageGetNumRedirectEntriesMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageGetSeqnumMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageGetStreamStatusObjectMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageGetStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageHasNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseAsyncDoneMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseBufferingMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseBufferingStatsMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseClockLostMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseClockProvideMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseContextTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseDeviceAddedMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseDeviceChangedMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseDeviceRemovedMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseErrorMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseErrorDetailsMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseGroupIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseHaveContextMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseInfoMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseInfoDetailsMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseNewClockMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseProgressMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParsePropertyNotifyMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseQosMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseQosStatsMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseQosValuesMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseRedirectEntryMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseRequestStateMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseResetTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseSegmentDoneMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseSegmentStartMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseStateChangedMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseStepDoneMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseStepStartMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseStreamCollectionMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseStreamStatusMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseStreamsSelectedMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseStructureChangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseTagMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseTocMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseWarningMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageParseWarningDetailsMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageSetBufferingStatsMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageSetGroupIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageSetQosStatsMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageSetQosValuesMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageSetSeqnumMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageSetStreamStatusObjectMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageStreamsSelectedAddMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageStreamsSelectedGetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageStreamsSelectedGetStreamMethodInfo-#endif-#if ENABLE_OVERLOADING-data MessageWritableStructureMethodInfo-#endif
− GI/Gst/Structs/Meta.hs
@@ -1,566 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.Gst.Structs.Meta.Meta' structure should be included as the first member of a 'GI.Gst.Structs.Buffer.Buffer'-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 'GI.Gst.Functions.metaApiTypeRegister' which takes a-name for the metadata API and some tags associated with the metadata.-With 'GI.Gst.Functions.metaApiTypeHasTag' 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, 'GI.Gst.Functions.metaRegister' 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 'GI.Gst.Structs.MetaInfo.MetaInfo'-structure that contains the information for the implementation of the API.--A specific implementation can be retrieved by name with 'GI.Gst.Functions.metaGetInfo'.--See 'GI.Gst.Structs.Buffer.Buffer' for how the metadata can be added, retrieved and removed from-buffers.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Meta-    ( ---- * Exported types-    Meta(..)                                ,-    newZeroMeta                             ,-    noMeta                                  ,--- -- * Methods--- ** apiTypeGetTags #method:apiTypeGetTags#--    metaApiTypeGetTags                      ,----- ** apiTypeHasTag #method:apiTypeHasTag#--    metaApiTypeHasTag                       ,----- ** apiTypeRegister #method:apiTypeRegister#--    metaApiTypeRegister                     ,----- ** compareSeqnum #method:compareSeqnum#--#if ENABLE_OVERLOADING-    MetaCompareSeqnumMethodInfo             ,-#endif-    metaCompareSeqnum                       ,----- ** getInfo #method:getInfo#--    metaGetInfo                             ,----- ** getSeqnum #method:getSeqnum#--#if ENABLE_OVERLOADING-    MetaGetSeqnumMethodInfo                 ,-#endif-    metaGetSeqnum                           ,----- ** register #method:register#--    metaRegister                            ,----- -- * Properties--- ** flags #attr:flags#-{- | extra flags for the metadata--}-    getMetaFlags                            ,-#if ENABLE_OVERLOADING-    meta_flags                              ,-#endif-    setMetaFlags                            ,----- ** info #attr:info#-{- | pointer to the 'GI.Gst.Structs.MetaInfo.MetaInfo'--}-    clearMetaInfo                           ,-    getMetaInfo                             ,-#if ENABLE_OVERLOADING-    meta_info                               ,-#endif-    setMetaInfo                             ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo---- | Memory-managed wrapper type.-newtype Meta = Meta (ManagedPtr Meta)-instance WrappedPtr Meta where-    wrappedPtrCalloc = callocBytes 16-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr Meta)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `Meta` struct initialized to zero.-newZeroMeta :: MonadIO m => m Meta-newZeroMeta = liftIO $ wrappedPtrCalloc >>= wrapPtr Meta--instance tag ~ 'AttrSet => Constructible Meta tag where-    new _ attrs = do-        o <- newZeroMeta-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Meta`.-noMeta :: Maybe Meta-noMeta = Nothing--{- |-Get the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' meta #flags-@--}-getMetaFlags :: MonadIO m => Meta -> m [Gst.Flags.MetaFlags]-getMetaFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = wordToGFlags val-    return val'--{- |-Set the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' meta [ #flags 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaFlags :: MonadIO m => Meta -> [Gst.Flags.MetaFlags] -> m ()-setMetaFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gflagsToWord val-    poke (ptr `plusPtr` 0) (val' :: CUInt)--#if ENABLE_OVERLOADING-data MetaFlagsFieldInfo-instance AttrInfo MetaFlagsFieldInfo where-    type AttrAllowedOps MetaFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MetaFlagsFieldInfo = (~) [Gst.Flags.MetaFlags]-    type AttrBaseTypeConstraint MetaFlagsFieldInfo = (~) Meta-    type AttrGetType MetaFlagsFieldInfo = [Gst.Flags.MetaFlags]-    type AttrLabel MetaFlagsFieldInfo = "flags"-    type AttrOrigin MetaFlagsFieldInfo = Meta-    attrGet _ = getMetaFlags-    attrSet _ = setMetaFlags-    attrConstruct = undefined-    attrClear _ = undefined--meta_flags :: AttrLabelProxy "flags"-meta_flags = AttrLabelProxy--#endif---{- |-Get the value of the “@info@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' meta #info-@--}-getMetaInfo :: MonadIO m => Meta -> m (Maybe Gst.MetaInfo.MetaInfo)-getMetaInfo s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gst.MetaInfo.MetaInfo)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr Gst.MetaInfo.MetaInfo) val'-        return val''-    return result--{- |-Set the value of the “@info@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' meta [ #info 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaInfo :: MonadIO m => Meta -> Ptr Gst.MetaInfo.MetaInfo -> m ()-setMetaInfo s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr Gst.MetaInfo.MetaInfo)--{- |-Set the value of the “@info@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #info-@--}-clearMetaInfo :: MonadIO m => Meta -> m ()-clearMetaInfo s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gst.MetaInfo.MetaInfo)--#if ENABLE_OVERLOADING-data MetaInfoFieldInfo-instance AttrInfo MetaInfoFieldInfo where-    type AttrAllowedOps MetaInfoFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MetaInfoFieldInfo = (~) (Ptr Gst.MetaInfo.MetaInfo)-    type AttrBaseTypeConstraint MetaInfoFieldInfo = (~) Meta-    type AttrGetType MetaInfoFieldInfo = Maybe Gst.MetaInfo.MetaInfo-    type AttrLabel MetaInfoFieldInfo = "info"-    type AttrOrigin MetaInfoFieldInfo = Meta-    attrGet _ = getMetaInfo-    attrSet _ = setMetaInfo-    attrConstruct = undefined-    attrClear _ = clearMetaInfo--meta_info :: AttrLabelProxy "info"-meta_info = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Meta-type instance O.AttributeList Meta = MetaAttributeList-type MetaAttributeList = ('[ '("flags", MetaFlagsFieldInfo), '("info", MetaInfoFieldInfo)] :: [(Symbol, *)])-#endif---- method Meta::compare_seqnum--- method type : OrdinaryMethod--- Args : [Arg {argCName = "meta1", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "meta2", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_meta_compare_seqnum" gst_meta_compare_seqnum :: -    Ptr Meta ->                             -- meta1 : TInterface (Name {namespace = "Gst", name = "Meta"})-    Ptr Meta ->                             -- meta2 : TInterface (Name {namespace = "Gst", name = "Meta"})-    IO Int32--{- |-Meta sequence number compare function. Can be used as 'GI.GLib.Callbacks.CompareFunc'-or a 'GI.GLib.Callbacks.CompareDataFunc'.--/Since: 1.16/--}-metaCompareSeqnum ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Meta-    {- ^ /@meta1@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> Meta-    {- ^ /@meta2@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> m Int32-    {- ^ __Returns:__ 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@/. -}-metaCompareSeqnum meta1 meta2 = liftIO $ do-    meta1' <- unsafeManagedPtrGetPtr meta1-    meta2' <- unsafeManagedPtrGetPtr meta2-    result <- gst_meta_compare_seqnum meta1' meta2'-    touchManagedPtr meta1-    touchManagedPtr meta2-    return result--#if ENABLE_OVERLOADING-data MetaCompareSeqnumMethodInfo-instance (signature ~ (Meta -> m Int32), MonadIO m) => O.MethodInfo MetaCompareSeqnumMethodInfo Meta signature where-    overloadedMethod _ = metaCompareSeqnum--#endif---- method Meta::get_seqnum--- method type : OrdinaryMethod--- Args : [Arg {argCName = "meta", argType = TInterface (Name {namespace = "Gst", name = "Meta"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMeta", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_meta_get_seqnum" gst_meta_get_seqnum :: -    Ptr Meta ->                             -- meta : TInterface (Name {namespace = "Gst", name = "Meta"})-    IO Word64--{- |-Gets seqnum for this meta.--/Since: 1.16/--}-metaGetSeqnum ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Meta-    {- ^ /@meta@/: a 'GI.Gst.Structs.Meta.Meta' -}-    -> m Word64-metaGetSeqnum meta = liftIO $ do-    meta' <- unsafeManagedPtrGetPtr meta-    result <- gst_meta_get_seqnum meta'-    touchManagedPtr meta-    return result--#if ENABLE_OVERLOADING-data MetaGetSeqnumMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo MetaGetSeqnumMethodInfo Meta signature where-    overloadedMethod _ = metaGetSeqnum--#endif---- method Meta::api_type_get_tags--- method type : MemberFunction--- Args : [Arg {argCName = "api", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an API", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_meta_api_type_get_tags" gst_meta_api_type_get_tags :: -    CGType ->                               -- api : TBasicType TGType-    IO (Ptr CString)--{- |-/No description available in the introspection data./--/Since: 1.2/--}-metaApiTypeGetTags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GType-    {- ^ /@api@/: an API -}-    -> m [T.Text]-    {- ^ __Returns:__ an array of tags as strings. -}-metaApiTypeGetTags api = liftIO $ do-    let api' = gtypeToCGType api-    result <- gst_meta_api_type_get_tags api'-    checkUnexpectedReturnNULL "metaApiTypeGetTags" result-    result' <- unpackZeroTerminatedUTF8CArray result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Meta::api_type_has_tag--- method type : MemberFunction--- Args : [Arg {argCName = "api", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an API", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_meta_api_type_has_tag" gst_meta_api_type_has_tag :: -    CGType ->                               -- api : TBasicType TGType-    Word32 ->                               -- tag : TBasicType TUInt32-    IO CInt--{- |-Check if /@api@/ was registered with /@tag@/.--}-metaApiTypeHasTag ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GType-    {- ^ /@api@/: an API -}-    -> Word32-    {- ^ /@tag@/: the tag to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@api@/ was registered with /@tag@/. -}-metaApiTypeHasTag api tag = liftIO $ do-    let api' = gtypeToCGType api-    result <- gst_meta_api_type_has_tag api' tag-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Meta::api_type_register--- method type : MemberFunction--- Args : [Arg {argCName = "api", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an API to register", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tags for @api", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_meta_api_type_register" gst_meta_api_type_register :: -    CString ->                              -- api : TBasicType TUTF8-    Ptr CString ->                          -- tags : TCArray True (-1) (-1) (TBasicType TUTF8)-    IO CGType--{- |-Register and return a GType for the /@api@/ and associate it with-/@tags@/.--}-metaApiTypeRegister ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@api@/: an API to register -}-    -> [T.Text]-    {- ^ /@tags@/: tags for /@api@/ -}-    -> m GType-    {- ^ __Returns:__ a unique GType for /@api@/. -}-metaApiTypeRegister api tags = liftIO $ do-    api' <- textToCString api-    tags' <- packZeroTerminatedUTF8CArray tags-    result <- gst_meta_api_type_register api' tags'-    let result' = GType result-    freeMem api'-    mapZeroTerminatedCArray freeMem tags'-    freeMem tags'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Meta::get_info--- method type : MemberFunction--- Args : [Arg {argCName = "impl", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "MetaInfo"}))--- throws : False--- Skip return : False--foreign import ccall "gst_meta_get_info" gst_meta_get_info :: -    CString ->                              -- impl : TBasicType TUTF8-    IO (Ptr Gst.MetaInfo.MetaInfo)--{- |-Lookup a previously registered meta info structure by its implementation name-/@impl@/.--}-metaGetInfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@impl@/: the name -}-    -> m (Maybe Gst.MetaInfo.MetaInfo)-    {- ^ __Returns:__ a 'GI.Gst.Structs.MetaInfo.MetaInfo' with /@impl@/, or-'Nothing' when no such metainfo exists. -}-metaGetInfo impl = liftIO $ do-    impl' <- textToCString impl-    result <- gst_meta_get_info impl'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newPtr Gst.MetaInfo.MetaInfo) result'-        return result''-    freeMem impl'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Meta::register--- method type : MemberFunction--- Args : [Arg {argCName = "api", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of the #GstMeta API", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "impl", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the #GstMeta implementation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the #GstMeta structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "init_func", argType = TInterface (Name {namespace = "Gst", name = "MetaInitFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMetaInitFunction", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "free_func", argType = TInterface (Name {namespace = "Gst", name = "MetaFreeFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMetaFreeFunction", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "transform_func", argType = TInterface (Name {namespace = "Gst", name = "MetaTransformFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMetaTransformFunction", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "MetaInfo"}))--- throws : False--- Skip return : False--foreign import ccall "gst_meta_register" gst_meta_register :: -    CGType ->                               -- api : TBasicType TGType-    CString ->                              -- impl : TBasicType TUTF8-    Word64 ->                               -- size : TBasicType TUInt64-    FunPtr Gst.Callbacks.C_MetaInitFunction -> -- init_func : TInterface (Name {namespace = "Gst", name = "MetaInitFunction"})-    FunPtr Gst.Callbacks.C_MetaFreeFunction -> -- free_func : TInterface (Name {namespace = "Gst", name = "MetaFreeFunction"})-    FunPtr Gst.Callbacks.C_MetaTransformFunction -> -- transform_func : TInterface (Name {namespace = "Gst", name = "MetaTransformFunction"})-    IO (Ptr Gst.MetaInfo.MetaInfo)--{- |-Register a new 'GI.Gst.Structs.Meta.Meta' implementation.--The same /@info@/ can be retrieved later with 'GI.Gst.Functions.metaGetInfo' by using-/@impl@/ as the key.--}-metaRegister ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GType-    {- ^ /@api@/: the type of the 'GI.Gst.Structs.Meta.Meta' API -}-    -> T.Text-    {- ^ /@impl@/: the name of the 'GI.Gst.Structs.Meta.Meta' implementation -}-    -> Word64-    {- ^ /@size@/: the size of the 'GI.Gst.Structs.Meta.Meta' structure -}-    -> Gst.Callbacks.MetaInitFunction-    {- ^ /@initFunc@/: a 'GI.Gst.Callbacks.MetaInitFunction' -}-    -> Gst.Callbacks.MetaFreeFunction-    {- ^ /@freeFunc@/: a 'GI.Gst.Callbacks.MetaFreeFunction' -}-    -> Gst.Callbacks.MetaTransformFunction-    {- ^ /@transformFunc@/: a 'GI.Gst.Callbacks.MetaTransformFunction' -}-    -> m (Maybe Gst.MetaInfo.MetaInfo)-    {- ^ __Returns:__ a 'GI.Gst.Structs.MetaInfo.MetaInfo' that can be used to-access metadata. -}-metaRegister api impl size initFunc freeFunc transformFunc = liftIO $ do-    let api' = gtypeToCGType api-    impl' <- textToCString impl-    ptrinitFunc <- callocMem :: IO (Ptr (FunPtr Gst.Callbacks.C_MetaInitFunction))-    initFunc' <- Gst.Callbacks.mk_MetaInitFunction (Gst.Callbacks.wrap_MetaInitFunction (Just ptrinitFunc) initFunc)-    poke ptrinitFunc initFunc'-    ptrfreeFunc <- callocMem :: IO (Ptr (FunPtr Gst.Callbacks.C_MetaFreeFunction))-    freeFunc' <- Gst.Callbacks.mk_MetaFreeFunction (Gst.Callbacks.wrap_MetaFreeFunction (Just ptrfreeFunc) freeFunc)-    poke ptrfreeFunc freeFunc'-    ptrtransformFunc <- callocMem :: IO (Ptr (FunPtr Gst.Callbacks.C_MetaTransformFunction))-    transformFunc' <- Gst.Callbacks.mk_MetaTransformFunction (Gst.Callbacks.wrap_MetaTransformFunction (Just ptrtransformFunc) transformFunc)-    poke ptrtransformFunc transformFunc'-    result <- gst_meta_register api' impl' size initFunc' freeFunc' transformFunc'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newPtr Gst.MetaInfo.MetaInfo) result'-        return result''-    freeMem impl'-    return maybeResult--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveMetaMethod (t :: Symbol) (o :: *) :: * where-    ResolveMetaMethod "compareSeqnum" o = MetaCompareSeqnumMethodInfo-    ResolveMetaMethod "getSeqnum" o = MetaGetSeqnumMethodInfo-    ResolveMetaMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMetaMethod t Meta, O.MethodInfo info Meta p) => OL.IsLabel t (Meta -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Meta.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Meta where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Meta = Meta (ManagedPtr Meta)-instance WrappedPtr Meta where-#if ENABLE_OVERLOADING-data MetaCompareSeqnumMethodInfo-#endif-#if ENABLE_OVERLOADING-data MetaGetSeqnumMethodInfo-#endif
− GI/Gst/Structs/MetaInfo.hs
@@ -1,475 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.Gst.Structs.MetaInfo.MetaInfo' provides information about a specific metadata-structure.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.MetaInfo-    ( ---- * Exported types-    MetaInfo(..)                            ,-    newZeroMetaInfo                         ,-    noMetaInfo                              ,--- -- * Properties--- ** api #attr:api#-{- | tag identifying the metadata structure and api--}-    getMetaInfoApi                          ,-#if ENABLE_OVERLOADING-    metaInfo_api                            ,-#endif-    setMetaInfoApi                          ,----- ** freeFunc #attr:freeFunc#-{- | function for freeing the metadata--}-    clearMetaInfoFreeFunc                   ,-    getMetaInfoFreeFunc                     ,-#if ENABLE_OVERLOADING-    metaInfo_freeFunc                       ,-#endif-    setMetaInfoFreeFunc                     ,----- ** initFunc #attr:initFunc#-{- | function for initializing the metadata--}-    clearMetaInfoInitFunc                   ,-    getMetaInfoInitFunc                     ,-#if ENABLE_OVERLOADING-    metaInfo_initFunc                       ,-#endif-    setMetaInfoInitFunc                     ,----- ** size #attr:size#-{- | size of the metadata--}-    getMetaInfoSize                         ,-#if ENABLE_OVERLOADING-    metaInfo_size                           ,-#endif-    setMetaInfoSize                         ,----- ** transformFunc #attr:transformFunc#-{- | function for transforming the metadata--}-    clearMetaInfoTransformFunc              ,-    getMetaInfoTransformFunc                ,-#if ENABLE_OVERLOADING-    metaInfo_transformFunc                  ,-#endif-    setMetaInfoTransformFunc                ,----- ** type #attr:type#-{- | type identifying the implementor of the api--}-    getMetaInfoType                         ,-#if ENABLE_OVERLOADING-    metaInfo_type                           ,-#endif-    setMetaInfoType                         ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.Gst.Callbacks as Gst.Callbacks---- | Memory-managed wrapper type.-newtype MetaInfo = MetaInfo (ManagedPtr MetaInfo)-instance WrappedPtr MetaInfo where-    wrappedPtrCalloc = callocBytes 48-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr MetaInfo)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `MetaInfo` struct initialized to zero.-newZeroMetaInfo :: MonadIO m => m MetaInfo-newZeroMetaInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr MetaInfo--instance tag ~ 'AttrSet => Constructible MetaInfo tag where-    new _ attrs = do-        o <- newZeroMetaInfo-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `MetaInfo`.-noMetaInfo :: Maybe MetaInfo-noMetaInfo = Nothing--{- |-Get the value of the “@api@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' metaInfo #api-@--}-getMetaInfoApi :: MonadIO m => MetaInfo -> m GType-getMetaInfoApi s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CGType-    let val' = GType val-    return val'--{- |-Set the value of the “@api@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' metaInfo [ #api 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaInfoApi :: MonadIO m => MetaInfo -> GType -> m ()-setMetaInfoApi s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gtypeToCGType val-    poke (ptr `plusPtr` 0) (val' :: CGType)--#if ENABLE_OVERLOADING-data MetaInfoApiFieldInfo-instance AttrInfo MetaInfoApiFieldInfo where-    type AttrAllowedOps MetaInfoApiFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MetaInfoApiFieldInfo = (~) GType-    type AttrBaseTypeConstraint MetaInfoApiFieldInfo = (~) MetaInfo-    type AttrGetType MetaInfoApiFieldInfo = GType-    type AttrLabel MetaInfoApiFieldInfo = "api"-    type AttrOrigin MetaInfoApiFieldInfo = MetaInfo-    attrGet _ = getMetaInfoApi-    attrSet _ = setMetaInfoApi-    attrConstruct = undefined-    attrClear _ = undefined--metaInfo_api :: AttrLabelProxy "api"-metaInfo_api = AttrLabelProxy--#endif---{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' metaInfo #type-@--}-getMetaInfoType :: MonadIO m => MetaInfo -> m GType-getMetaInfoType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CGType-    let val' = GType val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' metaInfo [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaInfoType :: MonadIO m => MetaInfo -> GType -> m ()-setMetaInfoType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gtypeToCGType val-    poke (ptr `plusPtr` 8) (val' :: CGType)--#if ENABLE_OVERLOADING-data MetaInfoTypeFieldInfo-instance AttrInfo MetaInfoTypeFieldInfo where-    type AttrAllowedOps MetaInfoTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MetaInfoTypeFieldInfo = (~) GType-    type AttrBaseTypeConstraint MetaInfoTypeFieldInfo = (~) MetaInfo-    type AttrGetType MetaInfoTypeFieldInfo = GType-    type AttrLabel MetaInfoTypeFieldInfo = "type"-    type AttrOrigin MetaInfoTypeFieldInfo = MetaInfo-    attrGet _ = getMetaInfoType-    attrSet _ = setMetaInfoType-    attrConstruct = undefined-    attrClear _ = undefined--metaInfo_type :: AttrLabelProxy "type"-metaInfo_type = AttrLabelProxy--#endif---{- |-Get the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' metaInfo #size-@--}-getMetaInfoSize :: MonadIO m => MetaInfo -> m Word64-getMetaInfoSize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word64-    return val--{- |-Set the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' metaInfo [ #size 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaInfoSize :: MonadIO m => MetaInfo -> Word64 -> m ()-setMetaInfoSize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word64)--#if ENABLE_OVERLOADING-data MetaInfoSizeFieldInfo-instance AttrInfo MetaInfoSizeFieldInfo where-    type AttrAllowedOps MetaInfoSizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MetaInfoSizeFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MetaInfoSizeFieldInfo = (~) MetaInfo-    type AttrGetType MetaInfoSizeFieldInfo = Word64-    type AttrLabel MetaInfoSizeFieldInfo = "size"-    type AttrOrigin MetaInfoSizeFieldInfo = MetaInfo-    attrGet _ = getMetaInfoSize-    attrSet _ = setMetaInfoSize-    attrConstruct = undefined-    attrClear _ = undefined--metaInfo_size :: AttrLabelProxy "size"-metaInfo_size = AttrLabelProxy--#endif---{- |-Get the value of the “@init_func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' metaInfo #initFunc-@--}-getMetaInfoInitFunc :: MonadIO m => MetaInfo -> m (Maybe Gst.Callbacks.MetaInitFunction)-getMetaInfoInitFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr Gst.Callbacks.C_MetaInitFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_MetaInitFunction val'-        return val''-    return result--{- |-Set the value of the “@init_func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' metaInfo [ #initFunc 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaInfoInitFunc :: MonadIO m => MetaInfo -> FunPtr Gst.Callbacks.C_MetaInitFunction -> m ()-setMetaInfoInitFunc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: FunPtr Gst.Callbacks.C_MetaInitFunction)--{- |-Set the value of the “@init_func@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #initFunc-@--}-clearMetaInfoInitFunc :: MonadIO m => MetaInfo -> m ()-clearMetaInfoInitFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_MetaInitFunction)--#if ENABLE_OVERLOADING-data MetaInfoInitFuncFieldInfo-instance AttrInfo MetaInfoInitFuncFieldInfo where-    type AttrAllowedOps MetaInfoInitFuncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MetaInfoInitFuncFieldInfo = (~) (FunPtr Gst.Callbacks.C_MetaInitFunction)-    type AttrBaseTypeConstraint MetaInfoInitFuncFieldInfo = (~) MetaInfo-    type AttrGetType MetaInfoInitFuncFieldInfo = Maybe Gst.Callbacks.MetaInitFunction-    type AttrLabel MetaInfoInitFuncFieldInfo = "init_func"-    type AttrOrigin MetaInfoInitFuncFieldInfo = MetaInfo-    attrGet _ = getMetaInfoInitFunc-    attrSet _ = setMetaInfoInitFunc-    attrConstruct = undefined-    attrClear _ = clearMetaInfoInitFunc--metaInfo_initFunc :: AttrLabelProxy "initFunc"-metaInfo_initFunc = AttrLabelProxy--#endif---{- |-Get the value of the “@free_func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' metaInfo #freeFunc-@--}-getMetaInfoFreeFunc :: MonadIO m => MetaInfo -> m (Maybe Gst.Callbacks.MetaFreeFunction)-getMetaInfoFreeFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr Gst.Callbacks.C_MetaFreeFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_MetaFreeFunction val'-        return val''-    return result--{- |-Set the value of the “@free_func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' metaInfo [ #freeFunc 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaInfoFreeFunc :: MonadIO m => MetaInfo -> FunPtr Gst.Callbacks.C_MetaFreeFunction -> m ()-setMetaInfoFreeFunc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: FunPtr Gst.Callbacks.C_MetaFreeFunction)--{- |-Set the value of the “@free_func@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #freeFunc-@--}-clearMetaInfoFreeFunc :: MonadIO m => MetaInfo -> m ()-clearMetaInfoFreeFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_MetaFreeFunction)--#if ENABLE_OVERLOADING-data MetaInfoFreeFuncFieldInfo-instance AttrInfo MetaInfoFreeFuncFieldInfo where-    type AttrAllowedOps MetaInfoFreeFuncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MetaInfoFreeFuncFieldInfo = (~) (FunPtr Gst.Callbacks.C_MetaFreeFunction)-    type AttrBaseTypeConstraint MetaInfoFreeFuncFieldInfo = (~) MetaInfo-    type AttrGetType MetaInfoFreeFuncFieldInfo = Maybe Gst.Callbacks.MetaFreeFunction-    type AttrLabel MetaInfoFreeFuncFieldInfo = "free_func"-    type AttrOrigin MetaInfoFreeFuncFieldInfo = MetaInfo-    attrGet _ = getMetaInfoFreeFunc-    attrSet _ = setMetaInfoFreeFunc-    attrConstruct = undefined-    attrClear _ = clearMetaInfoFreeFunc--metaInfo_freeFunc :: AttrLabelProxy "freeFunc"-metaInfo_freeFunc = AttrLabelProxy--#endif---{- |-Get the value of the “@transform_func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' metaInfo #transformFunc-@--}-getMetaInfoTransformFunc :: MonadIO m => MetaInfo -> m (Maybe Gst.Callbacks.MetaTransformFunction)-getMetaInfoTransformFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr Gst.Callbacks.C_MetaTransformFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_MetaTransformFunction val'-        return val''-    return result--{- |-Set the value of the “@transform_func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' metaInfo [ #transformFunc 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaInfoTransformFunc :: MonadIO m => MetaInfo -> FunPtr Gst.Callbacks.C_MetaTransformFunction -> m ()-setMetaInfoTransformFunc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: FunPtr Gst.Callbacks.C_MetaTransformFunction)--{- |-Set the value of the “@transform_func@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #transformFunc-@--}-clearMetaInfoTransformFunc :: MonadIO m => MetaInfo -> m ()-clearMetaInfoTransformFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_MetaTransformFunction)--#if ENABLE_OVERLOADING-data MetaInfoTransformFuncFieldInfo-instance AttrInfo MetaInfoTransformFuncFieldInfo where-    type AttrAllowedOps MetaInfoTransformFuncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MetaInfoTransformFuncFieldInfo = (~) (FunPtr Gst.Callbacks.C_MetaTransformFunction)-    type AttrBaseTypeConstraint MetaInfoTransformFuncFieldInfo = (~) MetaInfo-    type AttrGetType MetaInfoTransformFuncFieldInfo = Maybe Gst.Callbacks.MetaTransformFunction-    type AttrLabel MetaInfoTransformFuncFieldInfo = "transform_func"-    type AttrOrigin MetaInfoTransformFuncFieldInfo = MetaInfo-    attrGet _ = getMetaInfoTransformFunc-    attrSet _ = setMetaInfoTransformFunc-    attrConstruct = undefined-    attrClear _ = clearMetaInfoTransformFunc--metaInfo_transformFunc :: AttrLabelProxy "transformFunc"-metaInfo_transformFunc = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList MetaInfo-type instance O.AttributeList MetaInfo = MetaInfoAttributeList-type MetaInfoAttributeList = ('[ '("api", MetaInfoApiFieldInfo), '("type", MetaInfoTypeFieldInfo), '("size", MetaInfoSizeFieldInfo), '("initFunc", MetaInfoInitFuncFieldInfo), '("freeFunc", MetaInfoFreeFuncFieldInfo), '("transformFunc", MetaInfoTransformFuncFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveMetaInfoMethod (t :: Symbol) (o :: *) :: * where-    ResolveMetaInfoMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMetaInfoMethod t MetaInfo, O.MethodInfo info MetaInfo p) => OL.IsLabel t (MetaInfo -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/MetaInfo.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.MetaInfo where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype MetaInfo = MetaInfo (ManagedPtr MetaInfo)-instance WrappedPtr MetaInfo where
− GI/Gst/Structs/MetaTransformCopy.hs
@@ -1,258 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Extra data passed to a \"gst-copy\" transform 'GI.Gst.Callbacks.MetaTransformFunction'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.MetaTransformCopy-    ( ---- * Exported types-    MetaTransformCopy(..)                   ,-    newZeroMetaTransformCopy                ,-    noMetaTransformCopy                     ,--- -- * Properties--- ** offset #attr:offset#-{- | the offset to copy, 0 if /@region@/ is 'False', otherwise > 0--}-    getMetaTransformCopyOffset              ,-#if ENABLE_OVERLOADING-    metaTransformCopy_offset                ,-#endif-    setMetaTransformCopyOffset              ,----- ** region #attr:region#-{- | 'True' if only region is copied--}-    getMetaTransformCopyRegion              ,-#if ENABLE_OVERLOADING-    metaTransformCopy_region                ,-#endif-    setMetaTransformCopyRegion              ,----- ** size #attr:size#-{- | the size to copy, -1 or the buffer size when /@region@/ is 'False'--}-    getMetaTransformCopySize                ,-#if ENABLE_OVERLOADING-    metaTransformCopy_size                  ,-#endif-    setMetaTransformCopySize                ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- | Memory-managed wrapper type.-newtype MetaTransformCopy = MetaTransformCopy (ManagedPtr MetaTransformCopy)-instance WrappedPtr MetaTransformCopy where-    wrappedPtrCalloc = callocBytes 24-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr MetaTransformCopy)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `MetaTransformCopy` struct initialized to zero.-newZeroMetaTransformCopy :: MonadIO m => m MetaTransformCopy-newZeroMetaTransformCopy = liftIO $ wrappedPtrCalloc >>= wrapPtr MetaTransformCopy--instance tag ~ 'AttrSet => Constructible MetaTransformCopy tag where-    new _ attrs = do-        o <- newZeroMetaTransformCopy-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `MetaTransformCopy`.-noMetaTransformCopy :: Maybe MetaTransformCopy-noMetaTransformCopy = Nothing--{- |-Get the value of the “@region@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' metaTransformCopy #region-@--}-getMetaTransformCopyRegion :: MonadIO m => MetaTransformCopy -> m Bool-getMetaTransformCopyRegion s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@region@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' metaTransformCopy [ #region 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaTransformCopyRegion :: MonadIO m => MetaTransformCopy -> Bool -> m ()-setMetaTransformCopyRegion s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 0) (val' :: CInt)--#if ENABLE_OVERLOADING-data MetaTransformCopyRegionFieldInfo-instance AttrInfo MetaTransformCopyRegionFieldInfo where-    type AttrAllowedOps MetaTransformCopyRegionFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MetaTransformCopyRegionFieldInfo = (~) Bool-    type AttrBaseTypeConstraint MetaTransformCopyRegionFieldInfo = (~) MetaTransformCopy-    type AttrGetType MetaTransformCopyRegionFieldInfo = Bool-    type AttrLabel MetaTransformCopyRegionFieldInfo = "region"-    type AttrOrigin MetaTransformCopyRegionFieldInfo = MetaTransformCopy-    attrGet _ = getMetaTransformCopyRegion-    attrSet _ = setMetaTransformCopyRegion-    attrConstruct = undefined-    attrClear _ = undefined--metaTransformCopy_region :: AttrLabelProxy "region"-metaTransformCopy_region = AttrLabelProxy--#endif---{- |-Get the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' metaTransformCopy #offset-@--}-getMetaTransformCopyOffset :: MonadIO m => MetaTransformCopy -> m Word64-getMetaTransformCopyOffset s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word64-    return val--{- |-Set the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' metaTransformCopy [ #offset 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaTransformCopyOffset :: MonadIO m => MetaTransformCopy -> Word64 -> m ()-setMetaTransformCopyOffset s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word64)--#if ENABLE_OVERLOADING-data MetaTransformCopyOffsetFieldInfo-instance AttrInfo MetaTransformCopyOffsetFieldInfo where-    type AttrAllowedOps MetaTransformCopyOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MetaTransformCopyOffsetFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MetaTransformCopyOffsetFieldInfo = (~) MetaTransformCopy-    type AttrGetType MetaTransformCopyOffsetFieldInfo = Word64-    type AttrLabel MetaTransformCopyOffsetFieldInfo = "offset"-    type AttrOrigin MetaTransformCopyOffsetFieldInfo = MetaTransformCopy-    attrGet _ = getMetaTransformCopyOffset-    attrSet _ = setMetaTransformCopyOffset-    attrConstruct = undefined-    attrClear _ = undefined--metaTransformCopy_offset :: AttrLabelProxy "offset"-metaTransformCopy_offset = AttrLabelProxy--#endif---{- |-Get the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' metaTransformCopy #size-@--}-getMetaTransformCopySize :: MonadIO m => MetaTransformCopy -> m Word64-getMetaTransformCopySize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word64-    return val--{- |-Set the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' metaTransformCopy [ #size 'Data.GI.Base.Attributes.:=' value ]-@--}-setMetaTransformCopySize :: MonadIO m => MetaTransformCopy -> Word64 -> m ()-setMetaTransformCopySize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word64)--#if ENABLE_OVERLOADING-data MetaTransformCopySizeFieldInfo-instance AttrInfo MetaTransformCopySizeFieldInfo where-    type AttrAllowedOps MetaTransformCopySizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MetaTransformCopySizeFieldInfo = (~) Word64-    type AttrBaseTypeConstraint MetaTransformCopySizeFieldInfo = (~) MetaTransformCopy-    type AttrGetType MetaTransformCopySizeFieldInfo = Word64-    type AttrLabel MetaTransformCopySizeFieldInfo = "size"-    type AttrOrigin MetaTransformCopySizeFieldInfo = MetaTransformCopy-    attrGet _ = getMetaTransformCopySize-    attrSet _ = setMetaTransformCopySize-    attrConstruct = undefined-    attrClear _ = undefined--metaTransformCopy_size :: AttrLabelProxy "size"-metaTransformCopy_size = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList MetaTransformCopy-type instance O.AttributeList MetaTransformCopy = MetaTransformCopyAttributeList-type MetaTransformCopyAttributeList = ('[ '("region", MetaTransformCopyRegionFieldInfo), '("offset", MetaTransformCopyOffsetFieldInfo), '("size", MetaTransformCopySizeFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveMetaTransformCopyMethod (t :: Symbol) (o :: *) :: * where-    ResolveMetaTransformCopyMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMetaTransformCopyMethod t MetaTransformCopy, O.MethodInfo info MetaTransformCopy p) => OL.IsLabel t (MetaTransformCopy -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/MetaTransformCopy.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.MetaTransformCopy where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype MetaTransformCopy = MetaTransformCopy (ManagedPtr MetaTransformCopy)-instance WrappedPtr MetaTransformCopy where
− GI/Gst/Structs/MiniObject.hs
@@ -1,904 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Structs.MiniObject.MiniObject' is a simple structure that can be used to implement refcounted-types.--Subclasses will include 'GI.Gst.Structs.MiniObject.MiniObject' as the first member in their structure-and then call @/gst_mini_object_init()/@ to initialize the 'GI.Gst.Structs.MiniObject.MiniObject' 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()/@.--'GI.Gst.Structs.MiniObject.miniObjectIsWritable' 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 'GI.Gst.Structs.MiniObject.MiniObject' with-'GI.Gst.Structs.MiniObject.miniObjectSetQdata' and 'GI.Gst.Structs.MiniObject.miniObjectGetQdata'. 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.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.MiniObject-    ( ---- * Exported types-    MiniObject(..)                          ,-    newZeroMiniObject                       ,-    noMiniObject                            ,--- -- * Methods--- ** addParent #method:addParent#--#if ENABLE_OVERLOADING-    MiniObjectAddParentMethodInfo           ,-#endif-    miniObjectAddParent                     ,----- ** getQdata #method:getQdata#--#if ENABLE_OVERLOADING-    MiniObjectGetQdataMethodInfo            ,-#endif-    miniObjectGetQdata                      ,----- ** isWritable #method:isWritable#--#if ENABLE_OVERLOADING-    MiniObjectIsWritableMethodInfo          ,-#endif-    miniObjectIsWritable                    ,----- ** lock #method:lock#--#if ENABLE_OVERLOADING-    MiniObjectLockMethodInfo                ,-#endif-    miniObjectLock                          ,----- ** removeParent #method:removeParent#--#if ENABLE_OVERLOADING-    MiniObjectRemoveParentMethodInfo        ,-#endif-    miniObjectRemoveParent                  ,----- ** setQdata #method:setQdata#--#if ENABLE_OVERLOADING-    MiniObjectSetQdataMethodInfo            ,-#endif-    miniObjectSetQdata                      ,----- ** stealQdata #method:stealQdata#--#if ENABLE_OVERLOADING-    MiniObjectStealQdataMethodInfo          ,-#endif-    miniObjectStealQdata                    ,----- ** unlock #method:unlock#--#if ENABLE_OVERLOADING-    MiniObjectUnlockMethodInfo              ,-#endif-    miniObjectUnlock                        ,----- -- * Properties--- ** dispose #attr:dispose#-{- | a dispose function--}-    clearMiniObjectDispose                  ,-    getMiniObjectDispose                    ,-#if ENABLE_OVERLOADING-    miniObject_dispose                      ,-#endif-    setMiniObjectDispose                    ,----- ** flags #attr:flags#-{- | extra flags.--}-    getMiniObjectFlags                      ,-#if ENABLE_OVERLOADING-    miniObject_flags                        ,-#endif-    setMiniObjectFlags                      ,----- ** free #attr:free#-{- | the free function--}-    clearMiniObjectFree                     ,-    getMiniObjectFree                       ,-#if ENABLE_OVERLOADING-    miniObject_free                         ,-#endif-    setMiniObjectFree                       ,----- ** lockstate #attr:lockstate#-{- | atomic state of the locks--}-    getMiniObjectLockstate                  ,-#if ENABLE_OVERLOADING-    miniObject_lockstate                    ,-#endif-    setMiniObjectLockstate                  ,----- ** refcount #attr:refcount#-{- | atomic refcount--}-    getMiniObjectRefcount                   ,-#if ENABLE_OVERLOADING-    miniObject_refcount                     ,-#endif-    setMiniObjectRefcount                   ,----- ** type #attr:type#-{- | the GType of the object--}-    getMiniObjectType                       ,-#if ENABLE_OVERLOADING-    miniObject_type                         ,-#endif-    setMiniObjectType                       ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags---- | Memory-managed wrapper type.-newtype MiniObject = MiniObject (ManagedPtr MiniObject)-instance WrappedPtr MiniObject where-    wrappedPtrCalloc = callocBytes 64-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr MiniObject)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `MiniObject` struct initialized to zero.-newZeroMiniObject :: MonadIO m => m MiniObject-newZeroMiniObject = liftIO $ wrappedPtrCalloc >>= wrapPtr MiniObject--instance tag ~ 'AttrSet => Constructible MiniObject tag where-    new _ attrs = do-        o <- newZeroMiniObject-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `MiniObject`.-noMiniObject :: Maybe MiniObject-noMiniObject = Nothing--{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' miniObject #type-@--}-getMiniObjectType :: MonadIO m => MiniObject -> m GType-getMiniObjectType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CGType-    let val' = GType val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' miniObject [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setMiniObjectType :: MonadIO m => MiniObject -> GType -> m ()-setMiniObjectType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gtypeToCGType val-    poke (ptr `plusPtr` 0) (val' :: CGType)--#if ENABLE_OVERLOADING-data MiniObjectTypeFieldInfo-instance AttrInfo MiniObjectTypeFieldInfo where-    type AttrAllowedOps MiniObjectTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MiniObjectTypeFieldInfo = (~) GType-    type AttrBaseTypeConstraint MiniObjectTypeFieldInfo = (~) MiniObject-    type AttrGetType MiniObjectTypeFieldInfo = GType-    type AttrLabel MiniObjectTypeFieldInfo = "type"-    type AttrOrigin MiniObjectTypeFieldInfo = MiniObject-    attrGet _ = getMiniObjectType-    attrSet _ = setMiniObjectType-    attrConstruct = undefined-    attrClear _ = undefined--miniObject_type :: AttrLabelProxy "type"-miniObject_type = AttrLabelProxy--#endif---{- |-Get the value of the “@refcount@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' miniObject #refcount-@--}-getMiniObjectRefcount :: MonadIO m => MiniObject -> m Int32-getMiniObjectRefcount s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Int32-    return val--{- |-Set the value of the “@refcount@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' miniObject [ #refcount 'Data.GI.Base.Attributes.:=' value ]-@--}-setMiniObjectRefcount :: MonadIO m => MiniObject -> Int32 -> m ()-setMiniObjectRefcount s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Int32)--#if ENABLE_OVERLOADING-data MiniObjectRefcountFieldInfo-instance AttrInfo MiniObjectRefcountFieldInfo where-    type AttrAllowedOps MiniObjectRefcountFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MiniObjectRefcountFieldInfo = (~) Int32-    type AttrBaseTypeConstraint MiniObjectRefcountFieldInfo = (~) MiniObject-    type AttrGetType MiniObjectRefcountFieldInfo = Int32-    type AttrLabel MiniObjectRefcountFieldInfo = "refcount"-    type AttrOrigin MiniObjectRefcountFieldInfo = MiniObject-    attrGet _ = getMiniObjectRefcount-    attrSet _ = setMiniObjectRefcount-    attrConstruct = undefined-    attrClear _ = undefined--miniObject_refcount :: AttrLabelProxy "refcount"-miniObject_refcount = AttrLabelProxy--#endif---{- |-Get the value of the “@lockstate@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' miniObject #lockstate-@--}-getMiniObjectLockstate :: MonadIO m => MiniObject -> m Int32-getMiniObjectLockstate s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Int32-    return val--{- |-Set the value of the “@lockstate@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' miniObject [ #lockstate 'Data.GI.Base.Attributes.:=' value ]-@--}-setMiniObjectLockstate :: MonadIO m => MiniObject -> Int32 -> m ()-setMiniObjectLockstate s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 12) (val :: Int32)--#if ENABLE_OVERLOADING-data MiniObjectLockstateFieldInfo-instance AttrInfo MiniObjectLockstateFieldInfo where-    type AttrAllowedOps MiniObjectLockstateFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MiniObjectLockstateFieldInfo = (~) Int32-    type AttrBaseTypeConstraint MiniObjectLockstateFieldInfo = (~) MiniObject-    type AttrGetType MiniObjectLockstateFieldInfo = Int32-    type AttrLabel MiniObjectLockstateFieldInfo = "lockstate"-    type AttrOrigin MiniObjectLockstateFieldInfo = MiniObject-    attrGet _ = getMiniObjectLockstate-    attrSet _ = setMiniObjectLockstate-    attrConstruct = undefined-    attrClear _ = undefined--miniObject_lockstate :: AttrLabelProxy "lockstate"-miniObject_lockstate = AttrLabelProxy--#endif---{- |-Get the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' miniObject #flags-@--}-getMiniObjectFlags :: MonadIO m => MiniObject -> m Word32-getMiniObjectFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word32-    return val--{- |-Set the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' miniObject [ #flags 'Data.GI.Base.Attributes.:=' value ]-@--}-setMiniObjectFlags :: MonadIO m => MiniObject -> Word32 -> m ()-setMiniObjectFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word32)--#if ENABLE_OVERLOADING-data MiniObjectFlagsFieldInfo-instance AttrInfo MiniObjectFlagsFieldInfo where-    type AttrAllowedOps MiniObjectFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint MiniObjectFlagsFieldInfo = (~) Word32-    type AttrBaseTypeConstraint MiniObjectFlagsFieldInfo = (~) MiniObject-    type AttrGetType MiniObjectFlagsFieldInfo = Word32-    type AttrLabel MiniObjectFlagsFieldInfo = "flags"-    type AttrOrigin MiniObjectFlagsFieldInfo = MiniObject-    attrGet _ = getMiniObjectFlags-    attrSet _ = setMiniObjectFlags-    attrConstruct = undefined-    attrClear _ = undefined--miniObject_flags :: AttrLabelProxy "flags"-miniObject_flags = AttrLabelProxy--#endif---{- |-Get the value of the “@dispose@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' miniObject #dispose-@--}-getMiniObjectDispose :: MonadIO m => MiniObject -> m (Maybe Gst.Callbacks.MiniObjectDisposeFunction)-getMiniObjectDispose s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr Gst.Callbacks.C_MiniObjectDisposeFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_MiniObjectDisposeFunction val'-        return val''-    return result--{- |-Set the value of the “@dispose@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' miniObject [ #dispose 'Data.GI.Base.Attributes.:=' value ]-@--}-setMiniObjectDispose :: MonadIO m => MiniObject -> FunPtr Gst.Callbacks.C_MiniObjectDisposeFunction -> m ()-setMiniObjectDispose s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: FunPtr Gst.Callbacks.C_MiniObjectDisposeFunction)--{- |-Set the value of the “@dispose@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #dispose-@--}-clearMiniObjectDispose :: MonadIO m => MiniObject -> m ()-clearMiniObjectDispose s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_MiniObjectDisposeFunction)--#if ENABLE_OVERLOADING-data MiniObjectDisposeFieldInfo-instance AttrInfo MiniObjectDisposeFieldInfo where-    type AttrAllowedOps MiniObjectDisposeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MiniObjectDisposeFieldInfo = (~) (FunPtr Gst.Callbacks.C_MiniObjectDisposeFunction)-    type AttrBaseTypeConstraint MiniObjectDisposeFieldInfo = (~) MiniObject-    type AttrGetType MiniObjectDisposeFieldInfo = Maybe Gst.Callbacks.MiniObjectDisposeFunction-    type AttrLabel MiniObjectDisposeFieldInfo = "dispose"-    type AttrOrigin MiniObjectDisposeFieldInfo = MiniObject-    attrGet _ = getMiniObjectDispose-    attrSet _ = setMiniObjectDispose-    attrConstruct = undefined-    attrClear _ = clearMiniObjectDispose--miniObject_dispose :: AttrLabelProxy "dispose"-miniObject_dispose = AttrLabelProxy--#endif---{- |-Get the value of the “@free@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' miniObject #free-@--}-getMiniObjectFree :: MonadIO m => MiniObject -> m (Maybe Gst.Callbacks.MiniObjectFreeFunction)-getMiniObjectFree s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr Gst.Callbacks.C_MiniObjectFreeFunction)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_MiniObjectFreeFunction val'-        return val''-    return result--{- |-Set the value of the “@free@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' miniObject [ #free 'Data.GI.Base.Attributes.:=' value ]-@--}-setMiniObjectFree :: MonadIO m => MiniObject -> FunPtr Gst.Callbacks.C_MiniObjectFreeFunction -> m ()-setMiniObjectFree s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: FunPtr Gst.Callbacks.C_MiniObjectFreeFunction)--{- |-Set the value of the “@free@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #free-@--}-clearMiniObjectFree :: MonadIO m => MiniObject -> m ()-clearMiniObjectFree s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_MiniObjectFreeFunction)--#if ENABLE_OVERLOADING-data MiniObjectFreeFieldInfo-instance AttrInfo MiniObjectFreeFieldInfo where-    type AttrAllowedOps MiniObjectFreeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MiniObjectFreeFieldInfo = (~) (FunPtr Gst.Callbacks.C_MiniObjectFreeFunction)-    type AttrBaseTypeConstraint MiniObjectFreeFieldInfo = (~) MiniObject-    type AttrGetType MiniObjectFreeFieldInfo = Maybe Gst.Callbacks.MiniObjectFreeFunction-    type AttrLabel MiniObjectFreeFieldInfo = "free"-    type AttrOrigin MiniObjectFreeFieldInfo = MiniObject-    attrGet _ = getMiniObjectFree-    attrSet _ = setMiniObjectFree-    attrConstruct = undefined-    attrClear _ = clearMiniObjectFree--miniObject_free :: AttrLabelProxy "free"-miniObject_free = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList MiniObject-type instance O.AttributeList MiniObject = MiniObjectAttributeList-type MiniObjectAttributeList = ('[ '("type", MiniObjectTypeFieldInfo), '("refcount", MiniObjectRefcountFieldInfo), '("lockstate", MiniObjectLockstateFieldInfo), '("flags", MiniObjectFlagsFieldInfo), '("dispose", MiniObjectDisposeFieldInfo), '("free", MiniObjectFreeFieldInfo)] :: [(Symbol, *)])-#endif---- method MiniObject::add_parent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMiniObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a parent #GstMiniObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_mini_object_add_parent" gst_mini_object_add_parent :: -    Ptr MiniObject ->                       -- object : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    Ptr MiniObject ->                       -- parent : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    IO ()--{- |-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.--/Since: 1.16/--}-miniObjectAddParent ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MiniObject-    {- ^ /@object@/: a 'GI.Gst.Structs.MiniObject.MiniObject' -}-    -> MiniObject-    {- ^ /@parent@/: a parent 'GI.Gst.Structs.MiniObject.MiniObject' -}-    -> m ()-miniObjectAddParent object parent = liftIO $ do-    object' <- unsafeManagedPtrGetPtr object-    parent' <- unsafeManagedPtrGetPtr parent-    gst_mini_object_add_parent object' parent'-    touchManagedPtr object-    touchManagedPtr parent-    return ()--#if ENABLE_OVERLOADING-data MiniObjectAddParentMethodInfo-instance (signature ~ (MiniObject -> m ()), MonadIO m) => O.MethodInfo MiniObjectAddParentMethodInfo MiniObject signature where-    overloadedMethod _ = miniObjectAddParent--#endif---- method MiniObject::get_qdata--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GstMiniObject to get a stored user data pointer from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GQuark, naming the user data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "gst_mini_object_get_qdata" gst_mini_object_get_qdata :: -    Ptr MiniObject ->                       -- object : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    Word32 ->                               -- quark : TBasicType TUInt32-    IO (Ptr ())--{- |-This function gets back user data pointers stored via-'GI.Gst.Structs.MiniObject.miniObjectSetQdata'.--}-miniObjectGetQdata ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MiniObject-    {- ^ /@object@/: The GstMiniObject to get a stored user data pointer from -}-    -> Word32-    {- ^ /@quark@/: A @/GQuark/@, naming the user data pointer -}-    -> m (Ptr ())-    {- ^ __Returns:__ The user data pointer set, or-'Nothing' -}-miniObjectGetQdata object quark = liftIO $ do-    object' <- unsafeManagedPtrGetPtr object-    result <- gst_mini_object_get_qdata object' quark-    touchManagedPtr object-    return result--#if ENABLE_OVERLOADING-data MiniObjectGetQdataMethodInfo-instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m) => O.MethodInfo MiniObjectGetQdataMethodInfo MiniObject signature where-    overloadedMethod _ = miniObjectGetQdata--#endif---- method MiniObject::is_writable--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mini_object", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mini-object to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_mini_object_is_writable" gst_mini_object_is_writable :: -    Ptr MiniObject ->                       -- mini_object : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    IO CInt--{- |-If /@miniObject@/ 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 /@miniObject@/ 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.--}-miniObjectIsWritable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MiniObject-    {- ^ /@miniObject@/: the mini-object to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the object is writable. -}-miniObjectIsWritable miniObject = liftIO $ do-    miniObject' <- unsafeManagedPtrGetPtr miniObject-    result <- gst_mini_object_is_writable miniObject'-    let result' = (/= 0) result-    touchManagedPtr miniObject-    return result'--#if ENABLE_OVERLOADING-data MiniObjectIsWritableMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo MiniObjectIsWritableMethodInfo MiniObject signature where-    overloadedMethod _ = miniObjectIsWritable--#endif---- method MiniObject::lock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mini-object to lock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "LockFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstLockFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_mini_object_lock" gst_mini_object_lock :: -    Ptr MiniObject ->                       -- object : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "LockFlags"})-    IO CInt--{- |-Lock the mini-object with the specified access mode in /@flags@/.--}-miniObjectLock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MiniObject-    {- ^ /@object@/: the mini-object to lock -}-    -> [Gst.Flags.LockFlags]-    {- ^ /@flags@/: 'GI.Gst.Flags.LockFlags' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@object@/ could be locked. -}-miniObjectLock object flags = liftIO $ do-    object' <- unsafeManagedPtrGetPtr object-    let flags' = gflagsToWord flags-    result <- gst_mini_object_lock object' flags'-    let result' = (/= 0) result-    touchManagedPtr object-    return result'--#if ENABLE_OVERLOADING-data MiniObjectLockMethodInfo-instance (signature ~ ([Gst.Flags.LockFlags] -> m Bool), MonadIO m) => O.MethodInfo MiniObjectLockMethodInfo MiniObject signature where-    overloadedMethod _ = miniObjectLock--#endif---- method MiniObject::remove_parent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMiniObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a parent #GstMiniObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_mini_object_remove_parent" gst_mini_object_remove_parent :: -    Ptr MiniObject ->                       -- object : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    Ptr MiniObject ->                       -- parent : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    IO ()--{- |-This removes /@parent@/ as a parent for /@object@/. See-'GI.Gst.Structs.MiniObject.miniObjectAddParent'.--/Since: 1.16/--}-miniObjectRemoveParent ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MiniObject-    {- ^ /@object@/: a 'GI.Gst.Structs.MiniObject.MiniObject' -}-    -> MiniObject-    {- ^ /@parent@/: a parent 'GI.Gst.Structs.MiniObject.MiniObject' -}-    -> m ()-miniObjectRemoveParent object parent = liftIO $ do-    object' <- unsafeManagedPtrGetPtr object-    parent' <- unsafeManagedPtrGetPtr parent-    gst_mini_object_remove_parent object' parent'-    touchManagedPtr object-    touchManagedPtr parent-    return ()--#if ENABLE_OVERLOADING-data MiniObjectRemoveParentMethodInfo-instance (signature ~ (MiniObject -> m ()), MonadIO m) => O.MethodInfo MiniObjectRemoveParentMethodInfo MiniObject signature where-    overloadedMethod _ = miniObjectRemoveParent--#endif---- method MiniObject::set_qdata--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstMiniObject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GQuark, naming the user data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "An opaque user data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Function to invoke with @data as argument, when @data\n          needs to be freed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_mini_object_set_qdata" gst_mini_object_set_qdata :: -    Ptr MiniObject ->                       -- object : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    Word32 ->                               -- quark : TBasicType TUInt32-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-This sets an opaque, named pointer on a miniobject.-The name is specified through a @/GQuark/@ (retrieved e.g. via-'GI.GLib.Functions.quarkFromStaticString'), and the pointer-can be gotten back from the /@object@/ with 'GI.Gst.Structs.MiniObject.miniObjectGetQdata'-until the /@object@/ is disposed.-Setting a previously set user data pointer, overrides (frees)-the old pointer set, using 'Nothing' 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 'GI.Gst.Structs.MiniObject.miniObjectSetQdata' with the same /@quark@/.--}-miniObjectSetQdata ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MiniObject-    {- ^ /@object@/: a 'GI.Gst.Structs.MiniObject.MiniObject' -}-    -> Word32-    {- ^ /@quark@/: A @/GQuark/@, naming the user data pointer -}-    -> Ptr ()-    {- ^ /@data@/: An opaque user data pointer -}-    -> GLib.Callbacks.DestroyNotify-    {- ^ /@destroy@/: Function to invoke with /@data@/ as argument, when /@data@/-          needs to be freed -}-    -> m ()-miniObjectSetQdata object quark data_ destroy = liftIO $ do-    object' <- unsafeManagedPtrGetPtr object-    ptrdestroy <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-    destroy' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrdestroy) destroy)-    poke ptrdestroy destroy'-    gst_mini_object_set_qdata object' quark data_ destroy'-    touchManagedPtr object-    return ()--#if ENABLE_OVERLOADING-data MiniObjectSetQdataMethodInfo-instance (signature ~ (Word32 -> Ptr () -> GLib.Callbacks.DestroyNotify -> m ()), MonadIO m) => O.MethodInfo MiniObjectSetQdataMethodInfo MiniObject signature where-    overloadedMethod _ = miniObjectSetQdata--#endif---- method MiniObject::steal_qdata--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The GstMiniObject to get a stored user data pointer from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GQuark, naming the user data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "gst_mini_object_steal_qdata" gst_mini_object_steal_qdata :: -    Ptr MiniObject ->                       -- object : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    Word32 ->                               -- quark : TBasicType TUInt32-    IO (Ptr ())--{- |-This function gets back user data pointers stored via 'GI.Gst.Structs.MiniObject.miniObjectSetQdata'-and removes the data from /@object@/ without invoking its @/destroy()/@ function (if-any was set).--}-miniObjectStealQdata ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MiniObject-    {- ^ /@object@/: The GstMiniObject to get a stored user data pointer from -}-    -> Word32-    {- ^ /@quark@/: A @/GQuark/@, naming the user data pointer -}-    -> m (Ptr ())-    {- ^ __Returns:__ The user data pointer set, or-'Nothing' -}-miniObjectStealQdata object quark = liftIO $ do-    object' <- unsafeManagedPtrGetPtr object-    result <- gst_mini_object_steal_qdata object' quark-    touchManagedPtr object-    return result--#if ENABLE_OVERLOADING-data MiniObjectStealQdataMethodInfo-instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m) => O.MethodInfo MiniObjectStealQdataMethodInfo MiniObject signature where-    overloadedMethod _ = miniObjectStealQdata--#endif---- method MiniObject::unlock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "object", argType = TInterface (Name {namespace = "Gst", name = "MiniObject"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mini-object to unlock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "LockFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstLockFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_mini_object_unlock" gst_mini_object_unlock :: -    Ptr MiniObject ->                       -- object : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "LockFlags"})-    IO ()--{- |-Unlock the mini-object with the specified access mode in /@flags@/.--}-miniObjectUnlock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MiniObject-    {- ^ /@object@/: the mini-object to unlock -}-    -> [Gst.Flags.LockFlags]-    {- ^ /@flags@/: 'GI.Gst.Flags.LockFlags' -}-    -> m ()-miniObjectUnlock object flags = liftIO $ do-    object' <- unsafeManagedPtrGetPtr object-    let flags' = gflagsToWord flags-    gst_mini_object_unlock object' flags'-    touchManagedPtr object-    return ()--#if ENABLE_OVERLOADING-data MiniObjectUnlockMethodInfo-instance (signature ~ ([Gst.Flags.LockFlags] -> m ()), MonadIO m) => O.MethodInfo MiniObjectUnlockMethodInfo MiniObject signature where-    overloadedMethod _ = miniObjectUnlock--#endif---- XXX Could not generate method MiniObject::replace--- Error was : Not implemented: "Nullable inout structs not supported"-#if ENABLE_OVERLOADING-type family ResolveMiniObjectMethod (t :: Symbol) (o :: *) :: * where-    ResolveMiniObjectMethod "addParent" o = MiniObjectAddParentMethodInfo-    ResolveMiniObjectMethod "isWritable" o = MiniObjectIsWritableMethodInfo-    ResolveMiniObjectMethod "lock" o = MiniObjectLockMethodInfo-    ResolveMiniObjectMethod "removeParent" o = MiniObjectRemoveParentMethodInfo-    ResolveMiniObjectMethod "stealQdata" o = MiniObjectStealQdataMethodInfo-    ResolveMiniObjectMethod "unlock" o = MiniObjectUnlockMethodInfo-    ResolveMiniObjectMethod "getQdata" o = MiniObjectGetQdataMethodInfo-    ResolveMiniObjectMethod "setQdata" o = MiniObjectSetQdataMethodInfo-    ResolveMiniObjectMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMiniObjectMethod t MiniObject, O.MethodInfo info MiniObject p) => OL.IsLabel t (MiniObject -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/MiniObject.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.MiniObject where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype MiniObject = MiniObject (ManagedPtr MiniObject)-instance WrappedPtr MiniObject where-#if ENABLE_OVERLOADING-data MiniObjectAddParentMethodInfo-#endif-#if ENABLE_OVERLOADING-data MiniObjectGetQdataMethodInfo-#endif-#if ENABLE_OVERLOADING-data MiniObjectIsWritableMethodInfo-#endif-#if ENABLE_OVERLOADING-data MiniObjectLockMethodInfo-#endif-#if ENABLE_OVERLOADING-data MiniObjectRemoveParentMethodInfo-#endif-#if ENABLE_OVERLOADING-data MiniObjectSetQdataMethodInfo-#endif-#if ENABLE_OVERLOADING-data MiniObjectStealQdataMethodInfo-#endif-#if ENABLE_OVERLOADING-data MiniObjectUnlockMethodInfo-#endif
− GI/Gst/Structs/PadProbeInfo.hs
@@ -1,576 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Info passed in the 'GI.Gst.Callbacks.PadProbeCallback'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.PadProbeInfo-    ( ---- * Exported types-    PadProbeInfo(..)                        ,-    newZeroPadProbeInfo                     ,-    noPadProbeInfo                          ,--- -- * Methods--- ** getBuffer #method:getBuffer#--#if ENABLE_OVERLOADING-    PadProbeInfoGetBufferMethodInfo         ,-#endif-    padProbeInfoGetBuffer                   ,----- ** getBufferList #method:getBufferList#--#if ENABLE_OVERLOADING-    PadProbeInfoGetBufferListMethodInfo     ,-#endif-    padProbeInfoGetBufferList               ,----- ** getEvent #method:getEvent#--#if ENABLE_OVERLOADING-    PadProbeInfoGetEventMethodInfo          ,-#endif-    padProbeInfoGetEvent                    ,----- ** getQuery #method:getQuery#--#if ENABLE_OVERLOADING-    PadProbeInfoGetQueryMethodInfo          ,-#endif-    padProbeInfoGetQuery                    ,----- -- * Properties--- ** data #attr:data#-{- | type specific data, check the /@type@/ field to know the-   datatype.  This field can be 'Nothing'.--}-    clearPadProbeInfoData                   ,-    getPadProbeInfoData                     ,-#if ENABLE_OVERLOADING-    padProbeInfo_data                       ,-#endif-    setPadProbeInfoData                     ,----- ** id #attr:id#-{- | the id of the probe--}-    getPadProbeInfoId                       ,-#if ENABLE_OVERLOADING-    padProbeInfo_id                         ,-#endif-    setPadProbeInfoId                       ,----- ** offset #attr:offset#-{- | offset of pull probe, this field is valid when /@type@/ contains-   @/GST_PAD_PROBE_TYPE_PULL/@--}-    getPadProbeInfoOffset                   ,-#if ENABLE_OVERLOADING-    padProbeInfo_offset                     ,-#endif-    setPadProbeInfoOffset                   ,----- ** size #attr:size#-{- | size of pull probe, this field is valid when /@type@/ contains-   @/GST_PAD_PROBE_TYPE_PULL/@--}-    getPadProbeInfoSize                     ,-#if ENABLE_OVERLOADING-    padProbeInfo_size                       ,-#endif-    setPadProbeInfoSize                     ,----- ** type #attr:type#-{- | the current probe type--}-    getPadProbeInfoType                     ,-#if ENABLE_OVERLOADING-    padProbeInfo_type                       ,-#endif-    setPadProbeInfoType                     ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.Gst.Structs.BufferList as Gst.BufferList-import {-# SOURCE #-} qualified GI.Gst.Structs.Event as Gst.Event-import {-# SOURCE #-} qualified GI.Gst.Structs.Query as Gst.Query---- | Memory-managed wrapper type.-newtype PadProbeInfo = PadProbeInfo (ManagedPtr PadProbeInfo)-instance WrappedPtr PadProbeInfo where-    wrappedPtrCalloc = callocBytes 40-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr PadProbeInfo)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `PadProbeInfo` struct initialized to zero.-newZeroPadProbeInfo :: MonadIO m => m PadProbeInfo-newZeroPadProbeInfo = liftIO $ wrappedPtrCalloc >>= wrapPtr PadProbeInfo--instance tag ~ 'AttrSet => Constructible PadProbeInfo tag where-    new _ attrs = do-        o <- newZeroPadProbeInfo-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `PadProbeInfo`.-noPadProbeInfo :: Maybe PadProbeInfo-noPadProbeInfo = Nothing--{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padProbeInfo #type-@--}-getPadProbeInfoType :: MonadIO m => PadProbeInfo -> m [Gst.Flags.PadProbeType]-getPadProbeInfoType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = wordToGFlags val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' padProbeInfo [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setPadProbeInfoType :: MonadIO m => PadProbeInfo -> [Gst.Flags.PadProbeType] -> m ()-setPadProbeInfoType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gflagsToWord val-    poke (ptr `plusPtr` 0) (val' :: CUInt)--#if ENABLE_OVERLOADING-data PadProbeInfoTypeFieldInfo-instance AttrInfo PadProbeInfoTypeFieldInfo where-    type AttrAllowedOps PadProbeInfoTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PadProbeInfoTypeFieldInfo = (~) [Gst.Flags.PadProbeType]-    type AttrBaseTypeConstraint PadProbeInfoTypeFieldInfo = (~) PadProbeInfo-    type AttrGetType PadProbeInfoTypeFieldInfo = [Gst.Flags.PadProbeType]-    type AttrLabel PadProbeInfoTypeFieldInfo = "type"-    type AttrOrigin PadProbeInfoTypeFieldInfo = PadProbeInfo-    attrGet _ = getPadProbeInfoType-    attrSet _ = setPadProbeInfoType-    attrConstruct = undefined-    attrClear _ = undefined--padProbeInfo_type :: AttrLabelProxy "type"-padProbeInfo_type = AttrLabelProxy--#endif---{- |-Get the value of the “@id@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padProbeInfo #id-@--}-getPadProbeInfoId :: MonadIO m => PadProbeInfo -> m CULong-getPadProbeInfoId s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CULong-    return val--{- |-Set the value of the “@id@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' padProbeInfo [ #id 'Data.GI.Base.Attributes.:=' value ]-@--}-setPadProbeInfoId :: MonadIO m => PadProbeInfo -> CULong -> m ()-setPadProbeInfoId s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: CULong)--#if ENABLE_OVERLOADING-data PadProbeInfoIdFieldInfo-instance AttrInfo PadProbeInfoIdFieldInfo where-    type AttrAllowedOps PadProbeInfoIdFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PadProbeInfoIdFieldInfo = (~) CULong-    type AttrBaseTypeConstraint PadProbeInfoIdFieldInfo = (~) PadProbeInfo-    type AttrGetType PadProbeInfoIdFieldInfo = CULong-    type AttrLabel PadProbeInfoIdFieldInfo = "id"-    type AttrOrigin PadProbeInfoIdFieldInfo = PadProbeInfo-    attrGet _ = getPadProbeInfoId-    attrSet _ = setPadProbeInfoId-    attrConstruct = undefined-    attrClear _ = undefined--padProbeInfo_id :: AttrLabelProxy "id"-padProbeInfo_id = AttrLabelProxy--#endif---{- |-Get the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padProbeInfo #data-@--}-getPadProbeInfoData :: MonadIO m => PadProbeInfo -> m (Ptr ())-getPadProbeInfoData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr ())-    return val--{- |-Set the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' padProbeInfo [ #data 'Data.GI.Base.Attributes.:=' value ]-@--}-setPadProbeInfoData :: MonadIO m => PadProbeInfo -> Ptr () -> m ()-setPadProbeInfoData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Ptr ())--{- |-Set the value of the “@data@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #data-@--}-clearPadProbeInfoData :: MonadIO m => PadProbeInfo -> m ()-clearPadProbeInfoData s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data PadProbeInfoDataFieldInfo-instance AttrInfo PadProbeInfoDataFieldInfo where-    type AttrAllowedOps PadProbeInfoDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PadProbeInfoDataFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint PadProbeInfoDataFieldInfo = (~) PadProbeInfo-    type AttrGetType PadProbeInfoDataFieldInfo = Ptr ()-    type AttrLabel PadProbeInfoDataFieldInfo = "data"-    type AttrOrigin PadProbeInfoDataFieldInfo = PadProbeInfo-    attrGet _ = getPadProbeInfoData-    attrSet _ = setPadProbeInfoData-    attrConstruct = undefined-    attrClear _ = clearPadProbeInfoData--padProbeInfo_data :: AttrLabelProxy "data"-padProbeInfo_data = AttrLabelProxy--#endif---{- |-Get the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padProbeInfo #offset-@--}-getPadProbeInfoOffset :: MonadIO m => PadProbeInfo -> m Word64-getPadProbeInfoOffset s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word64-    return val--{- |-Set the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' padProbeInfo [ #offset 'Data.GI.Base.Attributes.:=' value ]-@--}-setPadProbeInfoOffset :: MonadIO m => PadProbeInfo -> Word64 -> m ()-setPadProbeInfoOffset s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Word64)--#if ENABLE_OVERLOADING-data PadProbeInfoOffsetFieldInfo-instance AttrInfo PadProbeInfoOffsetFieldInfo where-    type AttrAllowedOps PadProbeInfoOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PadProbeInfoOffsetFieldInfo = (~) Word64-    type AttrBaseTypeConstraint PadProbeInfoOffsetFieldInfo = (~) PadProbeInfo-    type AttrGetType PadProbeInfoOffsetFieldInfo = Word64-    type AttrLabel PadProbeInfoOffsetFieldInfo = "offset"-    type AttrOrigin PadProbeInfoOffsetFieldInfo = PadProbeInfo-    attrGet _ = getPadProbeInfoOffset-    attrSet _ = setPadProbeInfoOffset-    attrConstruct = undefined-    attrClear _ = undefined--padProbeInfo_offset :: AttrLabelProxy "offset"-padProbeInfo_offset = AttrLabelProxy--#endif---{- |-Get the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' padProbeInfo #size-@--}-getPadProbeInfoSize :: MonadIO m => PadProbeInfo -> m Word32-getPadProbeInfoSize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Word32-    return val--{- |-Set the value of the “@size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' padProbeInfo [ #size 'Data.GI.Base.Attributes.:=' value ]-@--}-setPadProbeInfoSize :: MonadIO m => PadProbeInfo -> Word32 -> m ()-setPadProbeInfoSize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: Word32)--#if ENABLE_OVERLOADING-data PadProbeInfoSizeFieldInfo-instance AttrInfo PadProbeInfoSizeFieldInfo where-    type AttrAllowedOps PadProbeInfoSizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PadProbeInfoSizeFieldInfo = (~) Word32-    type AttrBaseTypeConstraint PadProbeInfoSizeFieldInfo = (~) PadProbeInfo-    type AttrGetType PadProbeInfoSizeFieldInfo = Word32-    type AttrLabel PadProbeInfoSizeFieldInfo = "size"-    type AttrOrigin PadProbeInfoSizeFieldInfo = PadProbeInfo-    attrGet _ = getPadProbeInfoSize-    attrSet _ = setPadProbeInfoSize-    attrConstruct = undefined-    attrClear _ = undefined--padProbeInfo_size :: AttrLabelProxy "size"-padProbeInfo_size = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList PadProbeInfo-type instance O.AttributeList PadProbeInfo = PadProbeInfoAttributeList-type PadProbeInfoAttributeList = ('[ '("type", PadProbeInfoTypeFieldInfo), '("id", PadProbeInfoIdFieldInfo), '("data", PadProbeInfoDataFieldInfo), '("offset", PadProbeInfoOffsetFieldInfo), '("size", PadProbeInfoSizeFieldInfo)] :: [(Symbol, *)])-#endif---- method PadProbeInfo::get_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "PadProbeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadProbeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_probe_info_get_buffer" gst_pad_probe_info_get_buffer :: -    Ptr PadProbeInfo ->                     -- info : TInterface (Name {namespace = "Gst", name = "PadProbeInfo"})-    IO (Ptr Gst.Buffer.Buffer)--{- |-/No description available in the introspection data./--}-padProbeInfoGetBuffer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    PadProbeInfo-    {- ^ /@info@/: a 'GI.Gst.Structs.PadProbeInfo.PadProbeInfo' -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ The 'GI.Gst.Structs.Buffer.Buffer' from the probe -}-padProbeInfoGetBuffer info = liftIO $ do-    info' <- unsafeManagedPtrGetPtr info-    result <- gst_pad_probe_info_get_buffer info'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr info-    return maybeResult--#if ENABLE_OVERLOADING-data PadProbeInfoGetBufferMethodInfo-instance (signature ~ (m (Maybe Gst.Buffer.Buffer)), MonadIO m) => O.MethodInfo PadProbeInfoGetBufferMethodInfo PadProbeInfo signature where-    overloadedMethod _ = padProbeInfoGetBuffer--#endif---- method PadProbeInfo::get_buffer_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "PadProbeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadProbeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_probe_info_get_buffer_list" gst_pad_probe_info_get_buffer_list :: -    Ptr PadProbeInfo ->                     -- info : TInterface (Name {namespace = "Gst", name = "PadProbeInfo"})-    IO (Ptr Gst.BufferList.BufferList)--{- |-/No description available in the introspection data./--}-padProbeInfoGetBufferList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    PadProbeInfo-    {- ^ /@info@/: a 'GI.Gst.Structs.PadProbeInfo.PadProbeInfo' -}-    -> m (Maybe Gst.BufferList.BufferList)-    {- ^ __Returns:__ The 'GI.Gst.Structs.BufferList.BufferList' from the probe -}-padProbeInfoGetBufferList info = liftIO $ do-    info' <- unsafeManagedPtrGetPtr info-    result <- gst_pad_probe_info_get_buffer_list info'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.BufferList.BufferList) result'-        return result''-    touchManagedPtr info-    return maybeResult--#if ENABLE_OVERLOADING-data PadProbeInfoGetBufferListMethodInfo-instance (signature ~ (m (Maybe Gst.BufferList.BufferList)), MonadIO m) => O.MethodInfo PadProbeInfoGetBufferListMethodInfo PadProbeInfo signature where-    overloadedMethod _ = padProbeInfoGetBufferList--#endif---- method PadProbeInfo::get_event--- method type : OrdinaryMethod--- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "PadProbeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadProbeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Event"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_probe_info_get_event" gst_pad_probe_info_get_event :: -    Ptr PadProbeInfo ->                     -- info : TInterface (Name {namespace = "Gst", name = "PadProbeInfo"})-    IO (Ptr Gst.Event.Event)--{- |-/No description available in the introspection data./--}-padProbeInfoGetEvent ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    PadProbeInfo-    {- ^ /@info@/: a 'GI.Gst.Structs.PadProbeInfo.PadProbeInfo' -}-    -> m (Maybe Gst.Event.Event)-    {- ^ __Returns:__ The 'GI.Gst.Structs.Event.Event' from the probe -}-padProbeInfoGetEvent info = liftIO $ do-    info' <- unsafeManagedPtrGetPtr info-    result <- gst_pad_probe_info_get_event info'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Event.Event) result'-        return result''-    touchManagedPtr info-    return maybeResult--#if ENABLE_OVERLOADING-data PadProbeInfoGetEventMethodInfo-instance (signature ~ (m (Maybe Gst.Event.Event)), MonadIO m) => O.MethodInfo PadProbeInfoGetEventMethodInfo PadProbeInfo signature where-    overloadedMethod _ = padProbeInfoGetEvent--#endif---- method PadProbeInfo::get_query--- method type : OrdinaryMethod--- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "PadProbeInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadProbeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_pad_probe_info_get_query" gst_pad_probe_info_get_query :: -    Ptr PadProbeInfo ->                     -- info : TInterface (Name {namespace = "Gst", name = "PadProbeInfo"})-    IO (Ptr Gst.Query.Query)--{- |-/No description available in the introspection data./--}-padProbeInfoGetQuery ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    PadProbeInfo-    {- ^ /@info@/: a 'GI.Gst.Structs.PadProbeInfo.PadProbeInfo' -}-    -> m (Maybe Gst.Query.Query)-    {- ^ __Returns:__ The 'GI.Gst.Structs.Query.Query' from the probe -}-padProbeInfoGetQuery info = liftIO $ do-    info' <- unsafeManagedPtrGetPtr info-    result <- gst_pad_probe_info_get_query info'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Query.Query) result'-        return result''-    touchManagedPtr info-    return maybeResult--#if ENABLE_OVERLOADING-data PadProbeInfoGetQueryMethodInfo-instance (signature ~ (m (Maybe Gst.Query.Query)), MonadIO m) => O.MethodInfo PadProbeInfoGetQueryMethodInfo PadProbeInfo signature where-    overloadedMethod _ = padProbeInfoGetQuery--#endif--#if ENABLE_OVERLOADING-type family ResolvePadProbeInfoMethod (t :: Symbol) (o :: *) :: * where-    ResolvePadProbeInfoMethod "getBuffer" o = PadProbeInfoGetBufferMethodInfo-    ResolvePadProbeInfoMethod "getBufferList" o = PadProbeInfoGetBufferListMethodInfo-    ResolvePadProbeInfoMethod "getEvent" o = PadProbeInfoGetEventMethodInfo-    ResolvePadProbeInfoMethod "getQuery" o = PadProbeInfoGetQueryMethodInfo-    ResolvePadProbeInfoMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePadProbeInfoMethod t PadProbeInfo, O.MethodInfo info PadProbeInfo p) => OL.IsLabel t (PadProbeInfo -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/PadProbeInfo.hs-boot
@@ -1,38 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.PadProbeInfo where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype PadProbeInfo = PadProbeInfo (ManagedPtr PadProbeInfo)-instance WrappedPtr PadProbeInfo where-#if ENABLE_OVERLOADING-data PadProbeInfoGetBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadProbeInfoGetBufferListMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadProbeInfoGetEventMethodInfo-#endif-#if ENABLE_OVERLOADING-data PadProbeInfoGetQueryMethodInfo-#endif
− GI/Gst/Structs/ParamSpecArray.hs
@@ -1,233 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A GParamSpec derived structure for arrays of values.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.ParamSpecArray-    ( ---- * Exported types-    ParamSpecArray(..)                      ,-    newZeroParamSpecArray                   ,-    noParamSpecArray                        ,--- -- * Properties--- ** elementSpec #attr:elementSpec#-{- | the 'GI.GObject.Objects.ParamSpec.ParamSpec' of the type of values in the array--}-    clearParamSpecArrayElementSpec          ,-    getParamSpecArrayElementSpec            ,-#if ENABLE_OVERLOADING-    paramSpecArray_elementSpec              ,-#endif-    setParamSpecArrayElementSpec            ,----- ** parentInstance #attr:parentInstance#-{- | super class--}-    clearParamSpecArrayParentInstance       ,-    getParamSpecArrayParentInstance         ,-#if ENABLE_OVERLOADING-    paramSpecArray_parentInstance           ,-#endif-    setParamSpecArrayParentInstance         ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- | Memory-managed wrapper type.-newtype ParamSpecArray = ParamSpecArray (ManagedPtr ParamSpecArray)-instance WrappedPtr ParamSpecArray where-    wrappedPtrCalloc = callocBytes 80-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 80 >=> wrapPtr ParamSpecArray)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `ParamSpecArray` struct initialized to zero.-newZeroParamSpecArray :: MonadIO m => m ParamSpecArray-newZeroParamSpecArray = liftIO $ wrappedPtrCalloc >>= wrapPtr ParamSpecArray--instance tag ~ 'AttrSet => Constructible ParamSpecArray tag where-    new _ attrs = do-        o <- newZeroParamSpecArray-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ParamSpecArray`.-noParamSpecArray :: Maybe ParamSpecArray-noParamSpecArray = Nothing--{- |-Get the value of the “@parent_instance@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' paramSpecArray #parentInstance-@--}-getParamSpecArrayParentInstance :: MonadIO m => ParamSpecArray -> m (Maybe GParamSpec)-getParamSpecArrayParentInstance s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr GParamSpec)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- B.GParamSpec.newGParamSpecFromPtr val'-        return val''-    return result--{- |-Set the value of the “@parent_instance@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' paramSpecArray [ #parentInstance 'Data.GI.Base.Attributes.:=' value ]-@--}-setParamSpecArrayParentInstance :: MonadIO m => ParamSpecArray -> Ptr GParamSpec -> m ()-setParamSpecArrayParentInstance s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr GParamSpec)--{- |-Set the value of the “@parent_instance@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #parentInstance-@--}-clearParamSpecArrayParentInstance :: MonadIO m => ParamSpecArray -> m ()-clearParamSpecArrayParentInstance s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr GParamSpec)--#if ENABLE_OVERLOADING-data ParamSpecArrayParentInstanceFieldInfo-instance AttrInfo ParamSpecArrayParentInstanceFieldInfo where-    type AttrAllowedOps ParamSpecArrayParentInstanceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ParamSpecArrayParentInstanceFieldInfo = (~) (Ptr GParamSpec)-    type AttrBaseTypeConstraint ParamSpecArrayParentInstanceFieldInfo = (~) ParamSpecArray-    type AttrGetType ParamSpecArrayParentInstanceFieldInfo = Maybe GParamSpec-    type AttrLabel ParamSpecArrayParentInstanceFieldInfo = "parent_instance"-    type AttrOrigin ParamSpecArrayParentInstanceFieldInfo = ParamSpecArray-    attrGet _ = getParamSpecArrayParentInstance-    attrSet _ = setParamSpecArrayParentInstance-    attrConstruct = undefined-    attrClear _ = clearParamSpecArrayParentInstance--paramSpecArray_parentInstance :: AttrLabelProxy "parentInstance"-paramSpecArray_parentInstance = AttrLabelProxy--#endif---{- |-Get the value of the “@element_spec@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' paramSpecArray #elementSpec-@--}-getParamSpecArrayElementSpec :: MonadIO m => ParamSpecArray -> m (Maybe GParamSpec)-getParamSpecArrayElementSpec s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO (Ptr GParamSpec)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- B.GParamSpec.newGParamSpecFromPtr val'-        return val''-    return result--{- |-Set the value of the “@element_spec@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' paramSpecArray [ #elementSpec 'Data.GI.Base.Attributes.:=' value ]-@--}-setParamSpecArrayElementSpec :: MonadIO m => ParamSpecArray -> Ptr GParamSpec -> m ()-setParamSpecArrayElementSpec s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: Ptr GParamSpec)--{- |-Set the value of the “@element_spec@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #elementSpec-@--}-clearParamSpecArrayElementSpec :: MonadIO m => ParamSpecArray -> m ()-clearParamSpecArrayElementSpec s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (FP.nullPtr :: Ptr GParamSpec)--#if ENABLE_OVERLOADING-data ParamSpecArrayElementSpecFieldInfo-instance AttrInfo ParamSpecArrayElementSpecFieldInfo where-    type AttrAllowedOps ParamSpecArrayElementSpecFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ParamSpecArrayElementSpecFieldInfo = (~) (Ptr GParamSpec)-    type AttrBaseTypeConstraint ParamSpecArrayElementSpecFieldInfo = (~) ParamSpecArray-    type AttrGetType ParamSpecArrayElementSpecFieldInfo = Maybe GParamSpec-    type AttrLabel ParamSpecArrayElementSpecFieldInfo = "element_spec"-    type AttrOrigin ParamSpecArrayElementSpecFieldInfo = ParamSpecArray-    attrGet _ = getParamSpecArrayElementSpec-    attrSet _ = setParamSpecArrayElementSpec-    attrConstruct = undefined-    attrClear _ = clearParamSpecArrayElementSpec--paramSpecArray_elementSpec :: AttrLabelProxy "elementSpec"-paramSpecArray_elementSpec = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ParamSpecArray-type instance O.AttributeList ParamSpecArray = ParamSpecArrayAttributeList-type ParamSpecArrayAttributeList = ('[ '("parentInstance", ParamSpecArrayParentInstanceFieldInfo), '("elementSpec", ParamSpecArrayElementSpecFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveParamSpecArrayMethod (t :: Symbol) (o :: *) :: * where-    ResolveParamSpecArrayMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveParamSpecArrayMethod t ParamSpecArray, O.MethodInfo info ParamSpecArray p) => OL.IsLabel t (ParamSpecArray -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/ParamSpecArray.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.ParamSpecArray where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ParamSpecArray = ParamSpecArray (ManagedPtr ParamSpecArray)-instance WrappedPtr ParamSpecArray where
− GI/Gst/Structs/ParamSpecFraction.hs
@@ -1,493 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A GParamSpec derived structure that contains the meta data for fractional-properties.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.ParamSpecFraction-    ( ---- * Exported types-    ParamSpecFraction(..)                   ,-    newZeroParamSpecFraction                ,-    noParamSpecFraction                     ,--- -- * Properties--- ** defDen #attr:defDen#-{- | default denominator--}-    getParamSpecFractionDefDen              ,-#if ENABLE_OVERLOADING-    paramSpecFraction_defDen                ,-#endif-    setParamSpecFractionDefDen              ,----- ** defNum #attr:defNum#-{- | default numerator--}-    getParamSpecFractionDefNum              ,-#if ENABLE_OVERLOADING-    paramSpecFraction_defNum                ,-#endif-    setParamSpecFractionDefNum              ,----- ** maxDen #attr:maxDen#-{- | maximal denominator--}-    getParamSpecFractionMaxDen              ,-#if ENABLE_OVERLOADING-    paramSpecFraction_maxDen                ,-#endif-    setParamSpecFractionMaxDen              ,----- ** maxNum #attr:maxNum#-{- | maximal numerator--}-    getParamSpecFractionMaxNum              ,-#if ENABLE_OVERLOADING-    paramSpecFraction_maxNum                ,-#endif-    setParamSpecFractionMaxNum              ,----- ** minDen #attr:minDen#-{- | minimal denominator--}-    getParamSpecFractionMinDen              ,-#if ENABLE_OVERLOADING-    paramSpecFraction_minDen                ,-#endif-    setParamSpecFractionMinDen              ,----- ** minNum #attr:minNum#-{- | minimal numerator--}-    getParamSpecFractionMinNum              ,-#if ENABLE_OVERLOADING-    paramSpecFraction_minNum                ,-#endif-    setParamSpecFractionMinNum              ,----- ** parentInstance #attr:parentInstance#-{- | super class--}-    clearParamSpecFractionParentInstance    ,-    getParamSpecFractionParentInstance      ,-#if ENABLE_OVERLOADING-    paramSpecFraction_parentInstance        ,-#endif-    setParamSpecFractionParentInstance      ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- | Memory-managed wrapper type.-newtype ParamSpecFraction = ParamSpecFraction (ManagedPtr ParamSpecFraction)-instance WrappedPtr ParamSpecFraction where-    wrappedPtrCalloc = callocBytes 96-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 96 >=> wrapPtr ParamSpecFraction)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `ParamSpecFraction` struct initialized to zero.-newZeroParamSpecFraction :: MonadIO m => m ParamSpecFraction-newZeroParamSpecFraction = liftIO $ wrappedPtrCalloc >>= wrapPtr ParamSpecFraction--instance tag ~ 'AttrSet => Constructible ParamSpecFraction tag where-    new _ attrs = do-        o <- newZeroParamSpecFraction-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ParamSpecFraction`.-noParamSpecFraction :: Maybe ParamSpecFraction-noParamSpecFraction = Nothing--{- |-Get the value of the “@parent_instance@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' paramSpecFraction #parentInstance-@--}-getParamSpecFractionParentInstance :: MonadIO m => ParamSpecFraction -> m (Maybe GParamSpec)-getParamSpecFractionParentInstance s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr GParamSpec)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- B.GParamSpec.newGParamSpecFromPtr val'-        return val''-    return result--{- |-Set the value of the “@parent_instance@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' paramSpecFraction [ #parentInstance 'Data.GI.Base.Attributes.:=' value ]-@--}-setParamSpecFractionParentInstance :: MonadIO m => ParamSpecFraction -> Ptr GParamSpec -> m ()-setParamSpecFractionParentInstance s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr GParamSpec)--{- |-Set the value of the “@parent_instance@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #parentInstance-@--}-clearParamSpecFractionParentInstance :: MonadIO m => ParamSpecFraction -> m ()-clearParamSpecFractionParentInstance s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr GParamSpec)--#if ENABLE_OVERLOADING-data ParamSpecFractionParentInstanceFieldInfo-instance AttrInfo ParamSpecFractionParentInstanceFieldInfo where-    type AttrAllowedOps ParamSpecFractionParentInstanceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ParamSpecFractionParentInstanceFieldInfo = (~) (Ptr GParamSpec)-    type AttrBaseTypeConstraint ParamSpecFractionParentInstanceFieldInfo = (~) ParamSpecFraction-    type AttrGetType ParamSpecFractionParentInstanceFieldInfo = Maybe GParamSpec-    type AttrLabel ParamSpecFractionParentInstanceFieldInfo = "parent_instance"-    type AttrOrigin ParamSpecFractionParentInstanceFieldInfo = ParamSpecFraction-    attrGet _ = getParamSpecFractionParentInstance-    attrSet _ = setParamSpecFractionParentInstance-    attrConstruct = undefined-    attrClear _ = clearParamSpecFractionParentInstance--paramSpecFraction_parentInstance :: AttrLabelProxy "parentInstance"-paramSpecFraction_parentInstance = AttrLabelProxy--#endif---{- |-Get the value of the “@min_num@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' paramSpecFraction #minNum-@--}-getParamSpecFractionMinNum :: MonadIO m => ParamSpecFraction -> m Int32-getParamSpecFractionMinNum s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO Int32-    return val--{- |-Set the value of the “@min_num@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' paramSpecFraction [ #minNum 'Data.GI.Base.Attributes.:=' value ]-@--}-setParamSpecFractionMinNum :: MonadIO m => ParamSpecFraction -> Int32 -> m ()-setParamSpecFractionMinNum s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: Int32)--#if ENABLE_OVERLOADING-data ParamSpecFractionMinNumFieldInfo-instance AttrInfo ParamSpecFractionMinNumFieldInfo where-    type AttrAllowedOps ParamSpecFractionMinNumFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ParamSpecFractionMinNumFieldInfo = (~) Int32-    type AttrBaseTypeConstraint ParamSpecFractionMinNumFieldInfo = (~) ParamSpecFraction-    type AttrGetType ParamSpecFractionMinNumFieldInfo = Int32-    type AttrLabel ParamSpecFractionMinNumFieldInfo = "min_num"-    type AttrOrigin ParamSpecFractionMinNumFieldInfo = ParamSpecFraction-    attrGet _ = getParamSpecFractionMinNum-    attrSet _ = setParamSpecFractionMinNum-    attrConstruct = undefined-    attrClear _ = undefined--paramSpecFraction_minNum :: AttrLabelProxy "minNum"-paramSpecFraction_minNum = AttrLabelProxy--#endif---{- |-Get the value of the “@min_den@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' paramSpecFraction #minDen-@--}-getParamSpecFractionMinDen :: MonadIO m => ParamSpecFraction -> m Int32-getParamSpecFractionMinDen s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 76) :: IO Int32-    return val--{- |-Set the value of the “@min_den@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' paramSpecFraction [ #minDen 'Data.GI.Base.Attributes.:=' value ]-@--}-setParamSpecFractionMinDen :: MonadIO m => ParamSpecFraction -> Int32 -> m ()-setParamSpecFractionMinDen s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 76) (val :: Int32)--#if ENABLE_OVERLOADING-data ParamSpecFractionMinDenFieldInfo-instance AttrInfo ParamSpecFractionMinDenFieldInfo where-    type AttrAllowedOps ParamSpecFractionMinDenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ParamSpecFractionMinDenFieldInfo = (~) Int32-    type AttrBaseTypeConstraint ParamSpecFractionMinDenFieldInfo = (~) ParamSpecFraction-    type AttrGetType ParamSpecFractionMinDenFieldInfo = Int32-    type AttrLabel ParamSpecFractionMinDenFieldInfo = "min_den"-    type AttrOrigin ParamSpecFractionMinDenFieldInfo = ParamSpecFraction-    attrGet _ = getParamSpecFractionMinDen-    attrSet _ = setParamSpecFractionMinDen-    attrConstruct = undefined-    attrClear _ = undefined--paramSpecFraction_minDen :: AttrLabelProxy "minDen"-paramSpecFraction_minDen = AttrLabelProxy--#endif---{- |-Get the value of the “@max_num@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' paramSpecFraction #maxNum-@--}-getParamSpecFractionMaxNum :: MonadIO m => ParamSpecFraction -> m Int32-getParamSpecFractionMaxNum s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 80) :: IO Int32-    return val--{- |-Set the value of the “@max_num@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' paramSpecFraction [ #maxNum 'Data.GI.Base.Attributes.:=' value ]-@--}-setParamSpecFractionMaxNum :: MonadIO m => ParamSpecFraction -> Int32 -> m ()-setParamSpecFractionMaxNum s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (val :: Int32)--#if ENABLE_OVERLOADING-data ParamSpecFractionMaxNumFieldInfo-instance AttrInfo ParamSpecFractionMaxNumFieldInfo where-    type AttrAllowedOps ParamSpecFractionMaxNumFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ParamSpecFractionMaxNumFieldInfo = (~) Int32-    type AttrBaseTypeConstraint ParamSpecFractionMaxNumFieldInfo = (~) ParamSpecFraction-    type AttrGetType ParamSpecFractionMaxNumFieldInfo = Int32-    type AttrLabel ParamSpecFractionMaxNumFieldInfo = "max_num"-    type AttrOrigin ParamSpecFractionMaxNumFieldInfo = ParamSpecFraction-    attrGet _ = getParamSpecFractionMaxNum-    attrSet _ = setParamSpecFractionMaxNum-    attrConstruct = undefined-    attrClear _ = undefined--paramSpecFraction_maxNum :: AttrLabelProxy "maxNum"-paramSpecFraction_maxNum = AttrLabelProxy--#endif---{- |-Get the value of the “@max_den@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' paramSpecFraction #maxDen-@--}-getParamSpecFractionMaxDen :: MonadIO m => ParamSpecFraction -> m Int32-getParamSpecFractionMaxDen s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 84) :: IO Int32-    return val--{- |-Set the value of the “@max_den@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' paramSpecFraction [ #maxDen 'Data.GI.Base.Attributes.:=' value ]-@--}-setParamSpecFractionMaxDen :: MonadIO m => ParamSpecFraction -> Int32 -> m ()-setParamSpecFractionMaxDen s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 84) (val :: Int32)--#if ENABLE_OVERLOADING-data ParamSpecFractionMaxDenFieldInfo-instance AttrInfo ParamSpecFractionMaxDenFieldInfo where-    type AttrAllowedOps ParamSpecFractionMaxDenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ParamSpecFractionMaxDenFieldInfo = (~) Int32-    type AttrBaseTypeConstraint ParamSpecFractionMaxDenFieldInfo = (~) ParamSpecFraction-    type AttrGetType ParamSpecFractionMaxDenFieldInfo = Int32-    type AttrLabel ParamSpecFractionMaxDenFieldInfo = "max_den"-    type AttrOrigin ParamSpecFractionMaxDenFieldInfo = ParamSpecFraction-    attrGet _ = getParamSpecFractionMaxDen-    attrSet _ = setParamSpecFractionMaxDen-    attrConstruct = undefined-    attrClear _ = undefined--paramSpecFraction_maxDen :: AttrLabelProxy "maxDen"-paramSpecFraction_maxDen = AttrLabelProxy--#endif---{- |-Get the value of the “@def_num@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' paramSpecFraction #defNum-@--}-getParamSpecFractionDefNum :: MonadIO m => ParamSpecFraction -> m Int32-getParamSpecFractionDefNum s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 88) :: IO Int32-    return val--{- |-Set the value of the “@def_num@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' paramSpecFraction [ #defNum 'Data.GI.Base.Attributes.:=' value ]-@--}-setParamSpecFractionDefNum :: MonadIO m => ParamSpecFraction -> Int32 -> m ()-setParamSpecFractionDefNum s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 88) (val :: Int32)--#if ENABLE_OVERLOADING-data ParamSpecFractionDefNumFieldInfo-instance AttrInfo ParamSpecFractionDefNumFieldInfo where-    type AttrAllowedOps ParamSpecFractionDefNumFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ParamSpecFractionDefNumFieldInfo = (~) Int32-    type AttrBaseTypeConstraint ParamSpecFractionDefNumFieldInfo = (~) ParamSpecFraction-    type AttrGetType ParamSpecFractionDefNumFieldInfo = Int32-    type AttrLabel ParamSpecFractionDefNumFieldInfo = "def_num"-    type AttrOrigin ParamSpecFractionDefNumFieldInfo = ParamSpecFraction-    attrGet _ = getParamSpecFractionDefNum-    attrSet _ = setParamSpecFractionDefNum-    attrConstruct = undefined-    attrClear _ = undefined--paramSpecFraction_defNum :: AttrLabelProxy "defNum"-paramSpecFraction_defNum = AttrLabelProxy--#endif---{- |-Get the value of the “@def_den@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' paramSpecFraction #defDen-@--}-getParamSpecFractionDefDen :: MonadIO m => ParamSpecFraction -> m Int32-getParamSpecFractionDefDen s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 92) :: IO Int32-    return val--{- |-Set the value of the “@def_den@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' paramSpecFraction [ #defDen 'Data.GI.Base.Attributes.:=' value ]-@--}-setParamSpecFractionDefDen :: MonadIO m => ParamSpecFraction -> Int32 -> m ()-setParamSpecFractionDefDen s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 92) (val :: Int32)--#if ENABLE_OVERLOADING-data ParamSpecFractionDefDenFieldInfo-instance AttrInfo ParamSpecFractionDefDenFieldInfo where-    type AttrAllowedOps ParamSpecFractionDefDenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ParamSpecFractionDefDenFieldInfo = (~) Int32-    type AttrBaseTypeConstraint ParamSpecFractionDefDenFieldInfo = (~) ParamSpecFraction-    type AttrGetType ParamSpecFractionDefDenFieldInfo = Int32-    type AttrLabel ParamSpecFractionDefDenFieldInfo = "def_den"-    type AttrOrigin ParamSpecFractionDefDenFieldInfo = ParamSpecFraction-    attrGet _ = getParamSpecFractionDefDen-    attrSet _ = setParamSpecFractionDefDen-    attrConstruct = undefined-    attrClear _ = undefined--paramSpecFraction_defDen :: AttrLabelProxy "defDen"-paramSpecFraction_defDen = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ParamSpecFraction-type instance O.AttributeList ParamSpecFraction = ParamSpecFractionAttributeList-type ParamSpecFractionAttributeList = ('[ '("parentInstance", ParamSpecFractionParentInstanceFieldInfo), '("minNum", ParamSpecFractionMinNumFieldInfo), '("minDen", ParamSpecFractionMinDenFieldInfo), '("maxNum", ParamSpecFractionMaxNumFieldInfo), '("maxDen", ParamSpecFractionMaxDenFieldInfo), '("defNum", ParamSpecFractionDefNumFieldInfo), '("defDen", ParamSpecFractionDefDenFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveParamSpecFractionMethod (t :: Symbol) (o :: *) :: * where-    ResolveParamSpecFractionMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveParamSpecFractionMethod t ParamSpecFraction, O.MethodInfo info ParamSpecFraction p) => OL.IsLabel t (ParamSpecFraction -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/ParamSpecFraction.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.ParamSpecFraction where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ParamSpecFraction = ParamSpecFraction (ManagedPtr ParamSpecFraction)-instance WrappedPtr ParamSpecFraction where
− GI/Gst/Structs/ParentBufferMeta.hs
@@ -1,254 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.Gst.Structs.ParentBufferMeta.ParentBufferMeta' is a 'GI.Gst.Structs.Meta.Meta' which can be attached to a 'GI.Gst.Structs.Buffer.Buffer'-to hold a reference to another buffer that is only released when the child-'GI.Gst.Structs.Buffer.Buffer' is released.--Typically, 'GI.Gst.Structs.ParentBufferMeta.ParentBufferMeta' is used when the child buffer is directly-using the 'GI.Gst.Structs.Memory.Memory' of the parent buffer, and wants to prevent the parent-buffer from being returned to a buffer pool until the 'GI.Gst.Structs.Memory.Memory' is available-for re-use.--/Since: 1.6/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.ParentBufferMeta-    ( ---- * Exported types-    ParentBufferMeta(..)                    ,-    newZeroParentBufferMeta                 ,-    noParentBufferMeta                      ,--- -- * Methods--- ** getInfo #method:getInfo#--    parentBufferMetaGetInfo                 ,----- -- * Properties--- ** buffer #attr:buffer#-{- | the 'GI.Gst.Structs.Buffer.Buffer' on which a reference is being held.--}-    clearParentBufferMetaBuffer             ,-    getParentBufferMetaBuffer               ,-#if ENABLE_OVERLOADING-    parentBufferMeta_buffer                 ,-#endif-    setParentBufferMetaBuffer               ,----- ** parent #attr:parent#-{- | the parent 'GI.Gst.Structs.Meta.Meta' structure--}-    getParentBufferMetaParent               ,-#if ENABLE_OVERLOADING-    parentBufferMeta_parent                 ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.Gst.Structs.Meta as Gst.Meta-import {-# SOURCE #-} qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo---- | Memory-managed wrapper type.-newtype ParentBufferMeta = ParentBufferMeta (ManagedPtr ParentBufferMeta)-instance WrappedPtr ParentBufferMeta where-    wrappedPtrCalloc = callocBytes 24-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr ParentBufferMeta)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `ParentBufferMeta` struct initialized to zero.-newZeroParentBufferMeta :: MonadIO m => m ParentBufferMeta-newZeroParentBufferMeta = liftIO $ wrappedPtrCalloc >>= wrapPtr ParentBufferMeta--instance tag ~ 'AttrSet => Constructible ParentBufferMeta tag where-    new _ attrs = do-        o <- newZeroParentBufferMeta-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ParentBufferMeta`.-noParentBufferMeta :: Maybe ParentBufferMeta-noParentBufferMeta = Nothing--{- |-Get the value of the “@parent@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' parentBufferMeta #parent-@--}-getParentBufferMetaParent :: MonadIO m => ParentBufferMeta -> m Gst.Meta.Meta-getParentBufferMetaParent s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.Meta.Meta)-    val' <- (newPtr Gst.Meta.Meta) val-    return val'--#if ENABLE_OVERLOADING-data ParentBufferMetaParentFieldInfo-instance AttrInfo ParentBufferMetaParentFieldInfo where-    type AttrAllowedOps ParentBufferMetaParentFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint ParentBufferMetaParentFieldInfo = (~) (Ptr Gst.Meta.Meta)-    type AttrBaseTypeConstraint ParentBufferMetaParentFieldInfo = (~) ParentBufferMeta-    type AttrGetType ParentBufferMetaParentFieldInfo = Gst.Meta.Meta-    type AttrLabel ParentBufferMetaParentFieldInfo = "parent"-    type AttrOrigin ParentBufferMetaParentFieldInfo = ParentBufferMeta-    attrGet _ = getParentBufferMetaParent-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--parentBufferMeta_parent :: AttrLabelProxy "parent"-parentBufferMeta_parent = AttrLabelProxy--#endif---{- |-Get the value of the “@buffer@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' parentBufferMeta #buffer-@--}-getParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m (Maybe Gst.Buffer.Buffer)-getParentBufferMetaBuffer s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Gst.Buffer.Buffer)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newBoxed Gst.Buffer.Buffer) val'-        return val''-    return result--{- |-Set the value of the “@buffer@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' parentBufferMeta [ #buffer 'Data.GI.Base.Attributes.:=' value ]-@--}-setParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> Ptr Gst.Buffer.Buffer -> m ()-setParentBufferMetaBuffer s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Ptr Gst.Buffer.Buffer)--{- |-Set the value of the “@buffer@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #buffer-@--}-clearParentBufferMetaBuffer :: MonadIO m => ParentBufferMeta -> m ()-clearParentBufferMetaBuffer s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr Gst.Buffer.Buffer)--#if ENABLE_OVERLOADING-data ParentBufferMetaBufferFieldInfo-instance AttrInfo ParentBufferMetaBufferFieldInfo where-    type AttrAllowedOps ParentBufferMetaBufferFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ParentBufferMetaBufferFieldInfo = (~) (Ptr Gst.Buffer.Buffer)-    type AttrBaseTypeConstraint ParentBufferMetaBufferFieldInfo = (~) ParentBufferMeta-    type AttrGetType ParentBufferMetaBufferFieldInfo = Maybe Gst.Buffer.Buffer-    type AttrLabel ParentBufferMetaBufferFieldInfo = "buffer"-    type AttrOrigin ParentBufferMetaBufferFieldInfo = ParentBufferMeta-    attrGet _ = getParentBufferMetaBuffer-    attrSet _ = setParentBufferMetaBuffer-    attrConstruct = undefined-    attrClear _ = clearParentBufferMetaBuffer--parentBufferMeta_buffer :: AttrLabelProxy "buffer"-parentBufferMeta_buffer = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ParentBufferMeta-type instance O.AttributeList ParentBufferMeta = ParentBufferMetaAttributeList-type ParentBufferMetaAttributeList = ('[ '("parent", ParentBufferMetaParentFieldInfo), '("buffer", ParentBufferMetaBufferFieldInfo)] :: [(Symbol, *)])-#endif---- method ParentBufferMeta::get_info--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "MetaInfo"}))--- throws : False--- Skip return : False--foreign import ccall "gst_parent_buffer_meta_get_info" gst_parent_buffer_meta_get_info :: -    IO (Ptr Gst.MetaInfo.MetaInfo)--{- |-Get the global 'GI.Gst.Structs.MetaInfo.MetaInfo' describing  the 'GI.Gst.Structs.ParentBufferMeta.ParentBufferMeta' meta.--/Since: 1.6/--}-parentBufferMetaGetInfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Gst.MetaInfo.MetaInfo-    {- ^ __Returns:__ The 'GI.Gst.Structs.MetaInfo.MetaInfo' -}-parentBufferMetaGetInfo  = liftIO $ do-    result <- gst_parent_buffer_meta_get_info-    checkUnexpectedReturnNULL "parentBufferMetaGetInfo" result-    result' <- (newPtr Gst.MetaInfo.MetaInfo) result-    return result'--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveParentBufferMetaMethod (t :: Symbol) (o :: *) :: * where-    ResolveParentBufferMetaMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveParentBufferMetaMethod t ParentBufferMeta, O.MethodInfo info ParentBufferMeta p) => OL.IsLabel t (ParentBufferMeta -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/ParentBufferMeta.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.ParentBufferMeta where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ParentBufferMeta = ParentBufferMeta (ManagedPtr ParentBufferMeta)-instance WrappedPtr ParentBufferMeta where
− GI/Gst/Structs/ParseContext.hs
@@ -1,257 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Opaque structure.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.ParseContext-    ( ---- * Exported types-    ParseContext(..)                        ,-    noParseContext                          ,--- -- * Methods--- ** copy #method:copy#--#if ENABLE_OVERLOADING-    ParseContextCopyMethodInfo              ,-#endif-    parseContextCopy                        ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    ParseContextFreeMethodInfo              ,-#endif-    parseContextFree                        ,----- ** getMissingElements #method:getMissingElements#--#if ENABLE_OVERLOADING-    ParseContextGetMissingElementsMethodInfo,-#endif-    parseContextGetMissingElements          ,----- ** new #method:new#--    parseContextNew                         ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- | Memory-managed wrapper type.-newtype ParseContext = ParseContext (ManagedPtr ParseContext)-foreign import ccall "gst_parse_context_get_type" c_gst_parse_context_get_type :: -    IO GType--instance BoxedObject ParseContext where-    boxedType _ = c_gst_parse_context_get_type---- | A convenience alias for `Nothing` :: `Maybe` `ParseContext`.-noParseContext :: Maybe ParseContext-noParseContext = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList ParseContext-type instance O.AttributeList ParseContext = ParseContextAttributeList-type ParseContextAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method ParseContext::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ParseContext"}))--- throws : False--- Skip return : False--foreign import ccall "gst_parse_context_new" gst_parse_context_new :: -    IO (Ptr ParseContext)--{- |-Allocates a parse context for use with 'GI.Gst.Functions.parseLaunchFull' or-'GI.Gst.Functions.parseLaunchvFull'.--Free-function: gst_parse_context_free--}-parseContextNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m (Maybe ParseContext)-    {- ^ __Returns:__ a newly-allocated parse context. Free-    with 'GI.Gst.Structs.ParseContext.parseContextFree' when no longer needed. -}-parseContextNew  = liftIO $ do-    result <- gst_parse_context_new-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed ParseContext) result'-        return result''-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method ParseContext::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "ParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "ParseContext"}))--- throws : False--- Skip return : False--foreign import ccall "gst_parse_context_copy" gst_parse_context_copy :: -    Ptr ParseContext ->                     -- context : TInterface (Name {namespace = "Gst", name = "ParseContext"})-    IO (Ptr ParseContext)--{- |-Copies the /@context@/.--}-parseContextCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ParseContext-    {- ^ /@context@/: a 'GI.Gst.Structs.ParseContext.ParseContext' -}-    -> m (Maybe ParseContext)-    {- ^ __Returns:__ A copied 'GI.Gst.Structs.ParseContext.ParseContext' -}-parseContextCopy context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- gst_parse_context_copy context'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed ParseContext) result'-        return result''-    touchManagedPtr context-    return maybeResult--#if ENABLE_OVERLOADING-data ParseContextCopyMethodInfo-instance (signature ~ (m (Maybe ParseContext)), MonadIO m) => O.MethodInfo ParseContextCopyMethodInfo ParseContext signature where-    overloadedMethod _ = parseContextCopy--#endif---- method ParseContext::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "ParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_parse_context_free" gst_parse_context_free :: -    Ptr ParseContext ->                     -- context : TInterface (Name {namespace = "Gst", name = "ParseContext"})-    IO ()--{- |-Frees a parse context previously allocated with 'GI.Gst.Structs.ParseContext.parseContextNew'.--}-parseContextFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ParseContext-    {- ^ /@context@/: a 'GI.Gst.Structs.ParseContext.ParseContext' -}-    -> m ()-parseContextFree context = liftIO $ do-    context' <- B.ManagedPtr.disownBoxed context-    gst_parse_context_free context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data ParseContextFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo ParseContextFreeMethodInfo ParseContext signature where-    overloadedMethod _ = parseContextFree--#endif---- method ParseContext::get_missing_elements--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "ParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_parse_context_get_missing_elements" gst_parse_context_get_missing_elements :: -    Ptr ParseContext ->                     -- context : TInterface (Name {namespace = "Gst", name = "ParseContext"})-    IO (Ptr CString)--{- |-Retrieve missing elements from a previous run of 'GI.Gst.Functions.parseLaunchFull'-or 'GI.Gst.Functions.parseLaunchvFull'. Will only return results if an error code-of 'GI.Gst.Enums.ParseErrorNoSuchElement' was returned.--}-parseContextGetMissingElements ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ParseContext-    {- ^ /@context@/: a 'GI.Gst.Structs.ParseContext.ParseContext' -}-    -> m (Maybe [T.Text])-    {- ^ __Returns:__ a-    'Nothing'-terminated array of element factory name strings of missing-    elements. Free with 'GI.GLib.Functions.strfreev' when no longer needed. -}-parseContextGetMissingElements context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- gst_parse_context_get_missing_elements context'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- unpackZeroTerminatedUTF8CArray result'-        mapZeroTerminatedCArray freeMem result'-        freeMem result'-        return result''-    touchManagedPtr context-    return maybeResult--#if ENABLE_OVERLOADING-data ParseContextGetMissingElementsMethodInfo-instance (signature ~ (m (Maybe [T.Text])), MonadIO m) => O.MethodInfo ParseContextGetMissingElementsMethodInfo ParseContext signature where-    overloadedMethod _ = parseContextGetMissingElements--#endif--#if ENABLE_OVERLOADING-type family ResolveParseContextMethod (t :: Symbol) (o :: *) :: * where-    ResolveParseContextMethod "copy" o = ParseContextCopyMethodInfo-    ResolveParseContextMethod "free" o = ParseContextFreeMethodInfo-    ResolveParseContextMethod "getMissingElements" o = ParseContextGetMissingElementsMethodInfo-    ResolveParseContextMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveParseContextMethod t ParseContext, O.MethodInfo info ParseContext p) => OL.IsLabel t (ParseContext -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/ParseContext.hs-boot
@@ -1,35 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.ParseContext where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ParseContext = ParseContext (ManagedPtr ParseContext)-instance BoxedObject ParseContext where-#if ENABLE_OVERLOADING-data ParseContextCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data ParseContextFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ParseContextGetMissingElementsMethodInfo-#endif
− GI/Gst/Structs/PluginDesc.hs
@@ -1,850 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.PluginDesc-    ( ---- * Exported types-    PluginDesc(..)                          ,-    newZeroPluginDesc                       ,-    noPluginDesc                            ,--- -- * Properties--- ** description #attr:description#-{- | description of plugin--}-    clearPluginDescDescription              ,-    getPluginDescDescription                ,-#if ENABLE_OVERLOADING-    pluginDesc_description                  ,-#endif-    setPluginDescDescription                ,----- ** license #attr:license#-{- | effective license of plugin--}-    clearPluginDescLicense                  ,-    getPluginDescLicense                    ,-#if ENABLE_OVERLOADING-    pluginDesc_license                      ,-#endif-    setPluginDescLicense                    ,----- ** majorVersion #attr:majorVersion#-{- | the major version number of core that plugin was compiled for--}-    getPluginDescMajorVersion               ,-#if ENABLE_OVERLOADING-    pluginDesc_majorVersion                 ,-#endif-    setPluginDescMajorVersion               ,----- ** minorVersion #attr:minorVersion#-{- | the minor version number of core that plugin was compiled for--}-    getPluginDescMinorVersion               ,-#if ENABLE_OVERLOADING-    pluginDesc_minorVersion                 ,-#endif-    setPluginDescMinorVersion               ,----- ** name #attr:name#-{- | a unique name of the plugin--}-    clearPluginDescName                     ,-    getPluginDescName                       ,-#if ENABLE_OVERLOADING-    pluginDesc_name                         ,-#endif-    setPluginDescName                       ,----- ** origin #attr:origin#-{- | URL to provider of plugin--}-    clearPluginDescOrigin                   ,-    getPluginDescOrigin                     ,-#if ENABLE_OVERLOADING-    pluginDesc_origin                       ,-#endif-    setPluginDescOrigin                     ,----- ** package #attr:package#-{- | shipped package plugin belongs to--}-    clearPluginDescPackage                  ,-    getPluginDescPackage                    ,-#if ENABLE_OVERLOADING-    pluginDesc_package                      ,-#endif-    setPluginDescPackage                    ,----- ** pluginInit #attr:pluginInit#-{- | pointer to the init function of this plugin.--}-    clearPluginDescPluginInit               ,-    getPluginDescPluginInit                 ,-#if ENABLE_OVERLOADING-    pluginDesc_pluginInit                   ,-#endif-    setPluginDescPluginInit                 ,----- ** releaseDatetime #attr:releaseDatetime#-{- | date time string in ISO 8601-    format (or rather, a subset thereof), or 'Nothing'. 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.--}-    clearPluginDescReleaseDatetime          ,-    getPluginDescReleaseDatetime            ,-#if ENABLE_OVERLOADING-    pluginDesc_releaseDatetime              ,-#endif-    setPluginDescReleaseDatetime            ,----- ** source #attr:source#-{- | source module plugin belongs to--}-    clearPluginDescSource                   ,-    getPluginDescSource                     ,-#if ENABLE_OVERLOADING-    pluginDesc_source                       ,-#endif-    setPluginDescSource                     ,----- ** version #attr:version#-{- | version of the plugin--}-    clearPluginDescVersion                  ,-    getPluginDescVersion                    ,-#if ENABLE_OVERLOADING-    pluginDesc_version                      ,-#endif-    setPluginDescVersion                    ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.Gst.Callbacks as Gst.Callbacks---- | Memory-managed wrapper type.-newtype PluginDesc = PluginDesc (ManagedPtr PluginDesc)-instance WrappedPtr PluginDesc where-    wrappedPtrCalloc = callocBytes 112-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 112 >=> wrapPtr PluginDesc)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `PluginDesc` struct initialized to zero.-newZeroPluginDesc :: MonadIO m => m PluginDesc-newZeroPluginDesc = liftIO $ wrappedPtrCalloc >>= wrapPtr PluginDesc--instance tag ~ 'AttrSet => Constructible PluginDesc tag where-    new _ attrs = do-        o <- newZeroPluginDesc-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `PluginDesc`.-noPluginDesc :: Maybe PluginDesc-noPluginDesc = Nothing--{- |-Get the value of the “@major_version@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #majorVersion-@--}-getPluginDescMajorVersion :: MonadIO m => PluginDesc -> m Int32-getPluginDescMajorVersion s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Int32-    return val--{- |-Set the value of the “@major_version@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #majorVersion 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescMajorVersion :: MonadIO m => PluginDesc -> Int32 -> m ()-setPluginDescMajorVersion s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Int32)--#if ENABLE_OVERLOADING-data PluginDescMajorVersionFieldInfo-instance AttrInfo PluginDescMajorVersionFieldInfo where-    type AttrAllowedOps PluginDescMajorVersionFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PluginDescMajorVersionFieldInfo = (~) Int32-    type AttrBaseTypeConstraint PluginDescMajorVersionFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescMajorVersionFieldInfo = Int32-    type AttrLabel PluginDescMajorVersionFieldInfo = "major_version"-    type AttrOrigin PluginDescMajorVersionFieldInfo = PluginDesc-    attrGet _ = getPluginDescMajorVersion-    attrSet _ = setPluginDescMajorVersion-    attrConstruct = undefined-    attrClear _ = undefined--pluginDesc_majorVersion :: AttrLabelProxy "majorVersion"-pluginDesc_majorVersion = AttrLabelProxy--#endif---{- |-Get the value of the “@minor_version@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #minorVersion-@--}-getPluginDescMinorVersion :: MonadIO m => PluginDesc -> m Int32-getPluginDescMinorVersion s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Int32-    return val--{- |-Set the value of the “@minor_version@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #minorVersion 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescMinorVersion :: MonadIO m => PluginDesc -> Int32 -> m ()-setPluginDescMinorVersion s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 4) (val :: Int32)--#if ENABLE_OVERLOADING-data PluginDescMinorVersionFieldInfo-instance AttrInfo PluginDescMinorVersionFieldInfo where-    type AttrAllowedOps PluginDescMinorVersionFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PluginDescMinorVersionFieldInfo = (~) Int32-    type AttrBaseTypeConstraint PluginDescMinorVersionFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescMinorVersionFieldInfo = Int32-    type AttrLabel PluginDescMinorVersionFieldInfo = "minor_version"-    type AttrOrigin PluginDescMinorVersionFieldInfo = PluginDesc-    attrGet _ = getPluginDescMinorVersion-    attrSet _ = setPluginDescMinorVersion-    attrConstruct = undefined-    attrClear _ = undefined--pluginDesc_minorVersion :: AttrLabelProxy "minorVersion"-pluginDesc_minorVersion = AttrLabelProxy--#endif---{- |-Get the value of the “@name@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #name-@--}-getPluginDescName :: MonadIO m => PluginDesc -> m (Maybe T.Text)-getPluginDescName s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@name@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #name 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescName :: MonadIO m => PluginDesc -> CString -> m ()-setPluginDescName s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: CString)--{- |-Set the value of the “@name@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #name-@--}-clearPluginDescName :: MonadIO m => PluginDesc -> m ()-clearPluginDescName s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data PluginDescNameFieldInfo-instance AttrInfo PluginDescNameFieldInfo where-    type AttrAllowedOps PluginDescNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PluginDescNameFieldInfo = (~) CString-    type AttrBaseTypeConstraint PluginDescNameFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescNameFieldInfo = Maybe T.Text-    type AttrLabel PluginDescNameFieldInfo = "name"-    type AttrOrigin PluginDescNameFieldInfo = PluginDesc-    attrGet _ = getPluginDescName-    attrSet _ = setPluginDescName-    attrConstruct = undefined-    attrClear _ = clearPluginDescName--pluginDesc_name :: AttrLabelProxy "name"-pluginDesc_name = AttrLabelProxy--#endif---{- |-Get the value of the “@description@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #description-@--}-getPluginDescDescription :: MonadIO m => PluginDesc -> m (Maybe T.Text)-getPluginDescDescription s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@description@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #description 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescDescription :: MonadIO m => PluginDesc -> CString -> m ()-setPluginDescDescription s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: CString)--{- |-Set the value of the “@description@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #description-@--}-clearPluginDescDescription :: MonadIO m => PluginDesc -> m ()-clearPluginDescDescription s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data PluginDescDescriptionFieldInfo-instance AttrInfo PluginDescDescriptionFieldInfo where-    type AttrAllowedOps PluginDescDescriptionFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PluginDescDescriptionFieldInfo = (~) CString-    type AttrBaseTypeConstraint PluginDescDescriptionFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescDescriptionFieldInfo = Maybe T.Text-    type AttrLabel PluginDescDescriptionFieldInfo = "description"-    type AttrOrigin PluginDescDescriptionFieldInfo = PluginDesc-    attrGet _ = getPluginDescDescription-    attrSet _ = setPluginDescDescription-    attrConstruct = undefined-    attrClear _ = clearPluginDescDescription--pluginDesc_description :: AttrLabelProxy "description"-pluginDesc_description = AttrLabelProxy--#endif---{- |-Get the value of the “@plugin_init@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #pluginInit-@--}-getPluginDescPluginInit :: MonadIO m => PluginDesc -> m (Maybe Gst.Callbacks.PluginInitFunc)-getPluginDescPluginInit s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr Gst.Callbacks.C_PluginInitFunc)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_PluginInitFunc val'-        return val''-    return result--{- |-Set the value of the “@plugin_init@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #pluginInit 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescPluginInit :: MonadIO m => PluginDesc -> FunPtr Gst.Callbacks.C_PluginInitFunc -> m ()-setPluginDescPluginInit s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: FunPtr Gst.Callbacks.C_PluginInitFunc)--{- |-Set the value of the “@plugin_init@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #pluginInit-@--}-clearPluginDescPluginInit :: MonadIO m => PluginDesc -> m ()-clearPluginDescPluginInit s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_PluginInitFunc)--#if ENABLE_OVERLOADING-data PluginDescPluginInitFieldInfo-instance AttrInfo PluginDescPluginInitFieldInfo where-    type AttrAllowedOps PluginDescPluginInitFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PluginDescPluginInitFieldInfo = (~) (FunPtr Gst.Callbacks.C_PluginInitFunc)-    type AttrBaseTypeConstraint PluginDescPluginInitFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescPluginInitFieldInfo = Maybe Gst.Callbacks.PluginInitFunc-    type AttrLabel PluginDescPluginInitFieldInfo = "plugin_init"-    type AttrOrigin PluginDescPluginInitFieldInfo = PluginDesc-    attrGet _ = getPluginDescPluginInit-    attrSet _ = setPluginDescPluginInit-    attrConstruct = undefined-    attrClear _ = clearPluginDescPluginInit--pluginDesc_pluginInit :: AttrLabelProxy "pluginInit"-pluginDesc_pluginInit = AttrLabelProxy--#endif---{- |-Get the value of the “@version@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #version-@--}-getPluginDescVersion :: MonadIO m => PluginDesc -> m (Maybe T.Text)-getPluginDescVersion s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@version@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #version 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescVersion :: MonadIO m => PluginDesc -> CString -> m ()-setPluginDescVersion s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: CString)--{- |-Set the value of the “@version@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #version-@--}-clearPluginDescVersion :: MonadIO m => PluginDesc -> m ()-clearPluginDescVersion s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data PluginDescVersionFieldInfo-instance AttrInfo PluginDescVersionFieldInfo where-    type AttrAllowedOps PluginDescVersionFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PluginDescVersionFieldInfo = (~) CString-    type AttrBaseTypeConstraint PluginDescVersionFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescVersionFieldInfo = Maybe T.Text-    type AttrLabel PluginDescVersionFieldInfo = "version"-    type AttrOrigin PluginDescVersionFieldInfo = PluginDesc-    attrGet _ = getPluginDescVersion-    attrSet _ = setPluginDescVersion-    attrConstruct = undefined-    attrClear _ = clearPluginDescVersion--pluginDesc_version :: AttrLabelProxy "version"-pluginDesc_version = AttrLabelProxy--#endif---{- |-Get the value of the “@license@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #license-@--}-getPluginDescLicense :: MonadIO m => PluginDesc -> m (Maybe T.Text)-getPluginDescLicense s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@license@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #license 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescLicense :: MonadIO m => PluginDesc -> CString -> m ()-setPluginDescLicense s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: CString)--{- |-Set the value of the “@license@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #license-@--}-clearPluginDescLicense :: MonadIO m => PluginDesc -> m ()-clearPluginDescLicense s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data PluginDescLicenseFieldInfo-instance AttrInfo PluginDescLicenseFieldInfo where-    type AttrAllowedOps PluginDescLicenseFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PluginDescLicenseFieldInfo = (~) CString-    type AttrBaseTypeConstraint PluginDescLicenseFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescLicenseFieldInfo = Maybe T.Text-    type AttrLabel PluginDescLicenseFieldInfo = "license"-    type AttrOrigin PluginDescLicenseFieldInfo = PluginDesc-    attrGet _ = getPluginDescLicense-    attrSet _ = setPluginDescLicense-    attrConstruct = undefined-    attrClear _ = clearPluginDescLicense--pluginDesc_license :: AttrLabelProxy "license"-pluginDesc_license = AttrLabelProxy--#endif---{- |-Get the value of the “@source@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #source-@--}-getPluginDescSource :: MonadIO m => PluginDesc -> m (Maybe T.Text)-getPluginDescSource s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 48) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@source@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #source 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescSource :: MonadIO m => PluginDesc -> CString -> m ()-setPluginDescSource s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (val :: CString)--{- |-Set the value of the “@source@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #source-@--}-clearPluginDescSource :: MonadIO m => PluginDesc -> m ()-clearPluginDescSource s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data PluginDescSourceFieldInfo-instance AttrInfo PluginDescSourceFieldInfo where-    type AttrAllowedOps PluginDescSourceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PluginDescSourceFieldInfo = (~) CString-    type AttrBaseTypeConstraint PluginDescSourceFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescSourceFieldInfo = Maybe T.Text-    type AttrLabel PluginDescSourceFieldInfo = "source"-    type AttrOrigin PluginDescSourceFieldInfo = PluginDesc-    attrGet _ = getPluginDescSource-    attrSet _ = setPluginDescSource-    attrConstruct = undefined-    attrClear _ = clearPluginDescSource--pluginDesc_source :: AttrLabelProxy "source"-pluginDesc_source = AttrLabelProxy--#endif---{- |-Get the value of the “@package@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #package-@--}-getPluginDescPackage :: MonadIO m => PluginDesc -> m (Maybe T.Text)-getPluginDescPackage s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 56) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@package@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #package 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescPackage :: MonadIO m => PluginDesc -> CString -> m ()-setPluginDescPackage s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (val :: CString)--{- |-Set the value of the “@package@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #package-@--}-clearPluginDescPackage :: MonadIO m => PluginDesc -> m ()-clearPluginDescPackage s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data PluginDescPackageFieldInfo-instance AttrInfo PluginDescPackageFieldInfo where-    type AttrAllowedOps PluginDescPackageFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PluginDescPackageFieldInfo = (~) CString-    type AttrBaseTypeConstraint PluginDescPackageFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescPackageFieldInfo = Maybe T.Text-    type AttrLabel PluginDescPackageFieldInfo = "package"-    type AttrOrigin PluginDescPackageFieldInfo = PluginDesc-    attrGet _ = getPluginDescPackage-    attrSet _ = setPluginDescPackage-    attrConstruct = undefined-    attrClear _ = clearPluginDescPackage--pluginDesc_package :: AttrLabelProxy "package"-pluginDesc_package = AttrLabelProxy--#endif---{- |-Get the value of the “@origin@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #origin-@--}-getPluginDescOrigin :: MonadIO m => PluginDesc -> m (Maybe T.Text)-getPluginDescOrigin s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@origin@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #origin 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescOrigin :: MonadIO m => PluginDesc -> CString -> m ()-setPluginDescOrigin s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (val :: CString)--{- |-Set the value of the “@origin@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #origin-@--}-clearPluginDescOrigin :: MonadIO m => PluginDesc -> m ()-clearPluginDescOrigin s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data PluginDescOriginFieldInfo-instance AttrInfo PluginDescOriginFieldInfo where-    type AttrAllowedOps PluginDescOriginFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PluginDescOriginFieldInfo = (~) CString-    type AttrBaseTypeConstraint PluginDescOriginFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescOriginFieldInfo = Maybe T.Text-    type AttrLabel PluginDescOriginFieldInfo = "origin"-    type AttrOrigin PluginDescOriginFieldInfo = PluginDesc-    attrGet _ = getPluginDescOrigin-    attrSet _ = setPluginDescOrigin-    attrConstruct = undefined-    attrClear _ = clearPluginDescOrigin--pluginDesc_origin :: AttrLabelProxy "origin"-pluginDesc_origin = AttrLabelProxy--#endif---{- |-Get the value of the “@release_datetime@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pluginDesc #releaseDatetime-@--}-getPluginDescReleaseDatetime :: MonadIO m => PluginDesc -> m (Maybe T.Text)-getPluginDescReleaseDatetime s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@release_datetime@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pluginDesc [ #releaseDatetime 'Data.GI.Base.Attributes.:=' value ]-@--}-setPluginDescReleaseDatetime :: MonadIO m => PluginDesc -> CString -> m ()-setPluginDescReleaseDatetime s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: CString)--{- |-Set the value of the “@release_datetime@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #releaseDatetime-@--}-clearPluginDescReleaseDatetime :: MonadIO m => PluginDesc -> m ()-clearPluginDescReleaseDatetime s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data PluginDescReleaseDatetimeFieldInfo-instance AttrInfo PluginDescReleaseDatetimeFieldInfo where-    type AttrAllowedOps PluginDescReleaseDatetimeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PluginDescReleaseDatetimeFieldInfo = (~) CString-    type AttrBaseTypeConstraint PluginDescReleaseDatetimeFieldInfo = (~) PluginDesc-    type AttrGetType PluginDescReleaseDatetimeFieldInfo = Maybe T.Text-    type AttrLabel PluginDescReleaseDatetimeFieldInfo = "release_datetime"-    type AttrOrigin PluginDescReleaseDatetimeFieldInfo = PluginDesc-    attrGet _ = getPluginDescReleaseDatetime-    attrSet _ = setPluginDescReleaseDatetime-    attrConstruct = undefined-    attrClear _ = clearPluginDescReleaseDatetime--pluginDesc_releaseDatetime :: AttrLabelProxy "releaseDatetime"-pluginDesc_releaseDatetime = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList PluginDesc-type instance O.AttributeList PluginDesc = PluginDescAttributeList-type PluginDescAttributeList = ('[ '("majorVersion", PluginDescMajorVersionFieldInfo), '("minorVersion", PluginDescMinorVersionFieldInfo), '("name", PluginDescNameFieldInfo), '("description", PluginDescDescriptionFieldInfo), '("pluginInit", PluginDescPluginInitFieldInfo), '("version", PluginDescVersionFieldInfo), '("license", PluginDescLicenseFieldInfo), '("source", PluginDescSourceFieldInfo), '("package", PluginDescPackageFieldInfo), '("origin", PluginDescOriginFieldInfo), '("releaseDatetime", PluginDescReleaseDatetimeFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolvePluginDescMethod (t :: Symbol) (o :: *) :: * where-    ResolvePluginDescMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePluginDescMethod t PluginDesc, O.MethodInfo info PluginDesc p) => OL.IsLabel t (PluginDesc -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/PluginDesc.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.PluginDesc where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype PluginDesc = PluginDesc (ManagedPtr PluginDesc)-instance WrappedPtr PluginDesc where
− GI/Gst/Structs/Poll.hs
@@ -1,1037 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A 'GI.Gst.Structs.Poll.Poll' 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 'GI.Gst.Structs.Poll.pollSetControllable').--New file descriptors are added to the set using 'GI.Gst.Structs.Poll.pollAddFd', and-removed using 'GI.Gst.Structs.Poll.pollRemoveFd'. Controlling which file descriptors-should be waited for to become readable and\/or writable are done using-'GI.Gst.Structs.Poll.pollFdCtlRead', 'GI.Gst.Structs.Poll.pollFdCtlWrite' and 'GI.Gst.Structs.Poll.pollFdCtlPri'.--Use 'GI.Gst.Structs.Poll.pollWait' 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 'GI.Gst.Structs.Poll.pollRestart' and-'GI.Gst.Structs.Poll.pollSetFlushing'.--Once the file descriptor set has been waited for, one can use-'GI.Gst.Structs.Poll.pollFdHasClosed' to see if the file descriptor has been closed,-'GI.Gst.Structs.Poll.pollFdHasError' to see if it has generated an error,-'GI.Gst.Structs.Poll.pollFdCanRead' to see if it is possible to read from the file-descriptor, and 'GI.Gst.Structs.Poll.pollFdCanWrite' to see if it is possible to-write to it.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Poll-    ( ---- * Exported types-    Poll(..)                                ,-    noPoll                                  ,--- -- * Methods--- ** addFd #method:addFd#--#if ENABLE_OVERLOADING-    PollAddFdMethodInfo                     ,-#endif-    pollAddFd                               ,----- ** fdCanRead #method:fdCanRead#--#if ENABLE_OVERLOADING-    PollFdCanReadMethodInfo                 ,-#endif-    pollFdCanRead                           ,----- ** fdCanWrite #method:fdCanWrite#--#if ENABLE_OVERLOADING-    PollFdCanWriteMethodInfo                ,-#endif-    pollFdCanWrite                          ,----- ** fdCtlPri #method:fdCtlPri#--#if ENABLE_OVERLOADING-    PollFdCtlPriMethodInfo                  ,-#endif-    pollFdCtlPri                            ,----- ** fdCtlRead #method:fdCtlRead#--#if ENABLE_OVERLOADING-    PollFdCtlReadMethodInfo                 ,-#endif-    pollFdCtlRead                           ,----- ** fdCtlWrite #method:fdCtlWrite#--#if ENABLE_OVERLOADING-    PollFdCtlWriteMethodInfo                ,-#endif-    pollFdCtlWrite                          ,----- ** fdHasClosed #method:fdHasClosed#--#if ENABLE_OVERLOADING-    PollFdHasClosedMethodInfo               ,-#endif-    pollFdHasClosed                         ,----- ** fdHasError #method:fdHasError#--#if ENABLE_OVERLOADING-    PollFdHasErrorMethodInfo                ,-#endif-    pollFdHasError                          ,----- ** fdHasPri #method:fdHasPri#--#if ENABLE_OVERLOADING-    PollFdHasPriMethodInfo                  ,-#endif-    pollFdHasPri                            ,----- ** fdIgnored #method:fdIgnored#--#if ENABLE_OVERLOADING-    PollFdIgnoredMethodInfo                 ,-#endif-    pollFdIgnored                           ,----- ** getReadGpollfd #method:getReadGpollfd#--#if ENABLE_OVERLOADING-    PollGetReadGpollfdMethodInfo            ,-#endif-    pollGetReadGpollfd                      ,----- ** readControl #method:readControl#--#if ENABLE_OVERLOADING-    PollReadControlMethodInfo               ,-#endif-    pollReadControl                         ,----- ** removeFd #method:removeFd#--#if ENABLE_OVERLOADING-    PollRemoveFdMethodInfo                  ,-#endif-    pollRemoveFd                            ,----- ** restart #method:restart#--#if ENABLE_OVERLOADING-    PollRestartMethodInfo                   ,-#endif-    pollRestart                             ,----- ** setControllable #method:setControllable#--#if ENABLE_OVERLOADING-    PollSetControllableMethodInfo           ,-#endif-    pollSetControllable                     ,----- ** setFlushing #method:setFlushing#--#if ENABLE_OVERLOADING-    PollSetFlushingMethodInfo               ,-#endif-    pollSetFlushing                         ,----- ** wait #method:wait#--#if ENABLE_OVERLOADING-    PollWaitMethodInfo                      ,-#endif-    pollWait                                ,----- ** writeControl #method:writeControl#--#if ENABLE_OVERLOADING-    PollWriteControlMethodInfo              ,-#endif-    pollWriteControl                        ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Structs.PollFD as GLib.PollFD-import {-# SOURCE #-} qualified GI.Gst.Structs.PollFD as Gst.PollFD---- | Memory-managed wrapper type.-newtype Poll = Poll (ManagedPtr Poll)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr Poll where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `Poll`.-noPoll :: Maybe Poll-noPoll = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Poll-type instance O.AttributeList Poll = PollAttributeList-type PollAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Poll::add_fd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_add_fd" gst_poll_add_fd :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    IO CInt--{- |-Add a file descriptor to the file descriptor set.--}-pollAddFd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the file descriptor was successfully added to the set. -}-pollAddFd set fd = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    result <- gst_poll_add_fd set' fd'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollAddFdMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> m Bool), MonadIO m) => O.MethodInfo PollAddFdMethodInfo Poll signature where-    overloadedMethod _ = pollAddFd--#endif---- method Poll::fd_can_read--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_can_read" gst_poll_fd_can_read :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    IO CInt--{- |-Check if /@fd@/ in /@set@/ has data to be read.--}-pollFdCanRead ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the descriptor has data to be read. -}-pollFdCanRead set fd = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    result <- gst_poll_fd_can_read set' fd'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollFdCanReadMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> m Bool), MonadIO m) => O.MethodInfo PollFdCanReadMethodInfo Poll signature where-    overloadedMethod _ = pollFdCanRead--#endif---- method Poll::fd_can_write--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_can_write" gst_poll_fd_can_write :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    IO CInt--{- |-Check if /@fd@/ in /@set@/ can be used for writing.--}-pollFdCanWrite ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the descriptor can be used for writing. -}-pollFdCanWrite set fd = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    result <- gst_poll_fd_can_write set' fd'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollFdCanWriteMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> m Bool), MonadIO m) => O.MethodInfo PollFdCanWriteMethodInfo Poll signature where-    overloadedMethod _ = pollFdCanWrite--#endif---- method Poll::fd_ctl_pri--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new status.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_ctl_pri" gst_poll_fd_ctl_pri :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    CInt ->                                 -- active : TBasicType TBoolean-    IO CInt--{- |-Control whether the descriptor /@fd@/ in /@set@/ will be monitored for-exceptional conditions (POLLPRI).--Not implemented on Windows (will just return 'False' there).--/Since: 1.16/--}-pollFdCtlPri ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> Bool-    {- ^ /@active@/: a new status. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the descriptor was successfully updated. -}-pollFdCtlPri set fd active = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    let active' = (fromIntegral . fromEnum) active-    result <- gst_poll_fd_ctl_pri set' fd' active'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollFdCtlPriMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> Bool -> m Bool), MonadIO m) => O.MethodInfo PollFdCtlPriMethodInfo Poll signature where-    overloadedMethod _ = pollFdCtlPri--#endif---- method Poll::fd_ctl_read--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new status.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_ctl_read" gst_poll_fd_ctl_read :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    CInt ->                                 -- active : TBasicType TBoolean-    IO CInt--{- |-Control whether the descriptor /@fd@/ in /@set@/ will be monitored for-readability.--}-pollFdCtlRead ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> Bool-    {- ^ /@active@/: a new status. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the descriptor was successfully updated. -}-pollFdCtlRead set fd active = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    let active' = (fromIntegral . fromEnum) active-    result <- gst_poll_fd_ctl_read set' fd' active'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollFdCtlReadMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> Bool -> m Bool), MonadIO m) => O.MethodInfo PollFdCtlReadMethodInfo Poll signature where-    overloadedMethod _ = pollFdCtlRead--#endif---- method Poll::fd_ctl_write--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new status.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_ctl_write" gst_poll_fd_ctl_write :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    CInt ->                                 -- active : TBasicType TBoolean-    IO CInt--{- |-Control whether the descriptor /@fd@/ in /@set@/ will be monitored for-writability.--}-pollFdCtlWrite ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> Bool-    {- ^ /@active@/: a new status. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the descriptor was successfully updated. -}-pollFdCtlWrite set fd active = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    let active' = (fromIntegral . fromEnum) active-    result <- gst_poll_fd_ctl_write set' fd' active'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollFdCtlWriteMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> Bool -> m Bool), MonadIO m) => O.MethodInfo PollFdCtlWriteMethodInfo Poll signature where-    overloadedMethod _ = pollFdCtlWrite--#endif---- method Poll::fd_has_closed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_has_closed" gst_poll_fd_has_closed :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    IO CInt--{- |-Check if /@fd@/ in /@set@/ has closed the connection.--}-pollFdHasClosed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the connection was closed. -}-pollFdHasClosed set fd = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    result <- gst_poll_fd_has_closed set' fd'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollFdHasClosedMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> m Bool), MonadIO m) => O.MethodInfo PollFdHasClosedMethodInfo Poll signature where-    overloadedMethod _ = pollFdHasClosed--#endif---- method Poll::fd_has_error--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_has_error" gst_poll_fd_has_error :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    IO CInt--{- |-Check if /@fd@/ in /@set@/ has an error.--}-pollFdHasError ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the descriptor has an error. -}-pollFdHasError set fd = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    result <- gst_poll_fd_has_error set' fd'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollFdHasErrorMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> m Bool), MonadIO m) => O.MethodInfo PollFdHasErrorMethodInfo Poll signature where-    overloadedMethod _ = pollFdHasError--#endif---- method Poll::fd_has_pri--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_has_pri" gst_poll_fd_has_pri :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    IO CInt--{- |-Check if /@fd@/ in /@set@/ has an exceptional condition (POLLPRI).--Not implemented on Windows (will just return 'False' there).--/Since: 1.16/--}-pollFdHasPri ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the descriptor has an exceptional condition. -}-pollFdHasPri set fd = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    result <- gst_poll_fd_has_pri set' fd'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollFdHasPriMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> m Bool), MonadIO m) => O.MethodInfo PollFdHasPriMethodInfo Poll signature where-    overloadedMethod _ = pollFdHasPri--#endif---- method Poll::fd_ignored--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_ignored" gst_poll_fd_ignored :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    IO ()--{- |-Mark /@fd@/ as ignored so that the next call to 'GI.Gst.Structs.Poll.pollWait' 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 'GI.Gst.Structs.Poll.pollWait'.--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.--}-pollFdIgnored ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> m ()-pollFdIgnored set fd = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    gst_poll_fd_ignored set' fd'-    touchManagedPtr set-    touchManagedPtr fd-    return ()--#if ENABLE_OVERLOADING-data PollFdIgnoredMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> m ()), MonadIO m) => O.MethodInfo PollFdIgnoredMethodInfo Poll signature where-    overloadedMethod _ = pollFdIgnored--#endif---- XXX Could not generate method Poll::free--- Error was : Bad introspection data: "Transferring a non-boxed struct with unknown size!"--- method Poll::get_read_gpollfd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPoll", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "GLib", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GPollFD", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_poll_get_read_gpollfd" gst_poll_get_read_gpollfd :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr GLib.PollFD.PollFD ->               -- fd : TInterface (Name {namespace = "GLib", name = "PollFD"})-    IO ()--{- |-Get a GPollFD for the reading part of the control socket. This is useful when-integrating with a GSource and GMainLoop.--}-pollGetReadGpollfd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a 'GI.Gst.Structs.Poll.Poll' -}-    -> GLib.PollFD.PollFD-    {- ^ /@fd@/: a 'GI.GLib.Structs.PollFD.PollFD' -}-    -> m ()-pollGetReadGpollfd set fd = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    gst_poll_get_read_gpollfd set' fd'-    touchManagedPtr set-    touchManagedPtr fd-    return ()--#if ENABLE_OVERLOADING-data PollGetReadGpollfdMethodInfo-instance (signature ~ (GLib.PollFD.PollFD -> m ()), MonadIO m) => O.MethodInfo PollGetReadGpollfdMethodInfo Poll signature where-    overloadedMethod _ = pollGetReadGpollfd--#endif---- method Poll::read_control--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPoll.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_read_control" gst_poll_read_control :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    IO CInt--{- |-Read a byte from the control socket of the controllable /@set@/.--This function only works for timer 'GI.Gst.Structs.Poll.Poll' objects created with-@/gst_poll_new_timer()/@.--}-pollReadControl ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a 'GI.Gst.Structs.Poll.Poll'. -}-    -> m Bool-    {- ^ __Returns:__ '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. -}-pollReadControl set = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    result <- gst_poll_read_control set'-    let result' = (/= 0) result-    touchManagedPtr set-    return result'--#if ENABLE_OVERLOADING-data PollReadControlMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo PollReadControlMethodInfo Poll signature where-    overloadedMethod _ = pollReadControl--#endif---- method Poll::remove_fd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_remove_fd" gst_poll_remove_fd :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Ptr Gst.PollFD.PollFD ->                -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    IO CInt--{- |-Remove a file descriptor from the file descriptor set.--}-pollRemoveFd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a file descriptor set. -}-    -> Gst.PollFD.PollFD-    {- ^ /@fd@/: a file descriptor. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the file descriptor was successfully removed from the set. -}-pollRemoveFd set fd = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    fd' <- unsafeManagedPtrGetPtr fd-    result <- gst_poll_remove_fd set' fd'-    let result' = (/= 0) result-    touchManagedPtr set-    touchManagedPtr fd-    return result'--#if ENABLE_OVERLOADING-data PollRemoveFdMethodInfo-instance (signature ~ (Gst.PollFD.PollFD -> m Bool), MonadIO m) => O.MethodInfo PollRemoveFdMethodInfo Poll signature where-    overloadedMethod _ = pollRemoveFd--#endif---- method Poll::restart--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPoll.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_poll_restart" gst_poll_restart :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    IO ()--{- |-Restart any 'GI.Gst.Structs.Poll.pollWait' 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 'GI.Gst.Structs.Poll.Poll' objects created with-@/gst_poll_new()/@.--}-pollRestart ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a 'GI.Gst.Structs.Poll.Poll'. -}-    -> m ()-pollRestart set = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    gst_poll_restart set'-    touchManagedPtr set-    return ()--#if ENABLE_OVERLOADING-data PollRestartMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo PollRestartMethodInfo Poll signature where-    overloadedMethod _ = pollRestart--#endif---- method Poll::set_controllable--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPoll.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "controllable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new controllable state.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_set_controllable" gst_poll_set_controllable :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    CInt ->                                 -- controllable : TBasicType TBoolean-    IO CInt--{- |-When /@controllable@/ is 'True', this function ensures that future calls to-'GI.Gst.Structs.Poll.pollWait' will be affected by 'GI.Gst.Structs.Poll.pollRestart' and-'GI.Gst.Structs.Poll.pollSetFlushing'.--This function only works for non-timer 'GI.Gst.Structs.Poll.Poll' objects created with-@/gst_poll_new()/@.--}-pollSetControllable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a 'GI.Gst.Structs.Poll.Poll'. -}-    -> Bool-    {- ^ /@controllable@/: new controllable state. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the controllability of /@set@/ could be updated. -}-pollSetControllable set controllable = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    let controllable' = (fromIntegral . fromEnum) controllable-    result <- gst_poll_set_controllable set' controllable'-    let result' = (/= 0) result-    touchManagedPtr set-    return result'--#if ENABLE_OVERLOADING-data PollSetControllableMethodInfo-instance (signature ~ (Bool -> m Bool), MonadIO m) => O.MethodInfo PollSetControllableMethodInfo Poll signature where-    overloadedMethod _ = pollSetControllable--#endif---- method Poll::set_flushing--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPoll.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flushing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new flushing state.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_poll_set_flushing" gst_poll_set_flushing :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    CInt ->                                 -- flushing : TBasicType TBoolean-    IO ()--{- |-When /@flushing@/ is 'True', this function ensures that current and future calls-to 'GI.Gst.Structs.Poll.pollWait' 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 'GI.Gst.Structs.Poll.Poll' objects created with-@/gst_poll_new()/@.--}-pollSetFlushing ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a 'GI.Gst.Structs.Poll.Poll'. -}-    -> Bool-    {- ^ /@flushing@/: new flushing state. -}-    -> m ()-pollSetFlushing set flushing = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    let flushing' = (fromIntegral . fromEnum) flushing-    gst_poll_set_flushing set' flushing'-    touchManagedPtr set-    return ()--#if ENABLE_OVERLOADING-data PollSetFlushingMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo PollSetFlushingMethodInfo Poll signature where-    overloadedMethod _ = pollSetFlushing--#endif---- method Poll::wait--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPoll.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timeout in nanoseconds.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_wait" gst_poll_wait :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    Word64 ->                               -- timeout : TBasicType TUInt64-    IO Int32--{- |-Wait for activity on the file descriptors in /@set@/. This function waits up to-the specified /@timeout@/.  A timeout of 'GI.Gst.Constants.CLOCK_TIME_NONE' waits forever.--For 'GI.Gst.Structs.Poll.Poll' 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 'GI.Gst.Structs.Poll.Poll' objects created with-@/gst_poll_new_timer()/@, where it is allowed to have multiple threads waiting-simultaneously.--}-pollWait ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a 'GI.Gst.Structs.Poll.Poll'. -}-    -> Word64-    {- ^ /@timeout@/: a timeout in nanoseconds. -}-    -> m Int32-    {- ^ __Returns:__ The number of 'GI.Gst.Structs.PollFD.PollFD' 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. -}-pollWait set timeout = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    result <- gst_poll_wait set' timeout-    touchManagedPtr set-    return result--#if ENABLE_OVERLOADING-data PollWaitMethodInfo-instance (signature ~ (Word64 -> m Int32), MonadIO m) => O.MethodInfo PollWaitMethodInfo Poll signature where-    overloadedMethod _ = pollWait--#endif---- method Poll::write_control--- method type : OrdinaryMethod--- Args : [Arg {argCName = "set", argType = TInterface (Name {namespace = "Gst", name = "Poll"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPoll.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_poll_write_control" gst_poll_write_control :: -    Ptr Poll ->                             -- set : TInterface (Name {namespace = "Gst", name = "Poll"})-    IO CInt--{- |-Write a byte to the control socket of the controllable /@set@/.-This function is mostly useful for timer 'GI.Gst.Structs.Poll.Poll' objects created with-@/gst_poll_new_timer()/@.--It will make any current and future 'GI.Gst.Structs.Poll.pollWait' function return with-1, meaning the control socket is set. After an equal amount of calls to-'GI.Gst.Structs.Poll.pollReadControl' have been performed, calls to 'GI.Gst.Structs.Poll.pollWait' will-block again until their timeout expired.--This function only works for timer 'GI.Gst.Structs.Poll.Poll' objects created with-@/gst_poll_new_timer()/@.--}-pollWriteControl ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Poll-    {- ^ /@set@/: a 'GI.Gst.Structs.Poll.Poll'. -}-    -> m Bool-    {- ^ __Returns:__ '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. -}-pollWriteControl set = liftIO $ do-    set' <- unsafeManagedPtrGetPtr set-    result <- gst_poll_write_control set'-    let result' = (/= 0) result-    touchManagedPtr set-    return result'--#if ENABLE_OVERLOADING-data PollWriteControlMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo PollWriteControlMethodInfo Poll signature where-    overloadedMethod _ = pollWriteControl--#endif--#if ENABLE_OVERLOADING-type family ResolvePollMethod (t :: Symbol) (o :: *) :: * where-    ResolvePollMethod "addFd" o = PollAddFdMethodInfo-    ResolvePollMethod "fdCanRead" o = PollFdCanReadMethodInfo-    ResolvePollMethod "fdCanWrite" o = PollFdCanWriteMethodInfo-    ResolvePollMethod "fdCtlPri" o = PollFdCtlPriMethodInfo-    ResolvePollMethod "fdCtlRead" o = PollFdCtlReadMethodInfo-    ResolvePollMethod "fdCtlWrite" o = PollFdCtlWriteMethodInfo-    ResolvePollMethod "fdHasClosed" o = PollFdHasClosedMethodInfo-    ResolvePollMethod "fdHasError" o = PollFdHasErrorMethodInfo-    ResolvePollMethod "fdHasPri" o = PollFdHasPriMethodInfo-    ResolvePollMethod "fdIgnored" o = PollFdIgnoredMethodInfo-    ResolvePollMethod "readControl" o = PollReadControlMethodInfo-    ResolvePollMethod "removeFd" o = PollRemoveFdMethodInfo-    ResolvePollMethod "restart" o = PollRestartMethodInfo-    ResolvePollMethod "wait" o = PollWaitMethodInfo-    ResolvePollMethod "writeControl" o = PollWriteControlMethodInfo-    ResolvePollMethod "getReadGpollfd" o = PollGetReadGpollfdMethodInfo-    ResolvePollMethod "setControllable" o = PollSetControllableMethodInfo-    ResolvePollMethod "setFlushing" o = PollSetFlushingMethodInfo-    ResolvePollMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePollMethod t Poll, O.MethodInfo info Poll p) => OL.IsLabel t (Poll -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Poll.hs-boot
@@ -1,80 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Poll where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Poll = Poll (ManagedPtr Poll)-instance WrappedPtr Poll where-#if ENABLE_OVERLOADING-data PollAddFdMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollFdCanReadMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollFdCanWriteMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollFdCtlPriMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollFdCtlReadMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollFdCtlWriteMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollFdHasClosedMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollFdHasErrorMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollFdHasPriMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollFdIgnoredMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollGetReadGpollfdMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollReadControlMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollRemoveFdMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollRestartMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollSetControllableMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollSetFlushingMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollWaitMethodInfo-#endif-#if ENABLE_OVERLOADING-data PollWriteControlMethodInfo-#endif
− GI/Gst/Structs/PollFD.hs
@@ -1,192 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A file descriptor object.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.PollFD-    ( ---- * Exported types-    PollFD(..)                              ,-    newZeroPollFD                           ,-    noPollFD                                ,--- -- * Methods--- ** init #method:init#--#if ENABLE_OVERLOADING-    PollFDInitMethodInfo                    ,-#endif-    pollFDInit                              ,----- -- * Properties--- ** fd #attr:fd#-{- | a file descriptor--}-    getPollFDFd                             ,-#if ENABLE_OVERLOADING-    pollFD_fd                               ,-#endif-    setPollFDFd                             ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- | Memory-managed wrapper type.-newtype PollFD = PollFD (ManagedPtr PollFD)-instance WrappedPtr PollFD where-    wrappedPtrCalloc = callocBytes 8-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr PollFD)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `PollFD` struct initialized to zero.-newZeroPollFD :: MonadIO m => m PollFD-newZeroPollFD = liftIO $ wrappedPtrCalloc >>= wrapPtr PollFD--instance tag ~ 'AttrSet => Constructible PollFD tag where-    new _ attrs = do-        o <- newZeroPollFD-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `PollFD`.-noPollFD :: Maybe PollFD-noPollFD = Nothing--{- |-Get the value of the “@fd@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pollFD #fd-@--}-getPollFDFd :: MonadIO m => PollFD -> m Int32-getPollFDFd s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Int32-    return val--{- |-Set the value of the “@fd@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pollFD [ #fd 'Data.GI.Base.Attributes.:=' value ]-@--}-setPollFDFd :: MonadIO m => PollFD -> Int32 -> m ()-setPollFDFd s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Int32)--#if ENABLE_OVERLOADING-data PollFDFdFieldInfo-instance AttrInfo PollFDFdFieldInfo where-    type AttrAllowedOps PollFDFdFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PollFDFdFieldInfo = (~) Int32-    type AttrBaseTypeConstraint PollFDFdFieldInfo = (~) PollFD-    type AttrGetType PollFDFdFieldInfo = Int32-    type AttrLabel PollFDFdFieldInfo = "fd"-    type AttrOrigin PollFDFdFieldInfo = PollFD-    attrGet _ = getPollFDFd-    attrSet _ = setPollFDFd-    attrConstruct = undefined-    attrClear _ = undefined--pollFD_fd :: AttrLabelProxy "fd"-pollFD_fd = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList PollFD-type instance O.AttributeList PollFD = PollFDAttributeList-type PollFDAttributeList = ('[ '("fd", PollFDFdFieldInfo)] :: [(Symbol, *)])-#endif---- method PollFD::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "fd", argType = TInterface (Name {namespace = "Gst", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPollFD", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_poll_fd_init" gst_poll_fd_init :: -    Ptr PollFD ->                           -- fd : TInterface (Name {namespace = "Gst", name = "PollFD"})-    IO ()--{- |-Initializes /@fd@/. Alternatively you can initialize it with-@/GST_POLL_FD_INIT/@.--}-pollFDInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    PollFD-    {- ^ /@fd@/: a 'GI.Gst.Structs.PollFD.PollFD' -}-    -> m ()-pollFDInit fd = liftIO $ do-    fd' <- unsafeManagedPtrGetPtr fd-    gst_poll_fd_init fd'-    touchManagedPtr fd-    return ()--#if ENABLE_OVERLOADING-data PollFDInitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo PollFDInitMethodInfo PollFD signature where-    overloadedMethod _ = pollFDInit--#endif--#if ENABLE_OVERLOADING-type family ResolvePollFDMethod (t :: Symbol) (o :: *) :: * where-    ResolvePollFDMethod "init" o = PollFDInitMethodInfo-    ResolvePollFDMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePollFDMethod t PollFD, O.MethodInfo info PollFD p) => OL.IsLabel t (PollFD -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/PollFD.hs-boot
@@ -1,29 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.PollFD where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype PollFD = PollFD (ManagedPtr PollFD)-instance WrappedPtr PollFD where-#if ENABLE_OVERLOADING-data PollFDInitMethodInfo-#endif
− GI/Gst/Structs/Promise.hs
@@ -1,517 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.Gst.Structs.Promise.Promise' object implements the container for values that may-be available later. i.e. a Future or a Promise in-\<ulink url=\"https:\/\/en.wikipedia.org\/wiki\/Futures_and_promises\">https:\/\/en.wikipedia.org\/wiki\/Futures_and_promises\<\/ulink>-As with all Future\/Promise-like functionality, there is the concept of the-producer of the value and the consumer of the value.--A 'GI.Gst.Structs.Promise.Promise' is created with 'GI.Gst.Structs.Promise.promiseNew' by the consumer and passed-to the producer to avoid thread safety issues with the change callback.-A 'GI.Gst.Structs.Promise.Promise' can be replied to with a value (or an error) by the producer-with 'GI.Gst.Structs.Promise.promiseReply'. 'GI.Gst.Structs.Promise.promiseInterrupt' is for the consumer to-indicate to the producer that the value is not needed anymore and producing-that value can stop.  The /@gSTPROMISERESULTEXPIRED@/ state set by a call-to 'GI.Gst.Structs.Promise.promiseExpire' 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 'GI.Gst.Objects.Bus.Bus'.-A callback can also be installed at 'GI.Gst.Structs.Promise.Promise' creation for-result changes with 'GI.Gst.Structs.Promise.promiseNewWithChangeFunc'.-The change callback can be used to chain @/GstPromises/@\'s together as in the-following example.--=== /C code/->->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 'GI.Gst.Structs.Promise.Promise' starts out with a 'GI.Gst.Enums.PromiseResult' of-'GI.Gst.Enums.PromiseResultPending' and only ever transitions once-into one of the other 'GI.Gst.Enums.PromiseResult'\'s.--In order to support multi-threaded code, 'GI.Gst.Structs.Promise.promiseReply',-'GI.Gst.Structs.Promise.promiseInterrupt' and 'GI.Gst.Structs.Promise.promiseExpire' 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 'GI.Gst.Structs.Promise.promiseReply' and 'GI.Gst.Structs.Promise.promiseInterrupt' cannot be called-after 'GI.Gst.Structs.Promise.promiseExpire'-2. That 'GI.Gst.Structs.Promise.promiseReply' and 'GI.Gst.Structs.Promise.promiseInterrupt'-cannot be called twice.--The change function set with 'GI.Gst.Structs.Promise.promiseNewWithChangeFunc' is-called directly from either the 'GI.Gst.Structs.Promise.promiseReply',-'GI.Gst.Structs.Promise.promiseInterrupt' or 'GI.Gst.Structs.Promise.promiseExpire' and can be called-from an arbitrary thread.  'GI.Gst.Structs.Promise.Promise' using APIs can restrict this to-a single thread or a subset of threads but that is entirely up to the API-that uses 'GI.Gst.Structs.Promise.Promise'.--/Since: 1.14/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Promise-    ( ---- * Exported types-    Promise(..)                             ,-    newZeroPromise                          ,-    noPromise                               ,--- -- * Methods--- ** expire #method:expire#--#if ENABLE_OVERLOADING-    PromiseExpireMethodInfo                 ,-#endif-    promiseExpire                           ,----- ** getReply #method:getReply#--#if ENABLE_OVERLOADING-    PromiseGetReplyMethodInfo               ,-#endif-    promiseGetReply                         ,----- ** interrupt #method:interrupt#--#if ENABLE_OVERLOADING-    PromiseInterruptMethodInfo              ,-#endif-    promiseInterrupt                        ,----- ** new #method:new#--    promiseNew                              ,----- ** newWithChangeFunc #method:newWithChangeFunc#--    promiseNewWithChangeFunc                ,----- ** reply #method:reply#--#if ENABLE_OVERLOADING-    PromiseReplyMethodInfo                  ,-#endif-    promiseReply                            ,----- ** wait #method:wait#--#if ENABLE_OVERLOADING-    PromiseWaitMethodInfo                   ,-#endif-    promiseWait                             ,----- -- * Properties--- ** parent #attr:parent#-{- | parent 'GI.Gst.Structs.MiniObject.MiniObject'--}-    getPromiseParent                        ,-#if ENABLE_OVERLOADING-    promise_parent                          ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype Promise = Promise (ManagedPtr Promise)-foreign import ccall "gst_promise_get_type" c_gst_promise_get_type :: -    IO GType--instance BoxedObject Promise where-    boxedType _ = c_gst_promise_get_type---- | Construct a `Promise` struct initialized to zero.-newZeroPromise :: MonadIO m => m Promise-newZeroPromise = liftIO $ callocBoxedBytes 64 >>= wrapBoxed Promise--instance tag ~ 'AttrSet => Constructible Promise tag where-    new _ attrs = do-        o <- newZeroPromise-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Promise`.-noPromise :: Maybe Promise-noPromise = Nothing--{- |-Get the value of the “@parent@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' promise #parent-@--}-getPromiseParent :: MonadIO m => Promise -> m Gst.MiniObject.MiniObject-getPromiseParent s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.MiniObject.MiniObject)-    val' <- (newPtr Gst.MiniObject.MiniObject) val-    return val'--#if ENABLE_OVERLOADING-data PromiseParentFieldInfo-instance AttrInfo PromiseParentFieldInfo where-    type AttrAllowedOps PromiseParentFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint PromiseParentFieldInfo = (~) (Ptr Gst.MiniObject.MiniObject)-    type AttrBaseTypeConstraint PromiseParentFieldInfo = (~) Promise-    type AttrGetType PromiseParentFieldInfo = Gst.MiniObject.MiniObject-    type AttrLabel PromiseParentFieldInfo = "parent"-    type AttrOrigin PromiseParentFieldInfo = Promise-    attrGet _ = getPromiseParent-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--promise_parent :: AttrLabelProxy "parent"-promise_parent = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Promise-type instance O.AttributeList Promise = PromiseAttributeList-type PromiseAttributeList = ('[ '("parent", PromiseParentFieldInfo)] :: [(Symbol, *)])-#endif---- method Promise::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Promise"}))--- throws : False--- Skip return : False--foreign import ccall "gst_promise_new" gst_promise_new :: -    IO (Ptr Promise)--{- |-/No description available in the introspection data./--/Since: 1.14/--}-promiseNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Promise-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Promise.Promise' -}-promiseNew  = liftIO $ do-    result <- gst_promise_new-    checkUnexpectedReturnNULL "promiseNew" result-    result' <- (wrapBoxed Promise) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Promise::new_with_change_func--- method type : Constructor--- Args : [Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "PromiseChangeFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPromiseChangeFunc to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 1, argDestroy = 2, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "argument to call @func with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "notification function that @user_data is no longer needed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Promise"}))--- throws : False--- Skip return : False--foreign import ccall "gst_promise_new_with_change_func" gst_promise_new_with_change_func :: -    FunPtr Gst.Callbacks.C_PromiseChangeFunc -> -- func : TInterface (Name {namespace = "Gst", name = "PromiseChangeFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO (Ptr Promise)--{- |-/@func@/ will be called exactly once when transitioning out of-'GI.Gst.Enums.PromiseResultPending' into any of the other 'GI.Gst.Enums.PromiseResult'-states.--/Since: 1.14/--}-promiseNewWithChangeFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Callbacks.PromiseChangeFunc-    {- ^ /@func@/: a 'GI.Gst.Callbacks.PromiseChangeFunc' to call -}-    -> m Promise-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Promise.Promise' -}-promiseNewWithChangeFunc func = liftIO $ do-    func' <- Gst.Callbacks.mk_PromiseChangeFunc (Gst.Callbacks.wrap_PromiseChangeFunc Nothing (Gst.Callbacks.drop_closures_PromiseChangeFunc func))-    let userData = castFunPtrToPtr func'-    let notify = safeFreeFunPtrPtr-    result <- gst_promise_new_with_change_func func' userData notify-    checkUnexpectedReturnNULL "promiseNewWithChangeFunc" result-    result' <- (wrapBoxed Promise) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Promise::expire--- method type : OrdinaryMethod--- Args : [Arg {argCName = "promise", argType = TInterface (Name {namespace = "Gst", name = "Promise"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPromise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_promise_expire" gst_promise_expire :: -    Ptr Promise ->                          -- promise : TInterface (Name {namespace = "Gst", name = "Promise"})-    IO ()--{- |-Expire a /@promise@/.  This will wake up any waiters with-'GI.Gst.Enums.PromiseResultExpired'.  Called by a message loop when the parent-message is handled and\/or destroyed (possibly unanswered).--/Since: 1.14/--}-promiseExpire ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Promise-    {- ^ /@promise@/: a 'GI.Gst.Structs.Promise.Promise' -}-    -> m ()-promiseExpire promise = liftIO $ do-    promise' <- unsafeManagedPtrGetPtr promise-    gst_promise_expire promise'-    touchManagedPtr promise-    return ()--#if ENABLE_OVERLOADING-data PromiseExpireMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo PromiseExpireMethodInfo Promise signature where-    overloadedMethod _ = promiseExpire--#endif---- method Promise::get_reply--- method type : OrdinaryMethod--- Args : [Arg {argCName = "promise", argType = TInterface (Name {namespace = "Gst", name = "Promise"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPromise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_promise_get_reply" gst_promise_get_reply :: -    Ptr Promise ->                          -- promise : TInterface (Name {namespace = "Gst", name = "Promise"})-    IO (Ptr Gst.Structure.Structure)--{- |-Retrieve the reply set on /@promise@/.  /@promise@/ must be in-'GI.Gst.Enums.PromiseResultReplied' and the returned structure is owned by /@promise@/--/Since: 1.14/--}-promiseGetReply ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Promise-    {- ^ /@promise@/: a 'GI.Gst.Structs.Promise.Promise' -}-    -> m Gst.Structure.Structure-    {- ^ __Returns:__ The reply set on /@promise@/ -}-promiseGetReply promise = liftIO $ do-    promise' <- unsafeManagedPtrGetPtr promise-    result <- gst_promise_get_reply promise'-    checkUnexpectedReturnNULL "promiseGetReply" result-    result' <- (newBoxed Gst.Structure.Structure) result-    touchManagedPtr promise-    return result'--#if ENABLE_OVERLOADING-data PromiseGetReplyMethodInfo-instance (signature ~ (m Gst.Structure.Structure), MonadIO m) => O.MethodInfo PromiseGetReplyMethodInfo Promise signature where-    overloadedMethod _ = promiseGetReply--#endif---- method Promise::interrupt--- method type : OrdinaryMethod--- Args : [Arg {argCName = "promise", argType = TInterface (Name {namespace = "Gst", name = "Promise"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPromise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_promise_interrupt" gst_promise_interrupt :: -    Ptr Promise ->                          -- promise : TInterface (Name {namespace = "Gst", name = "Promise"})-    IO ()--{- |-Interrupt waiting for a /@promise@/.  This will wake up any waiters with-'GI.Gst.Enums.PromiseResultInterrupted'.  Called when the consumer does not want-the value produced anymore.--/Since: 1.14/--}-promiseInterrupt ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Promise-    {- ^ /@promise@/: a 'GI.Gst.Structs.Promise.Promise' -}-    -> m ()-promiseInterrupt promise = liftIO $ do-    promise' <- unsafeManagedPtrGetPtr promise-    gst_promise_interrupt promise'-    touchManagedPtr promise-    return ()--#if ENABLE_OVERLOADING-data PromiseInterruptMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo PromiseInterruptMethodInfo Promise signature where-    overloadedMethod _ = promiseInterrupt--#endif---- method Promise::reply--- method type : OrdinaryMethod--- Args : [Arg {argCName = "promise", argType = TInterface (Name {namespace = "Gst", name = "Promise"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPromise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure with the the reply contents", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_promise_reply" gst_promise_reply :: -    Ptr Promise ->                          -- promise : TInterface (Name {namespace = "Gst", name = "Promise"})-    Ptr Gst.Structure.Structure ->          -- s : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Set a reply on /@promise@/.  This will wake up any waiters with-'GI.Gst.Enums.PromiseResultReplied'.  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.--/Since: 1.14/--}-promiseReply ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Promise-    {- ^ /@promise@/: a 'GI.Gst.Structs.Promise.Promise' -}-    -> Gst.Structure.Structure-    {- ^ /@s@/: a 'GI.Gst.Structs.Structure.Structure' with the the reply contents -}-    -> m ()-promiseReply promise s = liftIO $ do-    promise' <- unsafeManagedPtrGetPtr promise-    s' <- B.ManagedPtr.disownBoxed s-    gst_promise_reply promise' s'-    touchManagedPtr promise-    touchManagedPtr s-    return ()--#if ENABLE_OVERLOADING-data PromiseReplyMethodInfo-instance (signature ~ (Gst.Structure.Structure -> m ()), MonadIO m) => O.MethodInfo PromiseReplyMethodInfo Promise signature where-    overloadedMethod _ = promiseReply--#endif---- method Promise::wait--- method type : OrdinaryMethod--- Args : [Arg {argCName = "promise", argType = TInterface (Name {namespace = "Gst", name = "Promise"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPromise", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PromiseResult"}))--- throws : False--- Skip return : False--foreign import ccall "gst_promise_wait" gst_promise_wait :: -    Ptr Promise ->                          -- promise : TInterface (Name {namespace = "Gst", name = "Promise"})-    IO CUInt--{- |-Wait for /@promise@/ to move out of the 'GI.Gst.Enums.PromiseResultPending' state.-If /@promise@/ is not in 'GI.Gst.Enums.PromiseResultPending' then it will return-immediately with the current result.--/Since: 1.14/--}-promiseWait ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Promise-    {- ^ /@promise@/: a 'GI.Gst.Structs.Promise.Promise' -}-    -> m Gst.Enums.PromiseResult-    {- ^ __Returns:__ the result of the promise -}-promiseWait promise = liftIO $ do-    promise' <- unsafeManagedPtrGetPtr promise-    result <- gst_promise_wait promise'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr promise-    return result'--#if ENABLE_OVERLOADING-data PromiseWaitMethodInfo-instance (signature ~ (m Gst.Enums.PromiseResult), MonadIO m) => O.MethodInfo PromiseWaitMethodInfo Promise signature where-    overloadedMethod _ = promiseWait--#endif--#if ENABLE_OVERLOADING-type family ResolvePromiseMethod (t :: Symbol) (o :: *) :: * where-    ResolvePromiseMethod "expire" o = PromiseExpireMethodInfo-    ResolvePromiseMethod "interrupt" o = PromiseInterruptMethodInfo-    ResolvePromiseMethod "reply" o = PromiseReplyMethodInfo-    ResolvePromiseMethod "wait" o = PromiseWaitMethodInfo-    ResolvePromiseMethod "getReply" o = PromiseGetReplyMethodInfo-    ResolvePromiseMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePromiseMethod t Promise, O.MethodInfo info Promise p) => OL.IsLabel t (Promise -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Promise.hs-boot
@@ -1,41 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Promise where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Promise = Promise (ManagedPtr Promise)-instance BoxedObject Promise where-#if ENABLE_OVERLOADING-data PromiseExpireMethodInfo-#endif-#if ENABLE_OVERLOADING-data PromiseGetReplyMethodInfo-#endif-#if ENABLE_OVERLOADING-data PromiseInterruptMethodInfo-#endif-#if ENABLE_OVERLOADING-data PromiseReplyMethodInfo-#endif-#if ENABLE_OVERLOADING-data PromiseWaitMethodInfo-#endif
− GI/Gst/Structs/ProtectionMeta.hs
@@ -1,245 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Metadata type that holds information about a sample from a protection-protected-track, including the information needed to decrypt it (if it is encrypted).--/Since: 1.6/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.ProtectionMeta-    ( ---- * Exported types-    ProtectionMeta(..)                      ,-    newZeroProtectionMeta                   ,-    noProtectionMeta                        ,--- -- * Methods--- ** getInfo #method:getInfo#--    protectionMetaGetInfo                   ,----- -- * Properties--- ** info #attr:info#-{- | the cryptographic information needed to decrypt the sample.--}-    clearProtectionMetaInfo                 ,-    getProtectionMetaInfo                   ,-#if ENABLE_OVERLOADING-    protectionMeta_info                     ,-#endif-    setProtectionMetaInfo                   ,----- ** meta #attr:meta#-{- | the parent 'GI.Gst.Structs.Meta.Meta'.--}-    getProtectionMetaMeta                   ,-#if ENABLE_OVERLOADING-    protectionMeta_meta                     ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Structs.Meta as Gst.Meta-import {-# SOURCE #-} qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype ProtectionMeta = ProtectionMeta (ManagedPtr ProtectionMeta)-instance WrappedPtr ProtectionMeta where-    wrappedPtrCalloc = callocBytes 24-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr ProtectionMeta)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `ProtectionMeta` struct initialized to zero.-newZeroProtectionMeta :: MonadIO m => m ProtectionMeta-newZeroProtectionMeta = liftIO $ wrappedPtrCalloc >>= wrapPtr ProtectionMeta--instance tag ~ 'AttrSet => Constructible ProtectionMeta tag where-    new _ attrs = do-        o <- newZeroProtectionMeta-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ProtectionMeta`.-noProtectionMeta :: Maybe ProtectionMeta-noProtectionMeta = Nothing--{- |-Get the value of the “@meta@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' protectionMeta #meta-@--}-getProtectionMetaMeta :: MonadIO m => ProtectionMeta -> m Gst.Meta.Meta-getProtectionMetaMeta s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.Meta.Meta)-    val' <- (newPtr Gst.Meta.Meta) val-    return val'--#if ENABLE_OVERLOADING-data ProtectionMetaMetaFieldInfo-instance AttrInfo ProtectionMetaMetaFieldInfo where-    type AttrAllowedOps ProtectionMetaMetaFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint ProtectionMetaMetaFieldInfo = (~) (Ptr Gst.Meta.Meta)-    type AttrBaseTypeConstraint ProtectionMetaMetaFieldInfo = (~) ProtectionMeta-    type AttrGetType ProtectionMetaMetaFieldInfo = Gst.Meta.Meta-    type AttrLabel ProtectionMetaMetaFieldInfo = "meta"-    type AttrOrigin ProtectionMetaMetaFieldInfo = ProtectionMeta-    attrGet _ = getProtectionMetaMeta-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--protectionMeta_meta :: AttrLabelProxy "meta"-protectionMeta_meta = AttrLabelProxy--#endif---{- |-Get the value of the “@info@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' protectionMeta #info-@--}-getProtectionMetaInfo :: MonadIO m => ProtectionMeta -> m (Maybe Gst.Structure.Structure)-getProtectionMetaInfo s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Gst.Structure.Structure)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newBoxed Gst.Structure.Structure) val'-        return val''-    return result--{- |-Set the value of the “@info@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' protectionMeta [ #info 'Data.GI.Base.Attributes.:=' value ]-@--}-setProtectionMetaInfo :: MonadIO m => ProtectionMeta -> Ptr Gst.Structure.Structure -> m ()-setProtectionMetaInfo s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Ptr Gst.Structure.Structure)--{- |-Set the value of the “@info@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #info-@--}-clearProtectionMetaInfo :: MonadIO m => ProtectionMeta -> m ()-clearProtectionMetaInfo s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr Gst.Structure.Structure)--#if ENABLE_OVERLOADING-data ProtectionMetaInfoFieldInfo-instance AttrInfo ProtectionMetaInfoFieldInfo where-    type AttrAllowedOps ProtectionMetaInfoFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ProtectionMetaInfoFieldInfo = (~) (Ptr Gst.Structure.Structure)-    type AttrBaseTypeConstraint ProtectionMetaInfoFieldInfo = (~) ProtectionMeta-    type AttrGetType ProtectionMetaInfoFieldInfo = Maybe Gst.Structure.Structure-    type AttrLabel ProtectionMetaInfoFieldInfo = "info"-    type AttrOrigin ProtectionMetaInfoFieldInfo = ProtectionMeta-    attrGet _ = getProtectionMetaInfo-    attrSet _ = setProtectionMetaInfo-    attrConstruct = undefined-    attrClear _ = clearProtectionMetaInfo--protectionMeta_info :: AttrLabelProxy "info"-protectionMeta_info = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ProtectionMeta-type instance O.AttributeList ProtectionMeta = ProtectionMetaAttributeList-type ProtectionMetaAttributeList = ('[ '("meta", ProtectionMetaMetaFieldInfo), '("info", ProtectionMetaInfoFieldInfo)] :: [(Symbol, *)])-#endif---- method ProtectionMeta::get_info--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "MetaInfo"}))--- throws : False--- Skip return : False--foreign import ccall "gst_protection_meta_get_info" gst_protection_meta_get_info :: -    IO (Ptr Gst.MetaInfo.MetaInfo)--{- |-/No description available in the introspection data./--}-protectionMetaGetInfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Gst.MetaInfo.MetaInfo-protectionMetaGetInfo  = liftIO $ do-    result <- gst_protection_meta_get_info-    checkUnexpectedReturnNULL "protectionMetaGetInfo" result-    result' <- (newPtr Gst.MetaInfo.MetaInfo) result-    return result'--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveProtectionMetaMethod (t :: Symbol) (o :: *) :: * where-    ResolveProtectionMetaMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveProtectionMetaMethod t ProtectionMeta, O.MethodInfo info ProtectionMeta p) => OL.IsLabel t (ProtectionMeta -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/ProtectionMeta.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.ProtectionMeta where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ProtectionMeta = ProtectionMeta (ManagedPtr ProtectionMeta)-instance WrappedPtr ProtectionMeta where
− GI/Gst/Structs/Query.hs
@@ -1,4366 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Queries can be performed on pads ('GI.Gst.Objects.Pad.padQuery') and elements-('GI.Gst.Objects.Element.elementQuery'). 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:--=== /C code/->->  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;duration);->    g_print ("duration = %"GST_TIME_FORMAT, GST_TIME_ARGS (duration));->  } else {->    g_print ("duration query failed...");->  }->  gst_query_unref (query);---}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Query-    ( ---- * Exported types-    Query(..)                               ,-    newZeroQuery                            ,-    noQuery                                 ,--- -- * Methods--- ** addAllocationMeta #method:addAllocationMeta#--#if ENABLE_OVERLOADING-    QueryAddAllocationMetaMethodInfo        ,-#endif-    queryAddAllocationMeta                  ,----- ** addAllocationParam #method:addAllocationParam#--#if ENABLE_OVERLOADING-    QueryAddAllocationParamMethodInfo       ,-#endif-    queryAddAllocationParam                 ,----- ** addAllocationPool #method:addAllocationPool#--#if ENABLE_OVERLOADING-    QueryAddAllocationPoolMethodInfo        ,-#endif-    queryAddAllocationPool                  ,----- ** addBufferingRange #method:addBufferingRange#--#if ENABLE_OVERLOADING-    QueryAddBufferingRangeMethodInfo        ,-#endif-    queryAddBufferingRange                  ,----- ** addSchedulingMode #method:addSchedulingMode#--#if ENABLE_OVERLOADING-    QueryAddSchedulingModeMethodInfo        ,-#endif-    queryAddSchedulingMode                  ,----- ** findAllocationMeta #method:findAllocationMeta#--#if ENABLE_OVERLOADING-    QueryFindAllocationMetaMethodInfo       ,-#endif-    queryFindAllocationMeta                 ,----- ** getNAllocationMetas #method:getNAllocationMetas#--#if ENABLE_OVERLOADING-    QueryGetNAllocationMetasMethodInfo      ,-#endif-    queryGetNAllocationMetas                ,----- ** getNAllocationParams #method:getNAllocationParams#--#if ENABLE_OVERLOADING-    QueryGetNAllocationParamsMethodInfo     ,-#endif-    queryGetNAllocationParams               ,----- ** getNAllocationPools #method:getNAllocationPools#--#if ENABLE_OVERLOADING-    QueryGetNAllocationPoolsMethodInfo      ,-#endif-    queryGetNAllocationPools                ,----- ** getNBufferingRanges #method:getNBufferingRanges#--#if ENABLE_OVERLOADING-    QueryGetNBufferingRangesMethodInfo      ,-#endif-    queryGetNBufferingRanges                ,----- ** getNSchedulingModes #method:getNSchedulingModes#--#if ENABLE_OVERLOADING-    QueryGetNSchedulingModesMethodInfo      ,-#endif-    queryGetNSchedulingModes                ,----- ** getStructure #method:getStructure#--#if ENABLE_OVERLOADING-    QueryGetStructureMethodInfo             ,-#endif-    queryGetStructure                       ,----- ** hasSchedulingMode #method:hasSchedulingMode#--#if ENABLE_OVERLOADING-    QueryHasSchedulingModeMethodInfo        ,-#endif-    queryHasSchedulingMode                  ,----- ** hasSchedulingModeWithFlags #method:hasSchedulingModeWithFlags#--#if ENABLE_OVERLOADING-    QueryHasSchedulingModeWithFlagsMethodInfo,-#endif-    queryHasSchedulingModeWithFlags         ,----- ** newAcceptCaps #method:newAcceptCaps#--    queryNewAcceptCaps                      ,----- ** newAllocation #method:newAllocation#--    queryNewAllocation                      ,----- ** newBitrate #method:newBitrate#--    queryNewBitrate                         ,----- ** newBuffering #method:newBuffering#--    queryNewBuffering                       ,----- ** newCaps #method:newCaps#--    queryNewCaps                            ,----- ** newContext #method:newContext#--    queryNewContext                         ,----- ** newConvert #method:newConvert#--    queryNewConvert                         ,----- ** newCustom #method:newCustom#--    queryNewCustom                          ,----- ** newDrain #method:newDrain#--    queryNewDrain                           ,----- ** newDuration #method:newDuration#--    queryNewDuration                        ,----- ** newFormats #method:newFormats#--    queryNewFormats                         ,----- ** newLatency #method:newLatency#--    queryNewLatency                         ,----- ** newPosition #method:newPosition#--    queryNewPosition                        ,----- ** newScheduling #method:newScheduling#--    queryNewScheduling                      ,----- ** newSeeking #method:newSeeking#--    queryNewSeeking                         ,----- ** newSegment #method:newSegment#--    queryNewSegment                         ,----- ** newUri #method:newUri#--    queryNewUri                             ,----- ** parseAcceptCaps #method:parseAcceptCaps#--#if ENABLE_OVERLOADING-    QueryParseAcceptCapsMethodInfo          ,-#endif-    queryParseAcceptCaps                    ,----- ** parseAcceptCapsResult #method:parseAcceptCapsResult#--#if ENABLE_OVERLOADING-    QueryParseAcceptCapsResultMethodInfo    ,-#endif-    queryParseAcceptCapsResult              ,----- ** parseAllocation #method:parseAllocation#--#if ENABLE_OVERLOADING-    QueryParseAllocationMethodInfo          ,-#endif-    queryParseAllocation                    ,----- ** parseBitrate #method:parseBitrate#--#if ENABLE_OVERLOADING-    QueryParseBitrateMethodInfo             ,-#endif-    queryParseBitrate                       ,----- ** parseBufferingPercent #method:parseBufferingPercent#--#if ENABLE_OVERLOADING-    QueryParseBufferingPercentMethodInfo    ,-#endif-    queryParseBufferingPercent              ,----- ** parseBufferingRange #method:parseBufferingRange#--#if ENABLE_OVERLOADING-    QueryParseBufferingRangeMethodInfo      ,-#endif-    queryParseBufferingRange                ,----- ** parseBufferingStats #method:parseBufferingStats#--#if ENABLE_OVERLOADING-    QueryParseBufferingStatsMethodInfo      ,-#endif-    queryParseBufferingStats                ,----- ** parseCaps #method:parseCaps#--#if ENABLE_OVERLOADING-    QueryParseCapsMethodInfo                ,-#endif-    queryParseCaps                          ,----- ** parseCapsResult #method:parseCapsResult#--#if ENABLE_OVERLOADING-    QueryParseCapsResultMethodInfo          ,-#endif-    queryParseCapsResult                    ,----- ** parseContext #method:parseContext#--#if ENABLE_OVERLOADING-    QueryParseContextMethodInfo             ,-#endif-    queryParseContext                       ,----- ** parseContextType #method:parseContextType#--#if ENABLE_OVERLOADING-    QueryParseContextTypeMethodInfo         ,-#endif-    queryParseContextType                   ,----- ** parseConvert #method:parseConvert#--#if ENABLE_OVERLOADING-    QueryParseConvertMethodInfo             ,-#endif-    queryParseConvert                       ,----- ** parseDuration #method:parseDuration#--#if ENABLE_OVERLOADING-    QueryParseDurationMethodInfo            ,-#endif-    queryParseDuration                      ,----- ** parseLatency #method:parseLatency#--#if ENABLE_OVERLOADING-    QueryParseLatencyMethodInfo             ,-#endif-    queryParseLatency                       ,----- ** parseNFormats #method:parseNFormats#--#if ENABLE_OVERLOADING-    QueryParseNFormatsMethodInfo            ,-#endif-    queryParseNFormats                      ,----- ** parseNthAllocationMeta #method:parseNthAllocationMeta#--#if ENABLE_OVERLOADING-    QueryParseNthAllocationMetaMethodInfo   ,-#endif-    queryParseNthAllocationMeta             ,----- ** parseNthAllocationParam #method:parseNthAllocationParam#--#if ENABLE_OVERLOADING-    QueryParseNthAllocationParamMethodInfo  ,-#endif-    queryParseNthAllocationParam            ,----- ** parseNthAllocationPool #method:parseNthAllocationPool#--#if ENABLE_OVERLOADING-    QueryParseNthAllocationPoolMethodInfo   ,-#endif-    queryParseNthAllocationPool             ,----- ** parseNthBufferingRange #method:parseNthBufferingRange#--#if ENABLE_OVERLOADING-    QueryParseNthBufferingRangeMethodInfo   ,-#endif-    queryParseNthBufferingRange             ,----- ** parseNthFormat #method:parseNthFormat#--#if ENABLE_OVERLOADING-    QueryParseNthFormatMethodInfo           ,-#endif-    queryParseNthFormat                     ,----- ** parseNthSchedulingMode #method:parseNthSchedulingMode#--#if ENABLE_OVERLOADING-    QueryParseNthSchedulingModeMethodInfo   ,-#endif-    queryParseNthSchedulingMode             ,----- ** parsePosition #method:parsePosition#--#if ENABLE_OVERLOADING-    QueryParsePositionMethodInfo            ,-#endif-    queryParsePosition                      ,----- ** parseScheduling #method:parseScheduling#--#if ENABLE_OVERLOADING-    QueryParseSchedulingMethodInfo          ,-#endif-    queryParseScheduling                    ,----- ** parseSeeking #method:parseSeeking#--#if ENABLE_OVERLOADING-    QueryParseSeekingMethodInfo             ,-#endif-    queryParseSeeking                       ,----- ** parseSegment #method:parseSegment#--#if ENABLE_OVERLOADING-    QueryParseSegmentMethodInfo             ,-#endif-    queryParseSegment                       ,----- ** parseUri #method:parseUri#--#if ENABLE_OVERLOADING-    QueryParseUriMethodInfo                 ,-#endif-    queryParseUri                           ,----- ** parseUriRedirection #method:parseUriRedirection#--#if ENABLE_OVERLOADING-    QueryParseUriRedirectionMethodInfo      ,-#endif-    queryParseUriRedirection                ,----- ** parseUriRedirectionPermanent #method:parseUriRedirectionPermanent#--#if ENABLE_OVERLOADING-    QueryParseUriRedirectionPermanentMethodInfo,-#endif-    queryParseUriRedirectionPermanent       ,----- ** removeNthAllocationMeta #method:removeNthAllocationMeta#--#if ENABLE_OVERLOADING-    QueryRemoveNthAllocationMetaMethodInfo  ,-#endif-    queryRemoveNthAllocationMeta            ,----- ** removeNthAllocationParam #method:removeNthAllocationParam#--#if ENABLE_OVERLOADING-    QueryRemoveNthAllocationParamMethodInfo ,-#endif-    queryRemoveNthAllocationParam           ,----- ** removeNthAllocationPool #method:removeNthAllocationPool#--#if ENABLE_OVERLOADING-    QueryRemoveNthAllocationPoolMethodInfo  ,-#endif-    queryRemoveNthAllocationPool            ,----- ** setAcceptCapsResult #method:setAcceptCapsResult#--#if ENABLE_OVERLOADING-    QuerySetAcceptCapsResultMethodInfo      ,-#endif-    querySetAcceptCapsResult                ,----- ** setBitrate #method:setBitrate#--#if ENABLE_OVERLOADING-    QuerySetBitrateMethodInfo               ,-#endif-    querySetBitrate                         ,----- ** setBufferingPercent #method:setBufferingPercent#--#if ENABLE_OVERLOADING-    QuerySetBufferingPercentMethodInfo      ,-#endif-    querySetBufferingPercent                ,----- ** setBufferingRange #method:setBufferingRange#--#if ENABLE_OVERLOADING-    QuerySetBufferingRangeMethodInfo        ,-#endif-    querySetBufferingRange                  ,----- ** setBufferingStats #method:setBufferingStats#--#if ENABLE_OVERLOADING-    QuerySetBufferingStatsMethodInfo        ,-#endif-    querySetBufferingStats                  ,----- ** setCapsResult #method:setCapsResult#--#if ENABLE_OVERLOADING-    QuerySetCapsResultMethodInfo            ,-#endif-    querySetCapsResult                      ,----- ** setContext #method:setContext#--#if ENABLE_OVERLOADING-    QuerySetContextMethodInfo               ,-#endif-    querySetContext                         ,----- ** setConvert #method:setConvert#--#if ENABLE_OVERLOADING-    QuerySetConvertMethodInfo               ,-#endif-    querySetConvert                         ,----- ** setDuration #method:setDuration#--#if ENABLE_OVERLOADING-    QuerySetDurationMethodInfo              ,-#endif-    querySetDuration                        ,----- ** setFormatsv #method:setFormatsv#--#if ENABLE_OVERLOADING-    QuerySetFormatsvMethodInfo              ,-#endif-    querySetFormatsv                        ,----- ** setLatency #method:setLatency#--#if ENABLE_OVERLOADING-    QuerySetLatencyMethodInfo               ,-#endif-    querySetLatency                         ,----- ** setNthAllocationParam #method:setNthAllocationParam#--#if ENABLE_OVERLOADING-    QuerySetNthAllocationParamMethodInfo    ,-#endif-    querySetNthAllocationParam              ,----- ** setNthAllocationPool #method:setNthAllocationPool#--#if ENABLE_OVERLOADING-    QuerySetNthAllocationPoolMethodInfo     ,-#endif-    querySetNthAllocationPool               ,----- ** setPosition #method:setPosition#--#if ENABLE_OVERLOADING-    QuerySetPositionMethodInfo              ,-#endif-    querySetPosition                        ,----- ** setScheduling #method:setScheduling#--#if ENABLE_OVERLOADING-    QuerySetSchedulingMethodInfo            ,-#endif-    querySetScheduling                      ,----- ** setSeeking #method:setSeeking#--#if ENABLE_OVERLOADING-    QuerySetSeekingMethodInfo               ,-#endif-    querySetSeeking                         ,----- ** setSegment #method:setSegment#--#if ENABLE_OVERLOADING-    QuerySetSegmentMethodInfo               ,-#endif-    querySetSegment                         ,----- ** setUri #method:setUri#--#if ENABLE_OVERLOADING-    QuerySetUriMethodInfo                   ,-#endif-    querySetUri                             ,----- ** setUriRedirection #method:setUriRedirection#--#if ENABLE_OVERLOADING-    QuerySetUriRedirectionMethodInfo        ,-#endif-    querySetUriRedirection                  ,----- ** setUriRedirectionPermanent #method:setUriRedirectionPermanent#--#if ENABLE_OVERLOADING-    QuerySetUriRedirectionPermanentMethodInfo,-#endif-    querySetUriRedirectionPermanent         ,----- ** writableStructure #method:writableStructure#--#if ENABLE_OVERLOADING-    QueryWritableStructureMethodInfo        ,-#endif-    queryWritableStructure                  ,----- -- * Properties--- ** miniObject #attr:miniObject#-{- | The parent 'GI.Gst.Structs.MiniObject.MiniObject' type--}-    getQueryMiniObject                      ,-#if ENABLE_OVERLOADING-    query_miniObject                        ,-#endif----- ** type #attr:type#-{- | the 'GI.Gst.Enums.QueryType'--}-    getQueryType                            ,-#if ENABLE_OVERLOADING-    query_type                              ,-#endif-    setQueryType                            ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags-import {-# SOURCE #-} qualified GI.Gst.Objects.Allocator as Gst.Allocator-import {-# SOURCE #-} qualified GI.Gst.Objects.BufferPool as Gst.BufferPool-import {-# SOURCE #-} qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.Context as Gst.Context-import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype Query = Query (ManagedPtr Query)-foreign import ccall "gst_query_get_type" c_gst_query_get_type :: -    IO GType--instance BoxedObject Query where-    boxedType _ = c_gst_query_get_type---- | Construct a `Query` struct initialized to zero.-newZeroQuery :: MonadIO m => m Query-newZeroQuery = liftIO $ callocBoxedBytes 72 >>= wrapBoxed Query--instance tag ~ 'AttrSet => Constructible Query tag where-    new _ attrs = do-        o <- newZeroQuery-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Query`.-noQuery :: Maybe Query-noQuery = Nothing--{- |-Get the value of the “@mini_object@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' query #miniObject-@--}-getQueryMiniObject :: MonadIO m => Query -> m Gst.MiniObject.MiniObject-getQueryMiniObject s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.MiniObject.MiniObject)-    val' <- (newPtr Gst.MiniObject.MiniObject) val-    return val'--#if ENABLE_OVERLOADING-data QueryMiniObjectFieldInfo-instance AttrInfo QueryMiniObjectFieldInfo where-    type AttrAllowedOps QueryMiniObjectFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint QueryMiniObjectFieldInfo = (~) (Ptr Gst.MiniObject.MiniObject)-    type AttrBaseTypeConstraint QueryMiniObjectFieldInfo = (~) Query-    type AttrGetType QueryMiniObjectFieldInfo = Gst.MiniObject.MiniObject-    type AttrLabel QueryMiniObjectFieldInfo = "mini_object"-    type AttrOrigin QueryMiniObjectFieldInfo = Query-    attrGet _ = getQueryMiniObject-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--query_miniObject :: AttrLabelProxy "miniObject"-query_miniObject = AttrLabelProxy--#endif---{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' query #type-@--}-getQueryType :: MonadIO m => Query -> m Gst.Enums.QueryType-getQueryType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' query [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setQueryType :: MonadIO m => Query -> Gst.Enums.QueryType -> m ()-setQueryType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 64) (val' :: CUInt)--#if ENABLE_OVERLOADING-data QueryTypeFieldInfo-instance AttrInfo QueryTypeFieldInfo where-    type AttrAllowedOps QueryTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint QueryTypeFieldInfo = (~) Gst.Enums.QueryType-    type AttrBaseTypeConstraint QueryTypeFieldInfo = (~) Query-    type AttrGetType QueryTypeFieldInfo = Gst.Enums.QueryType-    type AttrLabel QueryTypeFieldInfo = "type"-    type AttrOrigin QueryTypeFieldInfo = Query-    attrGet _ = getQueryType-    attrSet _ = setQueryType-    attrConstruct = undefined-    attrClear _ = undefined--query_type :: AttrLabelProxy "type"-query_type = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Query-type instance O.AttributeList Query = QueryAttributeList-type QueryAttributeList = ('[ '("miniObject", QueryMiniObjectFieldInfo), '("type", QueryTypeFieldInfo)] :: [(Symbol, *)])-#endif---- method Query::new_accept_caps--- method type : Constructor--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a fixed #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_accept_caps" gst_query_new_accept_caps :: -    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Query)--{- |-Constructs a new query object for querying if /@caps@/ are accepted.--Free-function: @/gst_query_unref()/@--}-queryNewAcceptCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Caps.Caps-    {- ^ /@caps@/: a fixed 'GI.Gst.Structs.Caps.Caps' -}-    -> m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewAcceptCaps caps = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_query_new_accept_caps caps'-    checkUnexpectedReturnNULL "queryNewAcceptCaps" result-    result' <- (wrapBoxed Query) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_allocation--- method type : Constructor--- Args : [Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the negotiated caps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "need_pool", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return a pool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_allocation" gst_query_new_allocation :: -    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    CInt ->                                 -- need_pool : TBasicType TBoolean-    IO (Ptr Query)--{- |-Constructs a new query object for querying the allocation properties.--Free-function: @/gst_query_unref()/@--}-queryNewAllocation ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Caps.Caps-    {- ^ /@caps@/: the negotiated caps -}-    -> Bool-    {- ^ /@needPool@/: return a pool -}-    -> m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewAllocation caps needPool = liftIO $ do-    caps' <- unsafeManagedPtrGetPtr caps-    let needPool' = (fromIntegral . fromEnum) needPool-    result <- gst_query_new_allocation caps' needPool'-    checkUnexpectedReturnNULL "queryNewAllocation" result-    result' <- (wrapBoxed Query) result-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_bitrate--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_bitrate" gst_query_new_bitrate :: -    IO (Ptr Query)--{- |-Constructs a new query object for querying the bitrate.--Free-function: @/gst_query_unref()/@--/Since: 1.16/--}-queryNewBitrate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewBitrate  = liftIO $ do-    result <- gst_query_new_bitrate-    checkUnexpectedReturnNULL "queryNewBitrate" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_buffering--- method type : Constructor--- Args : [Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the default #GstFormat for the new query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_buffering" gst_query_new_buffering :: -    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO (Ptr Query)--{- |-Constructs a new query object for querying the buffering status of-a stream.--Free-function: @/gst_query_unref()/@--}-queryNewBuffering ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Format-    {- ^ /@format@/: the default 'GI.Gst.Enums.Format' for the new query -}-    -> m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewBuffering format = liftIO $ do-    let format' = (fromIntegral . fromEnum) format-    result <- gst_query_new_buffering format'-    checkUnexpectedReturnNULL "queryNewBuffering" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_caps--- method type : Constructor--- Args : [Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_caps" gst_query_new_caps :: -    Ptr Gst.Caps.Caps ->                    -- filter : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO (Ptr Query)--{- |-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()/@--}-queryNewCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Caps.Caps-    {- ^ /@filter@/: a filter -}-    -> m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewCaps filter = liftIO $ do-    filter' <- unsafeManagedPtrGetPtr filter-    result <- gst_query_new_caps filter'-    checkUnexpectedReturnNULL "queryNewCaps" result-    result' <- (wrapBoxed Query) result-    touchManagedPtr filter-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_context--- method type : Constructor--- Args : [Arg {argCName = "context_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Context type to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_context" gst_query_new_context :: -    CString ->                              -- context_type : TBasicType TUTF8-    IO (Ptr Query)--{- |-Constructs a new query object for querying the pipeline-local context.--Free-function: @/gst_query_unref()/@--/Since: 1.2/--}-queryNewContext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@contextType@/: Context type to query -}-    -> m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewContext contextType = liftIO $ do-    contextType' <- textToCString contextType-    result <- gst_query_new_context contextType'-    checkUnexpectedReturnNULL "queryNewContext" result-    result' <- (wrapBoxed Query) result-    freeMem contextType'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_convert--- method type : Constructor--- Args : [Arg {argCName = "src_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GstFormat for the new query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the target #GstFormat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_convert" gst_query_new_convert :: -    CUInt ->                                -- src_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- value : TBasicType TInt64-    CUInt ->                                -- dest_format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO (Ptr Query)--{- |-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()/@--}-queryNewConvert ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Format-    {- ^ /@srcFormat@/: the source 'GI.Gst.Enums.Format' for the new query -}-    -> Int64-    {- ^ /@value@/: the value to convert -}-    -> Gst.Enums.Format-    {- ^ /@destFormat@/: the target 'GI.Gst.Enums.Format' -}-    -> m Query-    {- ^ __Returns:__ a 'GI.Gst.Structs.Query.Query' -}-queryNewConvert srcFormat value destFormat = liftIO $ do-    let srcFormat' = (fromIntegral . fromEnum) srcFormat-    let destFormat' = (fromIntegral . fromEnum) destFormat-    result <- gst_query_new_convert srcFormat' value destFormat'-    checkUnexpectedReturnNULL "queryNewConvert" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_custom--- method type : Constructor--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "QueryType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the query type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a structure for the query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_custom" gst_query_new_custom :: -    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "QueryType"})-    Ptr Gst.Structure.Structure ->          -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Query)--{- |-Constructs a new custom query object. Use @/gst_query_unref()/@-when done with it.--Free-function: @/gst_query_unref()/@--}-queryNewCustom ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.QueryType-    {- ^ /@type@/: the query type -}-    -> Maybe (Gst.Structure.Structure)-    {- ^ /@structure@/: a structure for the query -}-    -> m (Maybe Query)-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewCustom type_ structure = liftIO $ do-    let type_' = (fromIntegral . fromEnum) type_-    maybeStructure <- case structure of-        Nothing -> return nullPtr-        Just jStructure -> do-            jStructure' <- B.ManagedPtr.disownBoxed jStructure-            return jStructure'-    result <- gst_query_new_custom type_' maybeStructure-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Query) result'-        return result''-    whenJust structure touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Query::new_drain--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_drain" gst_query_new_drain :: -    IO (Ptr Query)--{- |-Constructs a new query object for querying the drain state.--Free-function: @/gst_query_unref()/@--}-queryNewDrain ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewDrain  = liftIO $ do-    result <- gst_query_new_drain-    checkUnexpectedReturnNULL "queryNewDrain" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_duration--- method type : Constructor--- Args : [Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat for this duration query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_duration" gst_query_new_duration :: -    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO (Ptr Query)--{- |-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()/@--}-queryNewDuration ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' for this duration query -}-    -> m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewDuration format = liftIO $ do-    let format' = (fromIntegral . fromEnum) format-    result <- gst_query_new_duration format'-    checkUnexpectedReturnNULL "queryNewDuration" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_formats--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_formats" gst_query_new_formats :: -    IO (Ptr Query)--{- |-Constructs a new query object for querying formats of-the stream.--Free-function: @/gst_query_unref()/@--}-queryNewFormats ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewFormats  = liftIO $ do-    result <- gst_query_new_formats-    checkUnexpectedReturnNULL "queryNewFormats" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_latency--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_latency" gst_query_new_latency :: -    IO (Ptr Query)--{- |-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()/@--}-queryNewLatency ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Query-    {- ^ __Returns:__ a 'GI.Gst.Structs.Query.Query' -}-queryNewLatency  = liftIO $ do-    result <- gst_query_new_latency-    checkUnexpectedReturnNULL "queryNewLatency" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_position--- method type : Constructor--- Args : [Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the default #GstFormat for the new query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_position" gst_query_new_position :: -    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO (Ptr Query)--{- |-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()/@--}-queryNewPosition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Format-    {- ^ /@format@/: the default 'GI.Gst.Enums.Format' for the new query -}-    -> m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewPosition format = liftIO $ do-    let format' = (fromIntegral . fromEnum) format-    result <- gst_query_new_position format'-    checkUnexpectedReturnNULL "queryNewPosition" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_scheduling--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_scheduling" gst_query_new_scheduling :: -    IO (Ptr Query)--{- |-Constructs a new query object for querying the scheduling properties.--Free-function: @/gst_query_unref()/@--}-queryNewScheduling ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewScheduling  = liftIO $ do-    result <- gst_query_new_scheduling-    checkUnexpectedReturnNULL "queryNewScheduling" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_seeking--- method type : Constructor--- Args : [Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the default #GstFormat for the new query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_seeking" gst_query_new_seeking :: -    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO (Ptr Query)--{- |-Constructs a new query object for querying seeking properties of-the stream.--Free-function: @/gst_query_unref()/@--}-queryNewSeeking ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Format-    {- ^ /@format@/: the default 'GI.Gst.Enums.Format' for the new query -}-    -> m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewSeeking format = liftIO $ do-    let format' = (fromIntegral . fromEnum) format-    result <- gst_query_new_seeking format'-    checkUnexpectedReturnNULL "queryNewSeeking" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_segment--- method type : Constructor--- Args : [Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat for the new query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_segment" gst_query_new_segment :: -    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO (Ptr Query)--{- |-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()/@--}-queryNewSegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' for the new query -}-    -> m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewSegment format = liftIO $ do-    let format' = (fromIntegral . fromEnum) format-    result <- gst_query_new_segment format'-    checkUnexpectedReturnNULL "queryNewSegment" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::new_uri--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Query"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_new_uri" gst_query_new_uri :: -    IO (Ptr Query)--{- |-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()/@--}-queryNewUri ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Query-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Query.Query' -}-queryNewUri  = liftIO $ do-    result <- gst_query_new_uri-    checkUnexpectedReturnNULL "queryNewUri" result-    result' <- (wrapBoxed Query) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Query::add_allocation_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "api", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the metadata API", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "API specific parameters", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_add_allocation_meta" gst_query_add_allocation_meta :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CGType ->                               -- api : TBasicType TGType-    Ptr Gst.Structure.Structure ->          -- params : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Add /@api@/ with /@params@/ as one of the supported metadata API to /@query@/.--}-queryAddAllocationMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> GType-    {- ^ /@api@/: the metadata API -}-    -> Maybe (Gst.Structure.Structure)-    {- ^ /@params@/: API specific parameters -}-    -> m ()-queryAddAllocationMeta query api params = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let api' = gtypeToCGType api-    maybeParams <- case params of-        Nothing -> return nullPtr-        Just jParams -> do-            jParams' <- unsafeManagedPtrGetPtr jParams-            return jParams'-    gst_query_add_allocation_meta query' api' maybeParams-    touchManagedPtr query-    whenJust params touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data QueryAddAllocationMetaMethodInfo-instance (signature ~ (GType -> Maybe (Gst.Structure.Structure) -> m ()), MonadIO m) => O.MethodInfo QueryAddAllocationMetaMethodInfo Query signature where-    overloadedMethod _ = queryAddAllocationMeta--#endif---- method Query::add_allocation_param--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the memory allocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstAllocationParams", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_add_allocation_param" gst_query_add_allocation_param :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr Gst.Allocator.Allocator ->          -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO ()--{- |-Add /@allocator@/ and its /@params@/ as a supported memory allocator.--}-queryAddAllocationParam ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Allocator.IsAllocator a) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> Maybe (a)-    {- ^ /@allocator@/: the memory allocator -}-    -> Maybe (Gst.AllocationParams.AllocationParams)-    {- ^ /@params@/: a 'GI.Gst.Structs.AllocationParams.AllocationParams' -}-    -> m ()-queryAddAllocationParam query allocator params = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    maybeAllocator <- case allocator of-        Nothing -> return nullPtr-        Just jAllocator -> do-            jAllocator' <- unsafeManagedPtrCastPtr jAllocator-            return jAllocator'-    maybeParams <- case params of-        Nothing -> return nullPtr-        Just jParams -> do-            jParams' <- unsafeManagedPtrGetPtr jParams-            return jParams'-    gst_query_add_allocation_param query' maybeAllocator maybeParams-    touchManagedPtr query-    whenJust allocator touchManagedPtr-    whenJust params touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data QueryAddAllocationParamMethodInfo-instance (signature ~ (Maybe (a) -> Maybe (Gst.AllocationParams.AllocationParams) -> m ()), MonadIO m, Gst.Allocator.IsAllocator a) => O.MethodInfo QueryAddAllocationParamMethodInfo Query signature where-    overloadedMethod _ = queryAddAllocationParam--#endif---- method Query::add_allocation_pool--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstQuery of type GST_QUERY_ALLOCATION.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the buffer size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_buffers", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the min buffers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_buffers", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the max buffers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_add_allocation_pool" gst_query_add_allocation_pool :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr Gst.BufferPool.BufferPool ->        -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    Word32 ->                               -- size : TBasicType TUInt-    Word32 ->                               -- min_buffers : TBasicType TUInt-    Word32 ->                               -- max_buffers : TBasicType TUInt-    IO ()--{- |-Set the pool parameters in /@query@/.--}-queryAddAllocationPool ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.BufferPool.IsBufferPool a) =>-    Query-    {- ^ /@query@/: A valid 'GI.Gst.Structs.Query.Query' of type GST_QUERY_ALLOCATION. -}-    -> Maybe (a)-    {- ^ /@pool@/: the 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> Word32-    {- ^ /@size@/: the buffer size -}-    -> Word32-    {- ^ /@minBuffers@/: the min buffers -}-    -> Word32-    {- ^ /@maxBuffers@/: the max buffers -}-    -> m ()-queryAddAllocationPool query pool size minBuffers maxBuffers = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    maybePool <- case pool of-        Nothing -> return nullPtr-        Just jPool -> do-            jPool' <- unsafeManagedPtrCastPtr jPool-            return jPool'-    gst_query_add_allocation_pool query' maybePool size minBuffers maxBuffers-    touchManagedPtr query-    whenJust pool touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data QueryAddAllocationPoolMethodInfo-instance (signature ~ (Maybe (a) -> Word32 -> Word32 -> Word32 -> m ()), MonadIO m, Gst.BufferPool.IsBufferPool a) => O.MethodInfo QueryAddAllocationPoolMethodInfo Query signature where-    overloadedMethod _ = queryAddAllocationPool--#endif---- method Query::add_buffering_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_BUFFERING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start position of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "stop position of the range", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_query_add_buffering_range" gst_query_add_buffering_range :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Int64 ->                                -- start : TBasicType TInt64-    Int64 ->                                -- stop : TBasicType TInt64-    IO CInt--{- |-Set the buffering-ranges array field in /@query@/. The current last-start position of the array should be inferior to /@start@/.--}-queryAddBufferingRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_BUFFERING type query 'GI.Gst.Structs.Query.Query' -}-    -> Int64-    {- ^ /@start@/: start position of the range -}-    -> Int64-    {- ^ /@stop@/: stop position of the range -}-    -> m Bool-    {- ^ __Returns:__ a 'Bool' indicating if the range was added or not. -}-queryAddBufferingRange query start stop = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_query_add_buffering_range query' start stop-    let result' = (/= 0) result-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data QueryAddBufferingRangeMethodInfo-instance (signature ~ (Int64 -> Int64 -> m Bool), MonadIO m) => O.MethodInfo QueryAddBufferingRangeMethodInfo Query signature where-    overloadedMethod _ = queryAddBufferingRange--#endif---- method Query::add_scheduling_mode--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_SCHEDULING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "PadMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstPadMode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_add_scheduling_mode" gst_query_add_scheduling_mode :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "PadMode"})-    IO ()--{- |-Add /@mode@/ as one of the supported scheduling modes to /@query@/.--}-queryAddSchedulingMode ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_SCHEDULING type query 'GI.Gst.Structs.Query.Query' -}-    -> Gst.Enums.PadMode-    {- ^ /@mode@/: a 'GI.Gst.Enums.PadMode' -}-    -> m ()-queryAddSchedulingMode query mode = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let mode' = (fromIntegral . fromEnum) mode-    gst_query_add_scheduling_mode query' mode'-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QueryAddSchedulingModeMethodInfo-instance (signature ~ (Gst.Enums.PadMode -> m ()), MonadIO m) => O.MethodInfo QueryAddSchedulingModeMethodInfo Query signature where-    overloadedMethod _ = queryAddSchedulingMode--#endif---- method Query::find_allocation_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "api", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the metadata API", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_query_find_allocation_meta" gst_query_find_allocation_meta :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CGType ->                               -- api : TBasicType TGType-    Ptr Word32 ->                           -- index : TBasicType TUInt-    IO CInt--{- |-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.--}-queryFindAllocationMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> GType-    {- ^ /@api@/: the metadata API -}-    -> m ((Bool, Word32))-    {- ^ __Returns:__ 'True' when /@api@/ is in the list of metadata. -}-queryFindAllocationMeta query api = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let api' = gtypeToCGType api-    index <- allocMem :: IO (Ptr Word32)-    result <- gst_query_find_allocation_meta query' api' index-    let result' = (/= 0) result-    index' <- peek index-    touchManagedPtr query-    freeMem index-    return (result', index')--#if ENABLE_OVERLOADING-data QueryFindAllocationMetaMethodInfo-instance (signature ~ (GType -> m ((Bool, Word32))), MonadIO m) => O.MethodInfo QueryFindAllocationMetaMethodInfo Query signature where-    overloadedMethod _ = queryFindAllocationMeta--#endif---- method Query::get_n_allocation_metas--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_query_get_n_allocation_metas" gst_query_get_n_allocation_metas :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO Word32--{- |-Retrieve the number of values currently stored in the-meta API array of the query\'s structure.--}-queryGetNAllocationMetas ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> m Word32-    {- ^ __Returns:__ the metadata API array size as a @/guint/@. -}-queryGetNAllocationMetas query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_query_get_n_allocation_metas query'-    touchManagedPtr query-    return result--#if ENABLE_OVERLOADING-data QueryGetNAllocationMetasMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo QueryGetNAllocationMetasMethodInfo Query signature where-    overloadedMethod _ = queryGetNAllocationMetas--#endif---- method Query::get_n_allocation_params--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_query_get_n_allocation_params" gst_query_get_n_allocation_params :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO Word32--{- |-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.--}-queryGetNAllocationParams ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> m Word32-    {- ^ __Returns:__ the allocator array size as a @/guint/@. -}-queryGetNAllocationParams query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_query_get_n_allocation_params query'-    touchManagedPtr query-    return result--#if ENABLE_OVERLOADING-data QueryGetNAllocationParamsMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo QueryGetNAllocationParamsMethodInfo Query signature where-    overloadedMethod _ = queryGetNAllocationParams--#endif---- method Query::get_n_allocation_pools--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_query_get_n_allocation_pools" gst_query_get_n_allocation_pools :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO Word32--{- |-Retrieve the number of values currently stored in the-pool array of the query\'s structure.--}-queryGetNAllocationPools ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> m Word32-    {- ^ __Returns:__ the pool array size as a @/guint/@. -}-queryGetNAllocationPools query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_query_get_n_allocation_pools query'-    touchManagedPtr query-    return result--#if ENABLE_OVERLOADING-data QueryGetNAllocationPoolsMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo QueryGetNAllocationPoolsMethodInfo Query signature where-    overloadedMethod _ = queryGetNAllocationPools--#endif---- method Query::get_n_buffering_ranges--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_BUFFERING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_query_get_n_buffering_ranges" gst_query_get_n_buffering_ranges :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO Word32--{- |-Retrieve the number of values currently stored in the-buffered-ranges array of the query\'s structure.--}-queryGetNBufferingRanges ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_BUFFERING type query 'GI.Gst.Structs.Query.Query' -}-    -> m Word32-    {- ^ __Returns:__ the range array size as a @/guint/@. -}-queryGetNBufferingRanges query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_query_get_n_buffering_ranges query'-    touchManagedPtr query-    return result--#if ENABLE_OVERLOADING-data QueryGetNBufferingRangesMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo QueryGetNBufferingRangesMethodInfo Query signature where-    overloadedMethod _ = queryGetNBufferingRanges--#endif---- method Query::get_n_scheduling_modes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_SCHEDULING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_query_get_n_scheduling_modes" gst_query_get_n_scheduling_modes :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO Word32--{- |-Retrieve the number of values currently stored in the-scheduling mode array of the query\'s structure.--}-queryGetNSchedulingModes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_SCHEDULING type query 'GI.Gst.Structs.Query.Query' -}-    -> m Word32-    {- ^ __Returns:__ the scheduling mode array size as a @/guint/@. -}-queryGetNSchedulingModes query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_query_get_n_scheduling_modes query'-    touchManagedPtr query-    return result--#if ENABLE_OVERLOADING-data QueryGetNSchedulingModesMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo QueryGetNSchedulingModesMethodInfo Query signature where-    overloadedMethod _ = queryGetNSchedulingModes--#endif---- method Query::get_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_get_structure" gst_query_get_structure :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO (Ptr Gst.Structure.Structure)--{- |-Get the structure of a query.--}-queryGetStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m (Maybe Gst.Structure.Structure)-    {- ^ __Returns:__ the 'GI.Gst.Structs.Structure.Structure' of the query. The-    structure is still owned by the query and will therefore be freed when the-    query is unreffed. -}-queryGetStructure query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_query_get_structure query'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Structure.Structure) result'-        return result''-    touchManagedPtr query-    return maybeResult--#if ENABLE_OVERLOADING-data QueryGetStructureMethodInfo-instance (signature ~ (m (Maybe Gst.Structure.Structure)), MonadIO m) => O.MethodInfo QueryGetStructureMethodInfo Query signature where-    overloadedMethod _ = queryGetStructure--#endif---- method Query::has_scheduling_mode--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_SCHEDULING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "PadMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scheduling mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_query_has_scheduling_mode" gst_query_has_scheduling_mode :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "PadMode"})-    IO CInt--{- |-Check if /@query@/ has scheduling mode set.--> When checking if upstream supports pull mode, it is usually not-> enough to just check for GST_PAD_MODE_PULL with this function, you-> also want to check whether the scheduling flags returned by-> 'GI.Gst.Structs.Query.queryParseScheduling' have the seeking flag set (meaning-> random access is supported, not only sequential pulls).--}-queryHasSchedulingMode ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_SCHEDULING type query 'GI.Gst.Structs.Query.Query' -}-    -> Gst.Enums.PadMode-    {- ^ /@mode@/: the scheduling mode -}-    -> m Bool-    {- ^ __Returns:__ 'True' when /@mode@/ is in the list of scheduling modes. -}-queryHasSchedulingMode query mode = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let mode' = (fromIntegral . fromEnum) mode-    result <- gst_query_has_scheduling_mode query' mode'-    let result' = (/= 0) result-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data QueryHasSchedulingModeMethodInfo-instance (signature ~ (Gst.Enums.PadMode -> m Bool), MonadIO m) => O.MethodInfo QueryHasSchedulingModeMethodInfo Query signature where-    overloadedMethod _ = queryHasSchedulingMode--#endif---- method Query::has_scheduling_mode_with_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_SCHEDULING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "PadMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scheduling mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "SchedulingFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstSchedulingFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_query_has_scheduling_mode_with_flags" gst_query_has_scheduling_mode_with_flags :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "PadMode"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "SchedulingFlags"})-    IO CInt--{- |-Check if /@query@/ has scheduling mode set and /@flags@/ is set in-query scheduling flags.--}-queryHasSchedulingModeWithFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_SCHEDULING type query 'GI.Gst.Structs.Query.Query' -}-    -> Gst.Enums.PadMode-    {- ^ /@mode@/: the scheduling mode -}-    -> [Gst.Flags.SchedulingFlags]-    {- ^ /@flags@/: 'GI.Gst.Flags.SchedulingFlags' -}-    -> m Bool-    {- ^ __Returns:__ 'True' when /@mode@/ is in the list of scheduling modes-   and /@flags@/ are compatible with query flags. -}-queryHasSchedulingModeWithFlags query mode flags = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let mode' = (fromIntegral . fromEnum) mode-    let flags' = gflagsToWord flags-    result <- gst_query_has_scheduling_mode_with_flags query' mode' flags'-    let result' = (/= 0) result-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data QueryHasSchedulingModeWithFlagsMethodInfo-instance (signature ~ (Gst.Enums.PadMode -> [Gst.Flags.SchedulingFlags] -> m Bool), MonadIO m) => O.MethodInfo QueryHasSchedulingModeWithFlagsMethodInfo Query signature where-    overloadedMethod _ = queryHasSchedulingModeWithFlags--#endif---- method Query::parse_accept_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The query to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the caps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_accept_caps" gst_query_parse_accept_caps :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr (Ptr Gst.Caps.Caps) ->              -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-Get the caps from /@query@/. The caps remains valid as long as /@query@/ remains-valid.--}-queryParseAcceptCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: The query to parse -}-    -> m (Gst.Caps.Caps)-queryParseAcceptCaps query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    caps <- allocMem :: IO (Ptr (Ptr Gst.Caps.Caps))-    gst_query_parse_accept_caps query' caps-    caps' <- peek caps-    caps'' <- (newBoxed Gst.Caps.Caps) caps'-    touchManagedPtr query-    freeMem caps-    return caps''--#if ENABLE_OVERLOADING-data QueryParseAcceptCapsMethodInfo-instance (signature ~ (m (Gst.Caps.Caps)), MonadIO m) => O.MethodInfo QueryParseAcceptCapsMethodInfo Query signature where-    overloadedMethod _ = queryParseAcceptCaps--#endif---- method Query::parse_accept_caps_result--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ACCEPT_CAPS type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_accept_caps_result" gst_query_parse_accept_caps_result :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CInt ->                             -- result : TBasicType TBoolean-    IO ()--{- |-Parse the result from /@query@/ and store in /@result@/.--}-queryParseAcceptCapsResult ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ACCEPT_CAPS type query 'GI.Gst.Structs.Query.Query' -}-    -> m (Bool)-queryParseAcceptCapsResult query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result_ <- allocMem :: IO (Ptr CInt)-    gst_query_parse_accept_caps_result query' result_-    result_' <- peek result_-    let result_'' = (/= 0) result_'-    touchManagedPtr query-    freeMem result_-    return result_''--#if ENABLE_OVERLOADING-data QueryParseAcceptCapsResultMethodInfo-instance (signature ~ (m (Bool)), MonadIO m) => O.MethodInfo QueryParseAcceptCapsResultMethodInfo Query signature where-    overloadedMethod _ = queryParseAcceptCapsResult--#endif---- method Query::parse_allocation--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "need_pool", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether a #GstBufferPool is needed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_allocation" gst_query_parse_allocation :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr (Ptr Gst.Caps.Caps) ->              -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr CInt ->                             -- need_pool : TBasicType TBoolean-    IO ()--{- |-Parse an allocation query, writing the requested caps in /@caps@/ and-whether a pool is needed in /@needPool@/, if the respective parameters-are non-'Nothing'.--Pool details can be retrieved using 'GI.Gst.Structs.Query.queryGetNAllocationPools' and-'GI.Gst.Structs.Query.queryParseNthAllocationPool'.--}-queryParseAllocation ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m ((Gst.Caps.Caps, Bool))-queryParseAllocation query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    caps <- allocMem :: IO (Ptr (Ptr Gst.Caps.Caps))-    needPool <- allocMem :: IO (Ptr CInt)-    gst_query_parse_allocation query' caps needPool-    caps' <- peek caps-    caps'' <- (newBoxed Gst.Caps.Caps) caps'-    needPool' <- peek needPool-    let needPool'' = (/= 0) needPool'-    touchManagedPtr query-    freeMem caps-    freeMem needPool-    return (caps'', needPool'')--#if ENABLE_OVERLOADING-data QueryParseAllocationMethodInfo-instance (signature ~ (m ((Gst.Caps.Caps, Bool))), MonadIO m) => O.MethodInfo QueryParseAllocationMethodInfo Query signature where-    overloadedMethod _ = queryParseAllocation--#endif---- method Query::parse_bitrate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_BITRATE type #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nominal_bitrate", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The resulting bitrate in bits per second", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_bitrate" gst_query_parse_bitrate :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr Word32 ->                           -- nominal_bitrate : TBasicType TUInt-    IO ()--{- |-Get the results of a bitrate query. See also 'GI.Gst.Structs.Query.querySetBitrate'.--/Since: 1.16/--}-queryParseBitrate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_BITRATE type 'GI.Gst.Structs.Query.Query' -}-    -> m (Word32)-queryParseBitrate query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    nominalBitrate <- allocMem :: IO (Ptr Word32)-    gst_query_parse_bitrate query' nominalBitrate-    nominalBitrate' <- peek nominalBitrate-    touchManagedPtr query-    freeMem nominalBitrate-    return nominalBitrate'--#if ENABLE_OVERLOADING-data QueryParseBitrateMethodInfo-instance (signature ~ (m (Word32)), MonadIO m) => O.MethodInfo QueryParseBitrateMethodInfo Query signature where-    overloadedMethod _ = queryParseBitrate--#endif---- method Query::parse_buffering_percent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstQuery of type GST_QUERY_BUFFERING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "busy", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if buffering is busy, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "percent", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a buffering percent, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_buffering_percent" gst_query_parse_buffering_percent :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CInt ->                             -- busy : TBasicType TBoolean-    Ptr Int32 ->                            -- percent : TBasicType TInt-    IO ()--{- |-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.--}-queryParseBufferingPercent ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: A valid 'GI.Gst.Structs.Query.Query' of type GST_QUERY_BUFFERING. -}-    -> m ((Bool, Int32))-queryParseBufferingPercent query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    busy <- allocMem :: IO (Ptr CInt)-    percent <- allocMem :: IO (Ptr Int32)-    gst_query_parse_buffering_percent query' busy percent-    busy' <- peek busy-    let busy'' = (/= 0) busy'-    percent' <- peek percent-    touchManagedPtr query-    freeMem busy-    freeMem percent-    return (busy'', percent')--#if ENABLE_OVERLOADING-data QueryParseBufferingPercentMethodInfo-instance (signature ~ (m ((Bool, Int32))), MonadIO m) => O.MethodInfo QueryParseBufferingPercentMethodInfo Query signature where-    overloadedMethod _ = queryParseBufferingPercent--#endif---- method Query::parse_buffering_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_BUFFERING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format to set for the @segment_start\n    and @segment_end values, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stop to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "estimated_total", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "estimated total amount of download\n    time remaining in milliseconds, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_buffering_range" gst_query_parse_buffering_range :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- start : TBasicType TInt64-    Ptr Int64 ->                            -- stop : TBasicType TInt64-    Ptr Int64 ->                            -- estimated_total : TBasicType TInt64-    IO ()--{- |-Parse an available query, writing the format into /@format@/, and-other results into the passed parameters, if the respective parameters-are non-'Nothing'--}-queryParseBufferingRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_BUFFERING type query 'GI.Gst.Structs.Query.Query' -}-    -> m ((Gst.Enums.Format, Int64, Int64, Int64))-queryParseBufferingRange query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    format <- allocMem :: IO (Ptr CUInt)-    start <- allocMem :: IO (Ptr Int64)-    stop <- allocMem :: IO (Ptr Int64)-    estimatedTotal <- allocMem :: IO (Ptr Int64)-    gst_query_parse_buffering_range query' format start stop estimatedTotal-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    start' <- peek start-    stop' <- peek stop-    estimatedTotal' <- peek estimatedTotal-    touchManagedPtr query-    freeMem format-    freeMem start-    freeMem stop-    freeMem estimatedTotal-    return (format'', start', stop', estimatedTotal')--#if ENABLE_OVERLOADING-data QueryParseBufferingRangeMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Int64, Int64, Int64))), MonadIO m) => O.MethodInfo QueryParseBufferingRangeMethodInfo Query signature where-    overloadedMethod _ = queryParseBufferingRange--#endif---- method Query::parse_buffering_stats--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstQuery of type GST_QUERY_BUFFERING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "BufferingMode"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a buffering mode, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "avg_in", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the average input rate, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "avg_out", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the average output rat, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "buffering_left", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "amount of buffering time left in\n    milliseconds, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_buffering_stats" gst_query_parse_buffering_stats :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CUInt ->                            -- mode : TInterface (Name {namespace = "Gst", name = "BufferingMode"})-    Ptr Int32 ->                            -- avg_in : TBasicType TInt-    Ptr Int32 ->                            -- avg_out : TBasicType TInt-    Ptr Int64 ->                            -- buffering_left : TBasicType TInt64-    IO ()--{- |-Extracts the buffering stats values from /@query@/.--}-queryParseBufferingStats ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: A valid 'GI.Gst.Structs.Query.Query' of type GST_QUERY_BUFFERING. -}-    -> m ((Gst.Enums.BufferingMode, Int32, Int32, Int64))-queryParseBufferingStats query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    mode <- allocMem :: IO (Ptr CUInt)-    avgIn <- allocMem :: IO (Ptr Int32)-    avgOut <- allocMem :: IO (Ptr Int32)-    bufferingLeft <- allocMem :: IO (Ptr Int64)-    gst_query_parse_buffering_stats query' mode avgIn avgOut bufferingLeft-    mode' <- peek mode-    let mode'' = (toEnum . fromIntegral) mode'-    avgIn' <- peek avgIn-    avgOut' <- peek avgOut-    bufferingLeft' <- peek bufferingLeft-    touchManagedPtr query-    freeMem mode-    freeMem avgIn-    freeMem avgOut-    freeMem bufferingLeft-    return (mode'', avgIn', avgOut', bufferingLeft')--#if ENABLE_OVERLOADING-data QueryParseBufferingStatsMethodInfo-instance (signature ~ (m ((Gst.Enums.BufferingMode, Int32, Int32, Int64))), MonadIO m) => O.MethodInfo QueryParseBufferingStatsMethodInfo Query signature where-    overloadedMethod _ = queryParseBufferingStats--#endif---- method Query::parse_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The query to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filter", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the caps filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_caps" gst_query_parse_caps :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr (Ptr Gst.Caps.Caps) ->              -- filter : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-Get the filter from the caps /@query@/. The caps remains valid as long as-/@query@/ remains valid.--}-queryParseCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: The query to parse -}-    -> m (Gst.Caps.Caps)-queryParseCaps query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    filter <- allocMem :: IO (Ptr (Ptr Gst.Caps.Caps))-    gst_query_parse_caps query' filter-    filter' <- peek filter-    filter'' <- (newBoxed Gst.Caps.Caps) filter'-    touchManagedPtr query-    freeMem filter-    return filter''--#if ENABLE_OVERLOADING-data QueryParseCapsMethodInfo-instance (signature ~ (m (Gst.Caps.Caps)), MonadIO m) => O.MethodInfo QueryParseCapsMethodInfo Query signature where-    overloadedMethod _ = queryParseCaps--#endif---- method Query::parse_caps_result--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The query to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the caps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_caps_result" gst_query_parse_caps_result :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr (Ptr Gst.Caps.Caps) ->              -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-Get the caps result from /@query@/. The caps remains valid as long as-/@query@/ remains valid.--}-queryParseCapsResult ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: The query to parse -}-    -> m (Gst.Caps.Caps)-queryParseCapsResult query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    caps <- allocMem :: IO (Ptr (Ptr Gst.Caps.Caps))-    gst_query_parse_caps_result query' caps-    caps' <- peek caps-    caps'' <- (newBoxed Gst.Caps.Caps) caps'-    touchManagedPtr query-    freeMem caps-    return caps''--#if ENABLE_OVERLOADING-data QueryParseCapsResultMethodInfo-instance (signature ~ (m (Gst.Caps.Caps)), MonadIO m) => O.MethodInfo QueryParseCapsResultMethodInfo Query signature where-    overloadedMethod _ = queryParseCapsResult--#endif---- method Query::parse_context--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The query to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to store the #GstContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_context" gst_query_parse_context :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr (Ptr Gst.Context.Context) ->        -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    IO ()--{- |-Get the context from the context /@query@/. The context remains valid as long as-/@query@/ remains valid.--/Since: 1.2/--}-queryParseContext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: The query to parse -}-    -> m (Gst.Context.Context)-queryParseContext query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    context <- allocMem :: IO (Ptr (Ptr Gst.Context.Context))-    gst_query_parse_context query' context-    context' <- peek context-    context'' <- (newBoxed Gst.Context.Context) context'-    touchManagedPtr query-    freeMem context-    return context''--#if ENABLE_OVERLOADING-data QueryParseContextMethodInfo-instance (signature ~ (m (Gst.Context.Context)), MonadIO m) => O.MethodInfo QueryParseContextMethodInfo Query signature where-    overloadedMethod _ = queryParseContext--#endif---- method Query::parse_context_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_CONTEXT type query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context_type", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the context type, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_context_type" gst_query_parse_context_type :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CString ->                          -- context_type : TBasicType TUTF8-    IO CInt--{- |-Parse a context type from an existing GST_QUERY_CONTEXT query.--/Since: 1.2/--}-queryParseContextType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_CONTEXT type query -}-    -> m ((Bool, T.Text))-    {- ^ __Returns:__ a 'Bool' indicating if the parsing succeeded. -}-queryParseContextType query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    contextType <- allocMem :: IO (Ptr CString)-    result <- gst_query_parse_context_type query' contextType-    let result' = (/= 0) result-    contextType' <- peek contextType-    contextType'' <- cstringToText contextType'-    touchManagedPtr query-    freeMem contextType-    return (result', contextType'')--#if ENABLE_OVERLOADING-data QueryParseContextTypeMethodInfo-instance (signature ~ (m ((Bool, T.Text))), MonadIO m) => O.MethodInfo QueryParseContextTypeMethodInfo Query signature where-    overloadedMethod _ = queryParseContextType--#endif---- method Query::parse_convert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the #GstFormat of the\n    source value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "src_value", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the source value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "dest_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the #GstFormat of the\n    destination value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "dest_value", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the destination value,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_convert" gst_query_parse_convert :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CUInt ->                            -- src_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- src_value : TBasicType TInt64-    Ptr CUInt ->                            -- dest_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- dest_value : TBasicType TInt64-    IO ()--{- |-Parse a convert query answer. Any of /@srcFormat@/, /@srcValue@/, /@destFormat@/,-and /@destValue@/ may be 'Nothing', in which case that value is omitted.--}-queryParseConvert ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m ((Gst.Enums.Format, Int64, Gst.Enums.Format, Int64))-queryParseConvert query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    srcFormat <- allocMem :: IO (Ptr CUInt)-    srcValue <- allocMem :: IO (Ptr Int64)-    destFormat <- allocMem :: IO (Ptr CUInt)-    destValue <- allocMem :: IO (Ptr Int64)-    gst_query_parse_convert query' srcFormat srcValue destFormat destValue-    srcFormat' <- peek srcFormat-    let srcFormat'' = (toEnum . fromIntegral) srcFormat'-    srcValue' <- peek srcValue-    destFormat' <- peek destFormat-    let destFormat'' = (toEnum . fromIntegral) destFormat'-    destValue' <- peek destValue-    touchManagedPtr query-    freeMem srcFormat-    freeMem srcValue-    freeMem destFormat-    freeMem destValue-    return (srcFormat'', srcValue', destFormat'', destValue')--#if ENABLE_OVERLOADING-data QueryParseConvertMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Int64, Gst.Enums.Format, Int64))), MonadIO m) => O.MethodInfo QueryParseConvertMethodInfo Query signature where-    overloadedMethod _ = queryParseConvert--#endif---- method Query::parse_duration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the #GstFormat of the duration\n    value, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "duration", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the total duration, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_duration" gst_query_parse_duration :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- duration : TBasicType TInt64-    IO ()--{- |-Parse a duration query answer. Write the format of the duration into /@format@/,-and the value into /@duration@/, if the respective variables are non-'Nothing'.--}-queryParseDuration ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m ((Gst.Enums.Format, Int64))-queryParseDuration query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    format <- allocMem :: IO (Ptr CUInt)-    duration <- allocMem :: IO (Ptr Int64)-    gst_query_parse_duration query' format duration-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    duration' <- peek duration-    touchManagedPtr query-    freeMem format-    freeMem duration-    return (format'', duration')--#if ENABLE_OVERLOADING-data QueryParseDurationMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Int64))), MonadIO m) => O.MethodInfo QueryParseDurationMethodInfo Query signature where-    overloadedMethod _ = queryParseDuration--#endif---- method Query::parse_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "live", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "storage for live or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "min_latency", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the min latency or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "max_latency", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the max latency or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_latency" gst_query_parse_latency :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CInt ->                             -- live : TBasicType TBoolean-    Ptr Word64 ->                           -- min_latency : TBasicType TUInt64-    Ptr Word64 ->                           -- max_latency : TBasicType TUInt64-    IO ()--{- |-Parse a latency query answer.--}-queryParseLatency ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m ((Bool, Word64, Word64))-queryParseLatency query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    live <- allocMem :: IO (Ptr CInt)-    minLatency <- allocMem :: IO (Ptr Word64)-    maxLatency <- allocMem :: IO (Ptr Word64)-    gst_query_parse_latency query' live minLatency maxLatency-    live' <- peek live-    let live'' = (/= 0) live'-    minLatency' <- peek minLatency-    maxLatency' <- peek maxLatency-    touchManagedPtr query-    freeMem live-    freeMem minLatency-    freeMem maxLatency-    return (live'', minLatency', maxLatency')--#if ENABLE_OVERLOADING-data QueryParseLatencyMethodInfo-instance (signature ~ (m ((Bool, Word64, Word64))), MonadIO m) => O.MethodInfo QueryParseLatencyMethodInfo Query signature where-    overloadedMethod _ = queryParseLatency--#endif---- method Query::parse_n_formats--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_formats", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of formats in this query.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_n_formats" gst_query_parse_n_formats :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr Word32 ->                           -- n_formats : TBasicType TUInt-    IO ()--{- |-Parse the number of formats in the formats /@query@/.--}-queryParseNFormats ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m (Word32)-queryParseNFormats query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    nFormats <- allocMem :: IO (Ptr Word32)-    gst_query_parse_n_formats query' nFormats-    nFormats' <- peek nFormats-    touchManagedPtr query-    freeMem nFormats-    return nFormats'--#if ENABLE_OVERLOADING-data QueryParseNFormatsMethodInfo-instance (signature ~ (m (Word32)), MonadIO m) => O.MethodInfo QueryParseNFormatsMethodInfo Query signature where-    overloadedMethod _ = queryParseNFormats--#endif---- method Query::parse_nth_allocation_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in the metadata API array to read", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "API specific parameters", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_nth_allocation_meta" gst_query_parse_nth_allocation_meta :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    Ptr (Ptr Gst.Structure.Structure) ->    -- params : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO CGType--{- |-Parse an available query and get the metadata API-at /@index@/ of the metadata API array.--}-queryParseNthAllocationMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@index@/: position in the metadata API array to read -}-    -> m ((GType, Gst.Structure.Structure))-    {- ^ __Returns:__ a 'GType' of the metadata API at /@index@/. -}-queryParseNthAllocationMeta query index = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    params <- allocMem :: IO (Ptr (Ptr Gst.Structure.Structure))-    result <- gst_query_parse_nth_allocation_meta query' index params-    let result' = GType result-    params' <- peek params-    params'' <- (newBoxed Gst.Structure.Structure) params'-    touchManagedPtr query-    freeMem params-    return (result', params'')--#if ENABLE_OVERLOADING-data QueryParseNthAllocationMetaMethodInfo-instance (signature ~ (Word32 -> m ((GType, Gst.Structure.Structure))), MonadIO m) => O.MethodInfo QueryParseNthAllocationMetaMethodInfo Query signature where-    overloadedMethod _ = queryParseNthAllocationMeta--#endif---- method Query::parse_nth_allocation_param--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in the allocator array to read", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "variable to hold the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "parameters for the allocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_nth_allocation_param" gst_query_parse_nth_allocation_param :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    Ptr (Ptr Gst.Allocator.Allocator) ->    -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO ()--{- |-Parse an available query and get the allocator and its params-at /@index@/ of the allocator array.--}-queryParseNthAllocationParam ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@index@/: position in the allocator array to read -}-    -> m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))-queryParseNthAllocationParam query index = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    allocator <- allocMem :: IO (Ptr (Ptr Gst.Allocator.Allocator))-    params <- callocBoxedBytes 64 :: IO (Ptr Gst.AllocationParams.AllocationParams)-    gst_query_parse_nth_allocation_param query' index allocator params-    allocator' <- peek allocator-    allocator'' <- (wrapObject Gst.Allocator.Allocator) allocator'-    params' <- (wrapBoxed Gst.AllocationParams.AllocationParams) params-    touchManagedPtr query-    freeMem allocator-    return (allocator'', params')--#if ENABLE_OVERLOADING-data QueryParseNthAllocationParamMethodInfo-instance (signature ~ (Word32 -> m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))), MonadIO m) => O.MethodInfo QueryParseNthAllocationParamMethodInfo Query signature where-    overloadedMethod _ = queryParseNthAllocationParam--#endif---- method Query::parse_nth_allocation_pool--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstQuery of type GST_QUERY_ALLOCATION.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the buffer size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "min_buffers", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the min buffers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "max_buffers", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the max buffers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_nth_allocation_pool" gst_query_parse_nth_allocation_pool :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    Ptr (Ptr Gst.BufferPool.BufferPool) ->  -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    Ptr Word32 ->                           -- size : TBasicType TUInt-    Ptr Word32 ->                           -- min_buffers : TBasicType TUInt-    Ptr Word32 ->                           -- max_buffers : TBasicType TUInt-    IO ()--{- |-Get the pool parameters in /@query@/.--Unref /@pool@/ with 'GI.Gst.Objects.Object.objectUnref' when it\'s not needed any more.--}-queryParseNthAllocationPool ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: A valid 'GI.Gst.Structs.Query.Query' of type GST_QUERY_ALLOCATION. -}-    -> Word32-    {- ^ /@index@/: index to parse -}-    -> m ((Gst.BufferPool.BufferPool, Word32, Word32, Word32))-queryParseNthAllocationPool query index = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    pool <- allocMem :: IO (Ptr (Ptr Gst.BufferPool.BufferPool))-    size <- allocMem :: IO (Ptr Word32)-    minBuffers <- allocMem :: IO (Ptr Word32)-    maxBuffers <- allocMem :: IO (Ptr Word32)-    gst_query_parse_nth_allocation_pool query' index pool size minBuffers maxBuffers-    pool' <- peek pool-    pool'' <- (wrapObject Gst.BufferPool.BufferPool) pool'-    size' <- peek size-    minBuffers' <- peek minBuffers-    maxBuffers' <- peek maxBuffers-    touchManagedPtr query-    freeMem pool-    freeMem size-    freeMem minBuffers-    freeMem maxBuffers-    return (pool'', size', minBuffers', maxBuffers')--#if ENABLE_OVERLOADING-data QueryParseNthAllocationPoolMethodInfo-instance (signature ~ (Word32 -> m ((Gst.BufferPool.BufferPool, Word32, Word32, Word32))), MonadIO m) => O.MethodInfo QueryParseNthAllocationPoolMethodInfo Query signature where-    overloadedMethod _ = queryParseNthAllocationPool--#endif---- method Query::parse_nth_buffering_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_BUFFERING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in the buffered-ranges array to read", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start position to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stop position to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_nth_buffering_range" gst_query_parse_nth_buffering_range :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    Ptr Int64 ->                            -- start : TBasicType TInt64-    Ptr Int64 ->                            -- stop : TBasicType TInt64-    IO CInt--{- |-Parse an available query and get the start and stop values stored-at the /@index@/ of the buffered ranges array.--}-queryParseNthBufferingRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_BUFFERING type query 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@index@/: position in the buffered-ranges array to read -}-    -> m ((Bool, Int64, Int64))-    {- ^ __Returns:__ a 'Bool' indicating if the parsing succeeded. -}-queryParseNthBufferingRange query index = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    start <- allocMem :: IO (Ptr Int64)-    stop <- allocMem :: IO (Ptr Int64)-    result <- gst_query_parse_nth_buffering_range query' index start stop-    let result' = (/= 0) result-    start' <- peek start-    stop' <- peek stop-    touchManagedPtr query-    freeMem start-    freeMem stop-    return (result', start', stop')--#if ENABLE_OVERLOADING-data QueryParseNthBufferingRangeMethodInfo-instance (signature ~ (Word32 -> m ((Bool, Int64, Int64))), MonadIO m) => O.MethodInfo QueryParseNthBufferingRangeMethodInfo Query signature where-    overloadedMethod _ = queryParseNthBufferingRange--#endif---- method Query::parse_nth_format--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nth", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nth format to retrieve.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to store the nth format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_nth_format" gst_query_parse_nth_format :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- nth : TBasicType TUInt-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO ()--{- |-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.--}-queryParseNthFormat ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@nth@/: the nth format to retrieve. -}-    -> m (Gst.Enums.Format)-queryParseNthFormat query nth = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    format <- allocMem :: IO (Ptr CUInt)-    gst_query_parse_nth_format query' nth format-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    touchManagedPtr query-    freeMem format-    return format''--#if ENABLE_OVERLOADING-data QueryParseNthFormatMethodInfo-instance (signature ~ (Word32 -> m (Gst.Enums.Format)), MonadIO m) => O.MethodInfo QueryParseNthFormatMethodInfo Query signature where-    overloadedMethod _ = queryParseNthFormat--#endif---- method Query::parse_nth_scheduling_mode--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_SCHEDULING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in the scheduling modes array to read", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadMode"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_nth_scheduling_mode" gst_query_parse_nth_scheduling_mode :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    IO CUInt--{- |-Parse an available query and get the scheduling mode-at /@index@/ of the scheduling modes array.--}-queryParseNthSchedulingMode ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_SCHEDULING type query 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@index@/: position in the scheduling modes array to read -}-    -> m Gst.Enums.PadMode-    {- ^ __Returns:__ a 'GI.Gst.Enums.PadMode' of the scheduling mode at /@index@/. -}-queryParseNthSchedulingMode query index = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_query_parse_nth_scheduling_mode query' index-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data QueryParseNthSchedulingModeMethodInfo-instance (signature ~ (Word32 -> m Gst.Enums.PadMode), MonadIO m) => O.MethodInfo QueryParseNthSchedulingModeMethodInfo Query signature where-    overloadedMethod _ = queryParseNthSchedulingMode--#endif---- method Query::parse_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the #GstFormat of the\n    position values (may be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cur", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the current position (may be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_position" gst_query_parse_position :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- cur : TBasicType TInt64-    IO ()--{- |-Parse a position query, writing the format into /@format@/, and the position-into /@cur@/, if the respective parameters are non-'Nothing'.--}-queryParsePosition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m ((Gst.Enums.Format, Int64))-queryParsePosition query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    format <- allocMem :: IO (Ptr CUInt)-    cur <- allocMem :: IO (Ptr Int64)-    gst_query_parse_position query' format cur-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    cur' <- peek cur-    touchManagedPtr query-    freeMem format-    freeMem cur-    return (format'', cur')--#if ENABLE_OVERLOADING-data QueryParsePositionMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Int64))), MonadIO m) => O.MethodInfo QueryParsePositionMethodInfo Query signature where-    overloadedMethod _ = queryParsePosition--#endif---- method Query::parse_scheduling--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstQuery of type GST_QUERY_SCHEDULING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "SchedulingFlags"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstSchedulingFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "minsize", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the suggested minimum size of pull requests", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "maxsize", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the suggested maximum size of pull requests:", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "align", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the suggested alignment of pull requests", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_scheduling" gst_query_parse_scheduling :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CUInt ->                            -- flags : TInterface (Name {namespace = "Gst", name = "SchedulingFlags"})-    Ptr Int32 ->                            -- minsize : TBasicType TInt-    Ptr Int32 ->                            -- maxsize : TBasicType TInt-    Ptr Int32 ->                            -- align : TBasicType TInt-    IO ()--{- |-Set the scheduling properties.--}-queryParseScheduling ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: A valid 'GI.Gst.Structs.Query.Query' of type GST_QUERY_SCHEDULING. -}-    -> m (([Gst.Flags.SchedulingFlags], Int32, Int32, Int32))-queryParseScheduling query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    flags <- allocMem :: IO (Ptr CUInt)-    minsize <- allocMem :: IO (Ptr Int32)-    maxsize <- allocMem :: IO (Ptr Int32)-    align <- allocMem :: IO (Ptr Int32)-    gst_query_parse_scheduling query' flags minsize maxsize align-    flags' <- peek flags-    let flags'' = wordToGFlags flags'-    minsize' <- peek minsize-    maxsize' <- peek maxsize-    align' <- peek align-    touchManagedPtr query-    freeMem flags-    freeMem minsize-    freeMem maxsize-    freeMem align-    return (flags'', minsize', maxsize', align')--#if ENABLE_OVERLOADING-data QueryParseSchedulingMethodInfo-instance (signature ~ (m (([Gst.Flags.SchedulingFlags], Int32, Int32, Int32))), MonadIO m) => O.MethodInfo QueryParseSchedulingMethodInfo Query signature where-    overloadedMethod _ = queryParseScheduling--#endif---- method Query::parse_seeking--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_SEEKING type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format to set for the @segment_start\n    and @segment_end values, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "seekable", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the seekable flag to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "segment_start", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the segment_start to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "segment_end", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the segment_end to set, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_seeking" gst_query_parse_seeking :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr CInt ->                             -- seekable : TBasicType TBoolean-    Ptr Int64 ->                            -- segment_start : TBasicType TInt64-    Ptr Int64 ->                            -- segment_end : TBasicType TInt64-    IO ()--{- |-Parse a seeking query, writing the format into /@format@/, and-other results into the passed parameters, if the respective parameters-are non-'Nothing'--}-queryParseSeeking ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_SEEKING type query 'GI.Gst.Structs.Query.Query' -}-    -> m ((Gst.Enums.Format, Bool, Int64, Int64))-queryParseSeeking query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    format <- allocMem :: IO (Ptr CUInt)-    seekable <- allocMem :: IO (Ptr CInt)-    segmentStart <- allocMem :: IO (Ptr Int64)-    segmentEnd <- allocMem :: IO (Ptr Int64)-    gst_query_parse_seeking query' format seekable segmentStart segmentEnd-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    seekable' <- peek seekable-    let seekable'' = (/= 0) seekable'-    segmentStart' <- peek segmentStart-    segmentEnd' <- peek segmentEnd-    touchManagedPtr query-    freeMem format-    freeMem seekable-    freeMem segmentStart-    freeMem segmentEnd-    return (format'', seekable'', segmentStart', segmentEnd')--#if ENABLE_OVERLOADING-data QueryParseSeekingMethodInfo-instance (signature ~ (m ((Gst.Enums.Format, Bool, Int64, Int64))), MonadIO m) => O.MethodInfo QueryParseSeekingMethodInfo Query signature where-    overloadedMethod _ = queryParseSeeking--#endif---- method Query::parse_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the rate of the segment, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the #GstFormat of the values,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "start_value", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the start value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stop_value", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the stop value, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_segment" gst_query_parse_segment :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CDouble ->                          -- rate : TBasicType TDouble-    Ptr CUInt ->                            -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- start_value : TBasicType TInt64-    Ptr Int64 ->                            -- stop_value : TBasicType TInt64-    IO ()--{- |-Parse a segment query answer. Any of /@rate@/, /@format@/, /@startValue@/, and-/@stopValue@/ may be 'Nothing', which will cause this value to be omitted.--See 'GI.Gst.Structs.Query.querySetSegment' for an explanation of the function arguments.--}-queryParseSegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m ((Double, Gst.Enums.Format, Int64, Int64))-queryParseSegment query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    rate <- allocMem :: IO (Ptr CDouble)-    format <- allocMem :: IO (Ptr CUInt)-    startValue <- allocMem :: IO (Ptr Int64)-    stopValue <- allocMem :: IO (Ptr Int64)-    gst_query_parse_segment query' rate format startValue stopValue-    rate' <- peek rate-    let rate'' = realToFrac rate'-    format' <- peek format-    let format'' = (toEnum . fromIntegral) format'-    startValue' <- peek startValue-    stopValue' <- peek stopValue-    touchManagedPtr query-    freeMem rate-    freeMem format-    freeMem startValue-    freeMem stopValue-    return (rate'', format'', startValue', stopValue')--#if ENABLE_OVERLOADING-data QueryParseSegmentMethodInfo-instance (signature ~ (m ((Double, Gst.Enums.Format, Int64, Int64))), MonadIO m) => O.MethodInfo QueryParseSegmentMethodInfo Query signature where-    overloadedMethod _ = queryParseSegment--#endif---- method Query::parse_uri--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the current URI\n    (may be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_uri" gst_query_parse_uri :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CString ->                          -- uri : TBasicType TUTF8-    IO ()--{- |-Parse an URI query, writing the URI into /@uri@/ as a newly-allocated string, if the respective parameters are non-'Nothing'.-Free the string with 'GI.GLib.Functions.free' after usage.--}-queryParseUri ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m (T.Text)-queryParseUri query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    uri <- allocMem :: IO (Ptr CString)-    gst_query_parse_uri query' uri-    uri' <- peek uri-    uri'' <- cstringToText uri'-    freeMem uri'-    touchManagedPtr query-    freeMem uri-    return uri''--#if ENABLE_OVERLOADING-data QueryParseUriMethodInfo-instance (signature ~ (m (T.Text)), MonadIO m) => O.MethodInfo QueryParseUriMethodInfo Query signature where-    overloadedMethod _ = queryParseUri--#endif---- method Query::parse_uri_redirection--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the redirect URI\n    (may be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_uri_redirection" gst_query_parse_uri_redirection :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CString ->                          -- uri : TBasicType TUTF8-    IO ()--{- |-Parse an URI query, writing the URI into /@uri@/ as a newly-allocated string, if the respective parameters are non-'Nothing'.-Free the string with 'GI.GLib.Functions.free' after usage.--/Since: 1.2/--}-queryParseUriRedirection ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m (T.Text)-queryParseUriRedirection query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    uri <- allocMem :: IO (Ptr CString)-    gst_query_parse_uri_redirection query' uri-    uri' <- peek uri-    uri'' <- cstringToText uri'-    freeMem uri'-    touchManagedPtr query-    freeMem uri-    return uri''--#if ENABLE_OVERLOADING-data QueryParseUriRedirectionMethodInfo-instance (signature ~ (m (T.Text)), MonadIO m) => O.MethodInfo QueryParseUriRedirectionMethodInfo Query signature where-    overloadedMethod _ = queryParseUriRedirection--#endif---- method Query::parse_uri_redirection_permanent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "permanent", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if the URI redirection is permanent\n    (may be %NULL)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_parse_uri_redirection_permanent" gst_query_parse_uri_redirection_permanent :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr CInt ->                             -- permanent : TBasicType TBoolean-    IO ()--{- |-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.--/Since: 1.4/--}-queryParseUriRedirectionPermanent ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m (Bool)-queryParseUriRedirectionPermanent query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    permanent <- allocMem :: IO (Ptr CInt)-    gst_query_parse_uri_redirection_permanent query' permanent-    permanent' <- peek permanent-    let permanent'' = (/= 0) permanent'-    touchManagedPtr query-    freeMem permanent-    return permanent''--#if ENABLE_OVERLOADING-data QueryParseUriRedirectionPermanentMethodInfo-instance (signature ~ (m (Bool)), MonadIO m) => O.MethodInfo QueryParseUriRedirectionPermanentMethodInfo Query signature where-    overloadedMethod _ = queryParseUriRedirectionPermanent--#endif---- method Query::remove_nth_allocation_meta--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in the metadata API array to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_remove_nth_allocation_meta" gst_query_remove_nth_allocation_meta :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    IO ()--{- |-Remove the metadata API at /@index@/ of the metadata API array.--}-queryRemoveNthAllocationMeta ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@index@/: position in the metadata API array to remove -}-    -> m ()-queryRemoveNthAllocationMeta query index = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    gst_query_remove_nth_allocation_meta query' index-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QueryRemoveNthAllocationMetaMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo QueryRemoveNthAllocationMetaMethodInfo Query signature where-    overloadedMethod _ = queryRemoveNthAllocationMeta--#endif---- method Query::remove_nth_allocation_param--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in the allocation param array to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_remove_nth_allocation_param" gst_query_remove_nth_allocation_param :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    IO ()--{- |-Remove the allocation param at /@index@/ of the allocation param array.--/Since: 1.2/--}-queryRemoveNthAllocationParam ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@index@/: position in the allocation param array to remove -}-    -> m ()-queryRemoveNthAllocationParam query index = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    gst_query_remove_nth_allocation_param query' index-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QueryRemoveNthAllocationParamMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo QueryRemoveNthAllocationParamMethodInfo Query signature where-    overloadedMethod _ = queryRemoveNthAllocationParam--#endif---- method Query::remove_nth_allocation_pool--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in the allocation pool array to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_remove_nth_allocation_pool" gst_query_remove_nth_allocation_pool :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    IO ()--{- |-Remove the allocation pool at /@index@/ of the allocation pool array.--/Since: 1.2/--}-queryRemoveNthAllocationPool ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@index@/: position in the allocation pool array to remove -}-    -> m ()-queryRemoveNthAllocationPool query index = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    gst_query_remove_nth_allocation_pool query' index-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QueryRemoveNthAllocationPoolMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo QueryRemoveNthAllocationPoolMethodInfo Query signature where-    overloadedMethod _ = queryRemoveNthAllocationPool--#endif---- method Query::set_accept_caps_result--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ACCEPT_CAPS type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the result to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_accept_caps_result" gst_query_set_accept_caps_result :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CInt ->                                 -- result : TBasicType TBoolean-    IO ()--{- |-Set /@result@/ as the result for the /@query@/.--}-querySetAcceptCapsResult ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ACCEPT_CAPS type query 'GI.Gst.Structs.Query.Query' -}-    -> Bool-    {- ^ /@result@/: the result to set -}-    -> m ()-querySetAcceptCapsResult query result_ = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let result_' = (fromIntegral . fromEnum) result_-    gst_query_set_accept_caps_result query' result_'-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetAcceptCapsResultMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo QuerySetAcceptCapsResultMethodInfo Query signature where-    overloadedMethod _ = querySetAcceptCapsResult--#endif---- method Query::set_bitrate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_BITRATE type #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nominal_bitrate", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nominal bitrate in bits per second", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_bitrate" gst_query_set_bitrate :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- nominal_bitrate : TBasicType TUInt-    IO ()--{- |-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).--/Since: 1.16/--}-querySetBitrate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a GST_QUERY_BITRATE type 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@nominalBitrate@/: the nominal bitrate in bits per second -}-    -> m ()-querySetBitrate query nominalBitrate = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    gst_query_set_bitrate query' nominalBitrate-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetBitrateMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo QuerySetBitrateMethodInfo Query signature where-    overloadedMethod _ = querySetBitrate--#endif---- method Query::set_buffering_percent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstQuery of type GST_QUERY_BUFFERING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "busy", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if buffering is busy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "percent", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a buffering percent", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_buffering_percent" gst_query_set_buffering_percent :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CInt ->                                 -- busy : TBasicType TBoolean-    Int32 ->                                -- percent : TBasicType TInt-    IO ()--{- |-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.--}-querySetBufferingPercent ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: A valid 'GI.Gst.Structs.Query.Query' of type GST_QUERY_BUFFERING. -}-    -> Bool-    {- ^ /@busy@/: if buffering is busy -}-    -> Int32-    {- ^ /@percent@/: a buffering percent -}-    -> m ()-querySetBufferingPercent query busy percent = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let busy' = (fromIntegral . fromEnum) busy-    gst_query_set_buffering_percent query' busy' percent-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetBufferingPercentMethodInfo-instance (signature ~ (Bool -> Int32 -> m ()), MonadIO m) => O.MethodInfo QuerySetBufferingPercentMethodInfo Query signature where-    overloadedMethod _ = querySetBufferingPercent--#endif---- method Query::set_buffering_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format to set for the @start and @stop values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stop to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "estimated_total", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "estimated total amount of download time remaining in\n    milliseconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_buffering_range" gst_query_set_buffering_range :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- start : TBasicType TInt64-    Int64 ->                                -- stop : TBasicType TInt64-    Int64 ->                                -- estimated_total : TBasicType TInt64-    IO ()--{- |-Set the available query result fields in /@query@/.--}-querySetBufferingRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format to set for the /@start@/ and /@stop@/ values -}-    -> Int64-    {- ^ /@start@/: the start to set -}-    -> Int64-    {- ^ /@stop@/: the stop to set -}-    -> Int64-    {- ^ /@estimatedTotal@/: estimated total amount of download time remaining in-    milliseconds -}-    -> m ()-querySetBufferingRange query format start stop estimatedTotal = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let format' = (fromIntegral . fromEnum) format-    gst_query_set_buffering_range query' format' start stop estimatedTotal-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetBufferingRangeMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> Int64 -> Int64 -> m ()), MonadIO m) => O.MethodInfo QuerySetBufferingRangeMethodInfo Query signature where-    overloadedMethod _ = querySetBufferingRange--#endif---- method Query::set_buffering_stats--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstQuery of type GST_QUERY_BUFFERING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "BufferingMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a buffering mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "avg_in", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the average input rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "avg_out", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the average output rate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffering_left", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "amount of buffering time left in milliseconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_buffering_stats" gst_query_set_buffering_stats :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "BufferingMode"})-    Int32 ->                                -- avg_in : TBasicType TInt-    Int32 ->                                -- avg_out : TBasicType TInt-    Int64 ->                                -- buffering_left : TBasicType TInt64-    IO ()--{- |-Configures the buffering stats values in /@query@/.--}-querySetBufferingStats ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: A valid 'GI.Gst.Structs.Query.Query' of type GST_QUERY_BUFFERING. -}-    -> Gst.Enums.BufferingMode-    {- ^ /@mode@/: a buffering mode -}-    -> Int32-    {- ^ /@avgIn@/: the average input rate -}-    -> Int32-    {- ^ /@avgOut@/: the average output rate -}-    -> Int64-    {- ^ /@bufferingLeft@/: amount of buffering time left in milliseconds -}-    -> m ()-querySetBufferingStats query mode avgIn avgOut bufferingLeft = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let mode' = (fromIntegral . fromEnum) mode-    gst_query_set_buffering_stats query' mode' avgIn avgOut bufferingLeft-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetBufferingStatsMethodInfo-instance (signature ~ (Gst.Enums.BufferingMode -> Int32 -> Int32 -> Int64 -> m ()), MonadIO m) => O.MethodInfo QuerySetBufferingStatsMethodInfo Query signature where-    overloadedMethod _ = querySetBufferingStats--#endif---- method Query::set_caps_result--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The query to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the caps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_caps_result" gst_query_set_caps_result :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-Set the /@caps@/ result in /@query@/.--}-querySetCapsResult ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: The query to use -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: A pointer to the caps -}-    -> m ()-querySetCapsResult query caps = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    caps' <- unsafeManagedPtrGetPtr caps-    gst_query_set_caps_result query' caps'-    touchManagedPtr query-    touchManagedPtr caps-    return ()--#if ENABLE_OVERLOADING-data QuerySetCapsResultMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m) => O.MethodInfo QuerySetCapsResultMethodInfo Query signature where-    overloadedMethod _ = querySetCapsResult--#endif---- method Query::set_context--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery with query type GST_QUERY_CONTEXT", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "Gst", name = "Context"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested #GstContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_context" gst_query_set_context :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Ptr Gst.Context.Context ->              -- context : TInterface (Name {namespace = "Gst", name = "Context"})-    IO ()--{- |-Answer a context query by setting the requested context.--/Since: 1.2/--}-querySetContext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' with query type GST_QUERY_CONTEXT -}-    -> Gst.Context.Context-    {- ^ /@context@/: the requested 'GI.Gst.Structs.Context.Context' -}-    -> m ()-querySetContext query context = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    context' <- unsafeManagedPtrGetPtr context-    gst_query_set_context query' context'-    touchManagedPtr query-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data QuerySetContextMethodInfo-instance (signature ~ (Gst.Context.Context -> m ()), MonadIO m) => O.MethodInfo QuerySetContextMethodInfo Query signature where-    overloadedMethod _ = querySetContext--#endif---- method Query::set_convert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source #GstFormat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the destination #GstFormat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the destination value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_convert" gst_query_set_convert :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- src_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- src_value : TBasicType TInt64-    CUInt ->                                -- dest_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- dest_value : TBasicType TInt64-    IO ()--{- |-Answer a convert query by setting the requested values.--}-querySetConvert ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> Gst.Enums.Format-    {- ^ /@srcFormat@/: the source 'GI.Gst.Enums.Format' -}-    -> Int64-    {- ^ /@srcValue@/: the source value -}-    -> Gst.Enums.Format-    {- ^ /@destFormat@/: the destination 'GI.Gst.Enums.Format' -}-    -> Int64-    {- ^ /@destValue@/: the destination value -}-    -> m ()-querySetConvert query srcFormat srcValue destFormat destValue = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let srcFormat' = (fromIntegral . fromEnum) srcFormat-    let destFormat' = (fromIntegral . fromEnum) destFormat-    gst_query_set_convert query' srcFormat' srcValue destFormat' destValue-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetConvertMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> Gst.Enums.Format -> Int64 -> m ()), MonadIO m) => O.MethodInfo QuerySetConvertMethodInfo Query signature where-    overloadedMethod _ = querySetConvert--#endif---- method Query::set_duration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat for the duration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "duration", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the duration of the stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_duration" gst_query_set_duration :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- duration : TBasicType TInt64-    IO ()--{- |-Answer a duration query by setting the requested value in the given format.--}-querySetDuration ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' for the duration -}-    -> Int64-    {- ^ /@duration@/: the duration of the stream -}-    -> m ()-querySetDuration query format duration = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let format' = (fromIntegral . fromEnum) format-    gst_query_set_duration query' format' duration-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetDurationMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> m ()), MonadIO m) => O.MethodInfo QuerySetDurationMethodInfo Query signature where-    overloadedMethod _ = querySetDuration--#endif---- method Query::set_formatsv--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_formats", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of formats to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "formats", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "Gst", name = "Format"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array containing @n_formats\n    @GstFormat values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_formats", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of formats to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_formatsv" gst_query_set_formatsv :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Int32 ->                                -- n_formats : TBasicType TInt-    Ptr CUInt ->                            -- formats : TCArray False (-1) 1 (TInterface (Name {namespace = "Gst", name = "Format"}))-    IO ()--{- |-Set the formats query result fields in /@query@/. The number of formats passed-in the /@formats@/ array must be equal to /@nFormats@/.--}-querySetFormatsv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> [Gst.Enums.Format]-    {- ^ /@formats@/: an array containing /@nFormats@/-    /@gstFormat@/ values. -}-    -> m ()-querySetFormatsv query formats = liftIO $ do-    let nFormats = fromIntegral $ length formats-    query' <- unsafeManagedPtrGetPtr query-    let formats' = map (fromIntegral . fromEnum) formats-    formats'' <- packStorableArray formats'-    gst_query_set_formatsv query' nFormats formats''-    touchManagedPtr query-    freeMem formats''-    return ()--#if ENABLE_OVERLOADING-data QuerySetFormatsvMethodInfo-instance (signature ~ ([Gst.Enums.Format] -> m ()), MonadIO m) => O.MethodInfo QuerySetFormatsvMethodInfo Query signature where-    overloadedMethod _ = querySetFormatsv--#endif---- method Query::set_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "live", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if there is a live element upstream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_latency", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimal latency of the upstream elements", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_latency", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximal latency of the upstream elements", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_latency" gst_query_set_latency :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CInt ->                                 -- live : TBasicType TBoolean-    Word64 ->                               -- min_latency : TBasicType TUInt64-    Word64 ->                               -- max_latency : TBasicType TUInt64-    IO ()--{- |-Answer a latency query by setting the requested values in the given format.--}-querySetLatency ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> Bool-    {- ^ /@live@/: if there is a live element upstream -}-    -> Word64-    {- ^ /@minLatency@/: the minimal latency of the upstream elements -}-    -> Word64-    {- ^ /@maxLatency@/: the maximal latency of the upstream elements -}-    -> m ()-querySetLatency query live minLatency maxLatency = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let live' = (fromIntegral . fromEnum) live-    gst_query_set_latency query' live' minLatency maxLatency-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetLatencyMethodInfo-instance (signature ~ (Bool -> Word64 -> Word64 -> m ()), MonadIO m) => O.MethodInfo QuerySetLatencyMethodInfo Query signature where-    overloadedMethod _ = querySetLatency--#endif---- method Query::set_nth_allocation_param--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GST_QUERY_ALLOCATION type query #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in the allocator array to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allocator", argType = TInterface (Name {namespace = "Gst", name = "Allocator"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new allocator to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TInterface (Name {namespace = "Gst", name = "AllocationParams"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "parameters for the allocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_nth_allocation_param" gst_query_set_nth_allocation_param :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    Ptr Gst.Allocator.Allocator ->          -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO ()--{- |-Parse an available query and get the allocator and its params-at /@index@/ of the allocator array.--}-querySetNthAllocationParam ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Allocator.IsAllocator a) =>-    Query-    {- ^ /@query@/: a GST_QUERY_ALLOCATION type query 'GI.Gst.Structs.Query.Query' -}-    -> Word32-    {- ^ /@index@/: position in the allocator array to set -}-    -> Maybe (a)-    {- ^ /@allocator@/: new allocator to set -}-    -> Maybe (Gst.AllocationParams.AllocationParams)-    {- ^ /@params@/: parameters for the allocator -}-    -> m ()-querySetNthAllocationParam query index allocator params = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    maybeAllocator <- case allocator of-        Nothing -> return nullPtr-        Just jAllocator -> do-            jAllocator' <- unsafeManagedPtrCastPtr jAllocator-            return jAllocator'-    maybeParams <- case params of-        Nothing -> return nullPtr-        Just jParams -> do-            jParams' <- unsafeManagedPtrGetPtr jParams-            return jParams'-    gst_query_set_nth_allocation_param query' index maybeAllocator maybeParams-    touchManagedPtr query-    whenJust allocator touchManagedPtr-    whenJust params touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data QuerySetNthAllocationParamMethodInfo-instance (signature ~ (Word32 -> Maybe (a) -> Maybe (Gst.AllocationParams.AllocationParams) -> m ()), MonadIO m, Gst.Allocator.IsAllocator a) => O.MethodInfo QuerySetNthAllocationParamMethodInfo Query signature where-    overloadedMethod _ = querySetNthAllocationParam--#endif---- method Query::set_nth_allocation_pool--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstQuery of type GST_QUERY_ALLOCATION.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index to modify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pool", argType = TInterface (Name {namespace = "Gst", name = "BufferPool"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GstBufferPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the buffer size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_buffers", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the min buffers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_buffers", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the max buffers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_nth_allocation_pool" gst_query_set_nth_allocation_pool :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    Word32 ->                               -- index : TBasicType TUInt-    Ptr Gst.BufferPool.BufferPool ->        -- pool : TInterface (Name {namespace = "Gst", name = "BufferPool"})-    Word32 ->                               -- size : TBasicType TUInt-    Word32 ->                               -- min_buffers : TBasicType TUInt-    Word32 ->                               -- max_buffers : TBasicType TUInt-    IO ()--{- |-Set the pool parameters in /@query@/.--}-querySetNthAllocationPool ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.BufferPool.IsBufferPool a) =>-    Query-    {- ^ /@query@/: A valid 'GI.Gst.Structs.Query.Query' of type GST_QUERY_ALLOCATION. -}-    -> Word32-    {- ^ /@index@/: index to modify -}-    -> Maybe (a)-    {- ^ /@pool@/: the 'GI.Gst.Objects.BufferPool.BufferPool' -}-    -> Word32-    {- ^ /@size@/: the buffer size -}-    -> Word32-    {- ^ /@minBuffers@/: the min buffers -}-    -> Word32-    {- ^ /@maxBuffers@/: the max buffers -}-    -> m ()-querySetNthAllocationPool query index pool size minBuffers maxBuffers = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    maybePool <- case pool of-        Nothing -> return nullPtr-        Just jPool -> do-            jPool' <- unsafeManagedPtrCastPtr jPool-            return jPool'-    gst_query_set_nth_allocation_pool query' index maybePool size minBuffers maxBuffers-    touchManagedPtr query-    whenJust pool touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data QuerySetNthAllocationPoolMethodInfo-instance (signature ~ (Word32 -> Maybe (a) -> Word32 -> Word32 -> Word32 -> m ()), MonadIO m, Gst.BufferPool.IsBufferPool a) => O.MethodInfo QuerySetNthAllocationPoolMethodInfo Query signature where-    overloadedMethod _ = querySetNthAllocationPool--#endif---- method Query::set_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery with query type GST_QUERY_POSITION", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the requested #GstFormat", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cur", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_position" gst_query_set_position :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- cur : TBasicType TInt64-    IO ()--{- |-Answer a position query by setting the requested value in the given format.--}-querySetPosition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' with query type GST_QUERY_POSITION -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the requested 'GI.Gst.Enums.Format' -}-    -> Int64-    {- ^ /@cur@/: the position to set -}-    -> m ()-querySetPosition query format cur = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let format' = (fromIntegral . fromEnum) format-    gst_query_set_position query' format' cur-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetPositionMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> m ()), MonadIO m) => O.MethodInfo QuerySetPositionMethodInfo Query signature where-    overloadedMethod _ = querySetPosition--#endif---- method Query::set_scheduling--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A valid #GstQuery of type GST_QUERY_SCHEDULING.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "SchedulingFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstSchedulingFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minsize", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the suggested minimum size of pull requests", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "maxsize", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the suggested maximum size of pull requests", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "align", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the suggested alignment of pull requests", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_scheduling" gst_query_set_scheduling :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "SchedulingFlags"})-    Int32 ->                                -- minsize : TBasicType TInt-    Int32 ->                                -- maxsize : TBasicType TInt-    Int32 ->                                -- align : TBasicType TInt-    IO ()--{- |-Set the scheduling properties.--}-querySetScheduling ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: A valid 'GI.Gst.Structs.Query.Query' of type GST_QUERY_SCHEDULING. -}-    -> [Gst.Flags.SchedulingFlags]-    {- ^ /@flags@/: 'GI.Gst.Flags.SchedulingFlags' -}-    -> Int32-    {- ^ /@minsize@/: the suggested minimum size of pull requests -}-    -> Int32-    {- ^ /@maxsize@/: the suggested maximum size of pull requests -}-    -> Int32-    {- ^ /@align@/: the suggested alignment of pull requests -}-    -> m ()-querySetScheduling query flags minsize maxsize align = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let flags' = gflagsToWord flags-    gst_query_set_scheduling query' flags' minsize maxsize align-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetSchedulingMethodInfo-instance (signature ~ ([Gst.Flags.SchedulingFlags] -> Int32 -> Int32 -> Int32 -> m ()), MonadIO m) => O.MethodInfo QuerySetSchedulingMethodInfo Query signature where-    overloadedMethod _ = querySetScheduling--#endif---- method Query::set_seeking--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format to set for the @segment_start and @segment_end values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seekable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the seekable flag to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment_start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the segment_start to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment_end", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the segment_end to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_seeking" gst_query_set_seeking :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    CInt ->                                 -- seekable : TBasicType TBoolean-    Int64 ->                                -- segment_start : TBasicType TInt64-    Int64 ->                                -- segment_end : TBasicType TInt64-    IO ()--{- |-Set the seeking query result fields in /@query@/.--}-querySetSeeking ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format to set for the /@segmentStart@/ and /@segmentEnd@/ values -}-    -> Bool-    {- ^ /@seekable@/: the seekable flag to set -}-    -> Int64-    {- ^ /@segmentStart@/: the segment_start to set -}-    -> Int64-    {- ^ /@segmentEnd@/: the segment_end to set -}-    -> m ()-querySetSeeking query format seekable segmentStart segmentEnd = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let format' = (fromIntegral . fromEnum) format-    let seekable' = (fromIntegral . fromEnum) seekable-    gst_query_set_seeking query' format' seekable' segmentStart segmentEnd-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetSeekingMethodInfo-instance (signature ~ (Gst.Enums.Format -> Bool -> Int64 -> Int64 -> m ()), MonadIO m) => O.MethodInfo QuerySetSeekingMethodInfo Query signature where-    overloadedMethod _ = querySetSeeking--#endif---- method Query::set_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the rate of the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFormat of the segment values (@start_value and @stop_value)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop_value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stop value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_segment" gst_query_set_segment :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CDouble ->                              -- rate : TBasicType TDouble-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- start_value : TBasicType TInt64-    Int64 ->                                -- stop_value : TBasicType TInt64-    IO ()--{- |-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.--/@startValue@/ and /@stopValue@/ 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-/@startValue@/ \<= /@stopValue@/. /@rate@/ will contain the playback rate. For-negative rates, playback will actually happen from /@stopValue@/ to-/@startValue@/.--}-querySetSegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> Double-    {- ^ /@rate@/: the rate of the segment -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the 'GI.Gst.Enums.Format' of the segment values (/@startValue@/ and /@stopValue@/) -}-    -> Int64-    {- ^ /@startValue@/: the start value -}-    -> Int64-    {- ^ /@stopValue@/: the stop value -}-    -> m ()-querySetSegment query rate format startValue stopValue = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let rate' = realToFrac rate-    let format' = (fromIntegral . fromEnum) format-    gst_query_set_segment query' rate' format' startValue stopValue-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetSegmentMethodInfo-instance (signature ~ (Double -> Gst.Enums.Format -> Int64 -> Int64 -> m ()), MonadIO m) => O.MethodInfo QuerySetSegmentMethodInfo Query signature where-    overloadedMethod _ = querySetSegment--#endif---- method Query::set_uri--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery with query type GST_QUERY_URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the URI to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_uri" gst_query_set_uri :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CString ->                              -- uri : TBasicType TUTF8-    IO ()--{- |-Answer a URI query by setting the requested URI.--}-querySetUri ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' with query type GST_QUERY_URI -}-    -> T.Text-    {- ^ /@uri@/: the URI to set -}-    -> m ()-querySetUri query uri = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    uri' <- textToCString uri-    gst_query_set_uri query' uri'-    touchManagedPtr query-    freeMem uri'-    return ()--#if ENABLE_OVERLOADING-data QuerySetUriMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo QuerySetUriMethodInfo Query signature where-    overloadedMethod _ = querySetUri--#endif---- method Query::set_uri_redirection--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery with query type GST_QUERY_URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the URI to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_uri_redirection" gst_query_set_uri_redirection :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CString ->                              -- uri : TBasicType TUTF8-    IO ()--{- |-Answer a URI query by setting the requested URI redirection.--/Since: 1.2/--}-querySetUriRedirection ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' with query type GST_QUERY_URI -}-    -> T.Text-    {- ^ /@uri@/: the URI to set -}-    -> m ()-querySetUriRedirection query uri = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    uri' <- textToCString uri-    gst_query_set_uri_redirection query' uri'-    touchManagedPtr query-    freeMem uri'-    return ()--#if ENABLE_OVERLOADING-data QuerySetUriRedirectionMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo QuerySetUriRedirectionMethodInfo Query signature where-    overloadedMethod _ = querySetUriRedirection--#endif---- method Query::set_uri_redirection_permanent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery with query type %GST_QUERY_URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "permanent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the redirect is permanent or not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_query_set_uri_redirection_permanent" gst_query_set_uri_redirection_permanent :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CInt ->                                 -- permanent : TBasicType TBoolean-    IO ()--{- |-Answer a URI query by setting the requested URI redirection-to permanent or not.--/Since: 1.4/--}-querySetUriRedirectionPermanent ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' with query type 'GI.Gst.Enums.QueryTypeUri' -}-    -> Bool-    {- ^ /@permanent@/: whether the redirect is permanent or not -}-    -> m ()-querySetUriRedirectionPermanent query permanent = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    let permanent' = (fromIntegral . fromEnum) permanent-    gst_query_set_uri_redirection_permanent query' permanent'-    touchManagedPtr query-    return ()--#if ENABLE_OVERLOADING-data QuerySetUriRedirectionPermanentMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo QuerySetUriRedirectionPermanentMethodInfo Query signature where-    overloadedMethod _ = querySetUriRedirectionPermanent--#endif---- method Query::writable_structure--- method type : OrdinaryMethod--- Args : [Arg {argCName = "query", argType = TInterface (Name {namespace = "Gst", name = "Query"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstQuery", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_query_writable_structure" gst_query_writable_structure :: -    Ptr Query ->                            -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    IO (Ptr Gst.Structure.Structure)--{- |-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.--}-queryWritableStructure ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Query-    {- ^ /@query@/: a 'GI.Gst.Structs.Query.Query' -}-    -> m Gst.Structure.Structure-    {- ^ __Returns:__ the 'GI.Gst.Structs.Structure.Structure' of the query. The structure is-    still owned by the query and will therefore be freed when the query-    is unreffed. -}-queryWritableStructure query = liftIO $ do-    query' <- unsafeManagedPtrGetPtr query-    result <- gst_query_writable_structure query'-    checkUnexpectedReturnNULL "queryWritableStructure" result-    result' <- (newBoxed Gst.Structure.Structure) result-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data QueryWritableStructureMethodInfo-instance (signature ~ (m Gst.Structure.Structure), MonadIO m) => O.MethodInfo QueryWritableStructureMethodInfo Query signature where-    overloadedMethod _ = queryWritableStructure--#endif--#if ENABLE_OVERLOADING-type family ResolveQueryMethod (t :: Symbol) (o :: *) :: * where-    ResolveQueryMethod "addAllocationMeta" o = QueryAddAllocationMetaMethodInfo-    ResolveQueryMethod "addAllocationParam" o = QueryAddAllocationParamMethodInfo-    ResolveQueryMethod "addAllocationPool" o = QueryAddAllocationPoolMethodInfo-    ResolveQueryMethod "addBufferingRange" o = QueryAddBufferingRangeMethodInfo-    ResolveQueryMethod "addSchedulingMode" o = QueryAddSchedulingModeMethodInfo-    ResolveQueryMethod "findAllocationMeta" o = QueryFindAllocationMetaMethodInfo-    ResolveQueryMethod "hasSchedulingMode" o = QueryHasSchedulingModeMethodInfo-    ResolveQueryMethod "hasSchedulingModeWithFlags" o = QueryHasSchedulingModeWithFlagsMethodInfo-    ResolveQueryMethod "parseAcceptCaps" o = QueryParseAcceptCapsMethodInfo-    ResolveQueryMethod "parseAcceptCapsResult" o = QueryParseAcceptCapsResultMethodInfo-    ResolveQueryMethod "parseAllocation" o = QueryParseAllocationMethodInfo-    ResolveQueryMethod "parseBitrate" o = QueryParseBitrateMethodInfo-    ResolveQueryMethod "parseBufferingPercent" o = QueryParseBufferingPercentMethodInfo-    ResolveQueryMethod "parseBufferingRange" o = QueryParseBufferingRangeMethodInfo-    ResolveQueryMethod "parseBufferingStats" o = QueryParseBufferingStatsMethodInfo-    ResolveQueryMethod "parseCaps" o = QueryParseCapsMethodInfo-    ResolveQueryMethod "parseCapsResult" o = QueryParseCapsResultMethodInfo-    ResolveQueryMethod "parseContext" o = QueryParseContextMethodInfo-    ResolveQueryMethod "parseContextType" o = QueryParseContextTypeMethodInfo-    ResolveQueryMethod "parseConvert" o = QueryParseConvertMethodInfo-    ResolveQueryMethod "parseDuration" o = QueryParseDurationMethodInfo-    ResolveQueryMethod "parseLatency" o = QueryParseLatencyMethodInfo-    ResolveQueryMethod "parseNFormats" o = QueryParseNFormatsMethodInfo-    ResolveQueryMethod "parseNthAllocationMeta" o = QueryParseNthAllocationMetaMethodInfo-    ResolveQueryMethod "parseNthAllocationParam" o = QueryParseNthAllocationParamMethodInfo-    ResolveQueryMethod "parseNthAllocationPool" o = QueryParseNthAllocationPoolMethodInfo-    ResolveQueryMethod "parseNthBufferingRange" o = QueryParseNthBufferingRangeMethodInfo-    ResolveQueryMethod "parseNthFormat" o = QueryParseNthFormatMethodInfo-    ResolveQueryMethod "parseNthSchedulingMode" o = QueryParseNthSchedulingModeMethodInfo-    ResolveQueryMethod "parsePosition" o = QueryParsePositionMethodInfo-    ResolveQueryMethod "parseScheduling" o = QueryParseSchedulingMethodInfo-    ResolveQueryMethod "parseSeeking" o = QueryParseSeekingMethodInfo-    ResolveQueryMethod "parseSegment" o = QueryParseSegmentMethodInfo-    ResolveQueryMethod "parseUri" o = QueryParseUriMethodInfo-    ResolveQueryMethod "parseUriRedirection" o = QueryParseUriRedirectionMethodInfo-    ResolveQueryMethod "parseUriRedirectionPermanent" o = QueryParseUriRedirectionPermanentMethodInfo-    ResolveQueryMethod "removeNthAllocationMeta" o = QueryRemoveNthAllocationMetaMethodInfo-    ResolveQueryMethod "removeNthAllocationParam" o = QueryRemoveNthAllocationParamMethodInfo-    ResolveQueryMethod "removeNthAllocationPool" o = QueryRemoveNthAllocationPoolMethodInfo-    ResolveQueryMethod "writableStructure" o = QueryWritableStructureMethodInfo-    ResolveQueryMethod "getNAllocationMetas" o = QueryGetNAllocationMetasMethodInfo-    ResolveQueryMethod "getNAllocationParams" o = QueryGetNAllocationParamsMethodInfo-    ResolveQueryMethod "getNAllocationPools" o = QueryGetNAllocationPoolsMethodInfo-    ResolveQueryMethod "getNBufferingRanges" o = QueryGetNBufferingRangesMethodInfo-    ResolveQueryMethod "getNSchedulingModes" o = QueryGetNSchedulingModesMethodInfo-    ResolveQueryMethod "getStructure" o = QueryGetStructureMethodInfo-    ResolveQueryMethod "setAcceptCapsResult" o = QuerySetAcceptCapsResultMethodInfo-    ResolveQueryMethod "setBitrate" o = QuerySetBitrateMethodInfo-    ResolveQueryMethod "setBufferingPercent" o = QuerySetBufferingPercentMethodInfo-    ResolveQueryMethod "setBufferingRange" o = QuerySetBufferingRangeMethodInfo-    ResolveQueryMethod "setBufferingStats" o = QuerySetBufferingStatsMethodInfo-    ResolveQueryMethod "setCapsResult" o = QuerySetCapsResultMethodInfo-    ResolveQueryMethod "setContext" o = QuerySetContextMethodInfo-    ResolveQueryMethod "setConvert" o = QuerySetConvertMethodInfo-    ResolveQueryMethod "setDuration" o = QuerySetDurationMethodInfo-    ResolveQueryMethod "setFormatsv" o = QuerySetFormatsvMethodInfo-    ResolveQueryMethod "setLatency" o = QuerySetLatencyMethodInfo-    ResolveQueryMethod "setNthAllocationParam" o = QuerySetNthAllocationParamMethodInfo-    ResolveQueryMethod "setNthAllocationPool" o = QuerySetNthAllocationPoolMethodInfo-    ResolveQueryMethod "setPosition" o = QuerySetPositionMethodInfo-    ResolveQueryMethod "setScheduling" o = QuerySetSchedulingMethodInfo-    ResolveQueryMethod "setSeeking" o = QuerySetSeekingMethodInfo-    ResolveQueryMethod "setSegment" o = QuerySetSegmentMethodInfo-    ResolveQueryMethod "setUri" o = QuerySetUriMethodInfo-    ResolveQueryMethod "setUriRedirection" o = QuerySetUriRedirectionMethodInfo-    ResolveQueryMethod "setUriRedirectionPermanent" o = QuerySetUriRedirectionPermanentMethodInfo-    ResolveQueryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveQueryMethod t Query, O.MethodInfo info Query p) => OL.IsLabel t (Query -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Query.hs-boot
@@ -1,224 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Query where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Query = Query (ManagedPtr Query)-instance BoxedObject Query where-#if ENABLE_OVERLOADING-data QueryAddAllocationMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryAddAllocationParamMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryAddAllocationPoolMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryAddBufferingRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryAddSchedulingModeMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryFindAllocationMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryGetNAllocationMetasMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryGetNAllocationParamsMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryGetNAllocationPoolsMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryGetNBufferingRangesMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryGetNSchedulingModesMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryGetStructureMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryHasSchedulingModeMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryHasSchedulingModeWithFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseAcceptCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseAcceptCapsResultMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseAllocationMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseBitrateMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseBufferingPercentMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseBufferingRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseBufferingStatsMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseCapsResultMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseContextMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseContextTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseConvertMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseDurationMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseNFormatsMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseNthAllocationMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseNthAllocationParamMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseNthAllocationPoolMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseNthBufferingRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseNthFormatMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseNthSchedulingModeMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParsePositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseSchedulingMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseSeekingMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseSegmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseUriMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseUriRedirectionMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryParseUriRedirectionPermanentMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryRemoveNthAllocationMetaMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryRemoveNthAllocationParamMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryRemoveNthAllocationPoolMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetAcceptCapsResultMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetBitrateMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetBufferingPercentMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetBufferingRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetBufferingStatsMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetCapsResultMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetContextMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetConvertMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetDurationMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetFormatsvMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetNthAllocationParamMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetNthAllocationPoolMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetPositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetSchedulingMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetSeekingMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetSegmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetUriMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetUriRedirectionMethodInfo-#endif-#if ENABLE_OVERLOADING-data QuerySetUriRedirectionPermanentMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueryWritableStructureMethodInfo-#endif
− GI/Gst/Structs/ReferenceTimestampMeta.hs
@@ -1,366 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Structs.ReferenceTimestampMeta.ReferenceTimestampMeta' can be used to attach alternative timestamps and-possibly durations to a 'GI.Gst.Structs.Buffer.Buffer'. 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 'GI.Gst.Structs.Caps.Caps' 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.--/Since: 1.14/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.ReferenceTimestampMeta-    ( ---- * Exported types-    ReferenceTimestampMeta(..)              ,-    newZeroReferenceTimestampMeta           ,-    noReferenceTimestampMeta                ,--- -- * Methods--- ** getInfo #method:getInfo#--    referenceTimestampMetaGetInfo           ,----- -- * Properties--- ** duration #attr:duration#-{- | duration, or 'GI.Gst.Constants.CLOCK_TIME_NONE'--}-    getReferenceTimestampMetaDuration       ,-#if ENABLE_OVERLOADING-    referenceTimestampMeta_duration         ,-#endif-    setReferenceTimestampMetaDuration       ,----- ** parent #attr:parent#-{- | the parent 'GI.Gst.Structs.Meta.Meta' structure--}-    getReferenceTimestampMetaParent         ,-#if ENABLE_OVERLOADING-    referenceTimestampMeta_parent           ,-#endif----- ** reference #attr:reference#-{- | identifier for the timestamp reference.--}-    clearReferenceTimestampMetaReference    ,-    getReferenceTimestampMetaReference      ,-#if ENABLE_OVERLOADING-    referenceTimestampMeta_reference        ,-#endif-    setReferenceTimestampMetaReference      ,----- ** timestamp #attr:timestamp#-{- | timestamp--}-    getReferenceTimestampMetaTimestamp      ,-#if ENABLE_OVERLOADING-    referenceTimestampMeta_timestamp        ,-#endif-    setReferenceTimestampMetaTimestamp      ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.Meta as Gst.Meta-import {-# SOURCE #-} qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo---- | Memory-managed wrapper type.-newtype ReferenceTimestampMeta = ReferenceTimestampMeta (ManagedPtr ReferenceTimestampMeta)-instance WrappedPtr ReferenceTimestampMeta where-    wrappedPtrCalloc = callocBytes 40-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr ReferenceTimestampMeta)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `ReferenceTimestampMeta` struct initialized to zero.-newZeroReferenceTimestampMeta :: MonadIO m => m ReferenceTimestampMeta-newZeroReferenceTimestampMeta = liftIO $ wrappedPtrCalloc >>= wrapPtr ReferenceTimestampMeta--instance tag ~ 'AttrSet => Constructible ReferenceTimestampMeta tag where-    new _ attrs = do-        o <- newZeroReferenceTimestampMeta-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ReferenceTimestampMeta`.-noReferenceTimestampMeta :: Maybe ReferenceTimestampMeta-noReferenceTimestampMeta = Nothing--{- |-Get the value of the “@parent@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' referenceTimestampMeta #parent-@--}-getReferenceTimestampMetaParent :: MonadIO m => ReferenceTimestampMeta -> m Gst.Meta.Meta-getReferenceTimestampMetaParent s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.Meta.Meta)-    val' <- (newPtr Gst.Meta.Meta) val-    return val'--#if ENABLE_OVERLOADING-data ReferenceTimestampMetaParentFieldInfo-instance AttrInfo ReferenceTimestampMetaParentFieldInfo where-    type AttrAllowedOps ReferenceTimestampMetaParentFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint ReferenceTimestampMetaParentFieldInfo = (~) (Ptr Gst.Meta.Meta)-    type AttrBaseTypeConstraint ReferenceTimestampMetaParentFieldInfo = (~) ReferenceTimestampMeta-    type AttrGetType ReferenceTimestampMetaParentFieldInfo = Gst.Meta.Meta-    type AttrLabel ReferenceTimestampMetaParentFieldInfo = "parent"-    type AttrOrigin ReferenceTimestampMetaParentFieldInfo = ReferenceTimestampMeta-    attrGet _ = getReferenceTimestampMetaParent-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--referenceTimestampMeta_parent :: AttrLabelProxy "parent"-referenceTimestampMeta_parent = AttrLabelProxy--#endif---{- |-Get the value of the “@reference@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' referenceTimestampMeta #reference-@--}-getReferenceTimestampMetaReference :: MonadIO m => ReferenceTimestampMeta -> m (Maybe Gst.Caps.Caps)-getReferenceTimestampMetaReference s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Gst.Caps.Caps)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newBoxed Gst.Caps.Caps) val'-        return val''-    return result--{- |-Set the value of the “@reference@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' referenceTimestampMeta [ #reference 'Data.GI.Base.Attributes.:=' value ]-@--}-setReferenceTimestampMetaReference :: MonadIO m => ReferenceTimestampMeta -> Ptr Gst.Caps.Caps -> m ()-setReferenceTimestampMetaReference s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Ptr Gst.Caps.Caps)--{- |-Set the value of the “@reference@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #reference-@--}-clearReferenceTimestampMetaReference :: MonadIO m => ReferenceTimestampMeta -> m ()-clearReferenceTimestampMetaReference s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr Gst.Caps.Caps)--#if ENABLE_OVERLOADING-data ReferenceTimestampMetaReferenceFieldInfo-instance AttrInfo ReferenceTimestampMetaReferenceFieldInfo where-    type AttrAllowedOps ReferenceTimestampMetaReferenceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ReferenceTimestampMetaReferenceFieldInfo = (~) (Ptr Gst.Caps.Caps)-    type AttrBaseTypeConstraint ReferenceTimestampMetaReferenceFieldInfo = (~) ReferenceTimestampMeta-    type AttrGetType ReferenceTimestampMetaReferenceFieldInfo = Maybe Gst.Caps.Caps-    type AttrLabel ReferenceTimestampMetaReferenceFieldInfo = "reference"-    type AttrOrigin ReferenceTimestampMetaReferenceFieldInfo = ReferenceTimestampMeta-    attrGet _ = getReferenceTimestampMetaReference-    attrSet _ = setReferenceTimestampMetaReference-    attrConstruct = undefined-    attrClear _ = clearReferenceTimestampMetaReference--referenceTimestampMeta_reference :: AttrLabelProxy "reference"-referenceTimestampMeta_reference = AttrLabelProxy--#endif---{- |-Get the value of the “@timestamp@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' referenceTimestampMeta #timestamp-@--}-getReferenceTimestampMetaTimestamp :: MonadIO m => ReferenceTimestampMeta -> m Word64-getReferenceTimestampMetaTimestamp s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word64-    return val--{- |-Set the value of the “@timestamp@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' referenceTimestampMeta [ #timestamp 'Data.GI.Base.Attributes.:=' value ]-@--}-setReferenceTimestampMetaTimestamp :: MonadIO m => ReferenceTimestampMeta -> Word64 -> m ()-setReferenceTimestampMetaTimestamp s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Word64)--#if ENABLE_OVERLOADING-data ReferenceTimestampMetaTimestampFieldInfo-instance AttrInfo ReferenceTimestampMetaTimestampFieldInfo where-    type AttrAllowedOps ReferenceTimestampMetaTimestampFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ReferenceTimestampMetaTimestampFieldInfo = (~) Word64-    type AttrBaseTypeConstraint ReferenceTimestampMetaTimestampFieldInfo = (~) ReferenceTimestampMeta-    type AttrGetType ReferenceTimestampMetaTimestampFieldInfo = Word64-    type AttrLabel ReferenceTimestampMetaTimestampFieldInfo = "timestamp"-    type AttrOrigin ReferenceTimestampMetaTimestampFieldInfo = ReferenceTimestampMeta-    attrGet _ = getReferenceTimestampMetaTimestamp-    attrSet _ = setReferenceTimestampMetaTimestamp-    attrConstruct = undefined-    attrClear _ = undefined--referenceTimestampMeta_timestamp :: AttrLabelProxy "timestamp"-referenceTimestampMeta_timestamp = AttrLabelProxy--#endif---{- |-Get the value of the “@duration@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' referenceTimestampMeta #duration-@--}-getReferenceTimestampMetaDuration :: MonadIO m => ReferenceTimestampMeta -> m Word64-getReferenceTimestampMetaDuration s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Word64-    return val--{- |-Set the value of the “@duration@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' referenceTimestampMeta [ #duration 'Data.GI.Base.Attributes.:=' value ]-@--}-setReferenceTimestampMetaDuration :: MonadIO m => ReferenceTimestampMeta -> Word64 -> m ()-setReferenceTimestampMetaDuration s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: Word64)--#if ENABLE_OVERLOADING-data ReferenceTimestampMetaDurationFieldInfo-instance AttrInfo ReferenceTimestampMetaDurationFieldInfo where-    type AttrAllowedOps ReferenceTimestampMetaDurationFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ReferenceTimestampMetaDurationFieldInfo = (~) Word64-    type AttrBaseTypeConstraint ReferenceTimestampMetaDurationFieldInfo = (~) ReferenceTimestampMeta-    type AttrGetType ReferenceTimestampMetaDurationFieldInfo = Word64-    type AttrLabel ReferenceTimestampMetaDurationFieldInfo = "duration"-    type AttrOrigin ReferenceTimestampMetaDurationFieldInfo = ReferenceTimestampMeta-    attrGet _ = getReferenceTimestampMetaDuration-    attrSet _ = setReferenceTimestampMetaDuration-    attrConstruct = undefined-    attrClear _ = undefined--referenceTimestampMeta_duration :: AttrLabelProxy "duration"-referenceTimestampMeta_duration = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ReferenceTimestampMeta-type instance O.AttributeList ReferenceTimestampMeta = ReferenceTimestampMetaAttributeList-type ReferenceTimestampMetaAttributeList = ('[ '("parent", ReferenceTimestampMetaParentFieldInfo), '("reference", ReferenceTimestampMetaReferenceFieldInfo), '("timestamp", ReferenceTimestampMetaTimestampFieldInfo), '("duration", ReferenceTimestampMetaDurationFieldInfo)] :: [(Symbol, *)])-#endif---- method ReferenceTimestampMeta::get_info--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "MetaInfo"}))--- throws : False--- Skip return : False--foreign import ccall "gst_reference_timestamp_meta_get_info" gst_reference_timestamp_meta_get_info :: -    IO (Ptr Gst.MetaInfo.MetaInfo)--{- |-Get the global 'GI.Gst.Structs.MetaInfo.MetaInfo' describing  the 'GI.Gst.Structs.ReferenceTimestampMeta.ReferenceTimestampMeta' meta.--/Since: 1.14/--}-referenceTimestampMetaGetInfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Gst.MetaInfo.MetaInfo-    {- ^ __Returns:__ The 'GI.Gst.Structs.MetaInfo.MetaInfo' -}-referenceTimestampMetaGetInfo  = liftIO $ do-    result <- gst_reference_timestamp_meta_get_info-    checkUnexpectedReturnNULL "referenceTimestampMetaGetInfo" result-    result' <- (newPtr Gst.MetaInfo.MetaInfo) result-    return result'--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveReferenceTimestampMetaMethod (t :: Symbol) (o :: *) :: * where-    ResolveReferenceTimestampMetaMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveReferenceTimestampMetaMethod t ReferenceTimestampMeta, O.MethodInfo info ReferenceTimestampMeta p) => OL.IsLabel t (ReferenceTimestampMeta -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/ReferenceTimestampMeta.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.ReferenceTimestampMeta where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ReferenceTimestampMeta = ReferenceTimestampMeta (ManagedPtr ReferenceTimestampMeta)-instance WrappedPtr ReferenceTimestampMeta where
− GI/Gst/Structs/Sample.hs
@@ -1,646 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A 'GI.Gst.Structs.Sample.Sample' is a small object containing data, a type, timing and-extra arbitrary information.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Sample-    ( ---- * Exported types-    Sample(..)                              ,-    noSample                                ,--- -- * Methods--- ** getBuffer #method:getBuffer#--#if ENABLE_OVERLOADING-    SampleGetBufferMethodInfo               ,-#endif-    sampleGetBuffer                         ,----- ** getBufferList #method:getBufferList#--#if ENABLE_OVERLOADING-    SampleGetBufferListMethodInfo           ,-#endif-    sampleGetBufferList                     ,----- ** getCaps #method:getCaps#--#if ENABLE_OVERLOADING-    SampleGetCapsMethodInfo                 ,-#endif-    sampleGetCaps                           ,----- ** getInfo #method:getInfo#--#if ENABLE_OVERLOADING-    SampleGetInfoMethodInfo                 ,-#endif-    sampleGetInfo                           ,----- ** getSegment #method:getSegment#--#if ENABLE_OVERLOADING-    SampleGetSegmentMethodInfo              ,-#endif-    sampleGetSegment                        ,----- ** new #method:new#--    sampleNew                               ,----- ** setBuffer #method:setBuffer#--#if ENABLE_OVERLOADING-    SampleSetBufferMethodInfo               ,-#endif-    sampleSetBuffer                         ,----- ** setBufferList #method:setBufferList#--#if ENABLE_OVERLOADING-    SampleSetBufferListMethodInfo           ,-#endif-    sampleSetBufferList                     ,----- ** setCaps #method:setCaps#--#if ENABLE_OVERLOADING-    SampleSetCapsMethodInfo                 ,-#endif-    sampleSetCaps                           ,----- ** setInfo #method:setInfo#--#if ENABLE_OVERLOADING-    SampleSetInfoMethodInfo                 ,-#endif-    sampleSetInfo                           ,----- ** setSegment #method:setSegment#--#if ENABLE_OVERLOADING-    SampleSetSegmentMethodInfo              ,-#endif-    sampleSetSegment                        ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.Gst.Structs.BufferList as Gst.BufferList-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.Segment as Gst.Segment-import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure---- | Memory-managed wrapper type.-newtype Sample = Sample (ManagedPtr Sample)-foreign import ccall "gst_sample_get_type" c_gst_sample_get_type :: -    IO GType--instance BoxedObject Sample where-    boxedType _ = c_gst_sample_get_type---- | A convenience alias for `Nothing` :: `Maybe` `Sample`.-noSample :: Maybe Sample-noSample = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Sample-type instance O.AttributeList Sample = SampleAttributeList-type SampleAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Sample::new--- method type : Constructor--- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstBuffer, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstCaps, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstSegment, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstStructure, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Sample"}))--- throws : False--- Skip return : False--foreign import ccall "gst_sample_new" gst_sample_new :: -    Ptr Gst.Buffer.Buffer ->                -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr Gst.Segment.Segment ->              -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    Ptr Gst.Structure.Structure ->          -- info : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Sample)--{- |-Create a new 'GI.Gst.Structs.Sample.Sample' with the provided details.--Free-function: gst_sample_unref--}-sampleNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (Gst.Buffer.Buffer)-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer', or 'Nothing' -}-    -> Maybe (Gst.Caps.Caps)-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps', or 'Nothing' -}-    -> Maybe (Gst.Segment.Segment)-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment', or 'Nothing' -}-    -> Maybe (Gst.Structure.Structure)-    {- ^ /@info@/: a 'GI.Gst.Structs.Structure.Structure', or 'Nothing' -}-    -> m Sample-    {- ^ __Returns:__ the new 'GI.Gst.Structs.Sample.Sample'. @/gst_sample_unref()/@-    after usage. -}-sampleNew buffer caps segment info = liftIO $ do-    maybeBuffer <- case buffer of-        Nothing -> return nullPtr-        Just jBuffer -> do-            jBuffer' <- unsafeManagedPtrGetPtr jBuffer-            return jBuffer'-    maybeCaps <- case caps of-        Nothing -> return nullPtr-        Just jCaps -> do-            jCaps' <- unsafeManagedPtrGetPtr jCaps-            return jCaps'-    maybeSegment <- case segment of-        Nothing -> return nullPtr-        Just jSegment -> do-            jSegment' <- unsafeManagedPtrGetPtr jSegment-            return jSegment'-    maybeInfo <- case info of-        Nothing -> return nullPtr-        Just jInfo -> do-            jInfo' <- B.ManagedPtr.disownBoxed jInfo-            return jInfo'-    result <- gst_sample_new maybeBuffer maybeCaps maybeSegment maybeInfo-    checkUnexpectedReturnNULL "sampleNew" result-    result' <- (wrapBoxed Sample) result-    whenJust buffer touchManagedPtr-    whenJust caps touchManagedPtr-    whenJust segment touchManagedPtr-    whenJust info touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method Sample::get_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"}))--- throws : False--- Skip return : False--foreign import ccall "gst_sample_get_buffer" gst_sample_get_buffer :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    IO (Ptr Gst.Buffer.Buffer)--{- |-Get the buffer associated with /@sample@/--}-sampleGetBuffer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ the buffer of /@sample@/ or 'Nothing'- 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()/@. -}-sampleGetBuffer sample = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    result <- gst_sample_get_buffer sample'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr sample-    return maybeResult--#if ENABLE_OVERLOADING-data SampleGetBufferMethodInfo-instance (signature ~ (m (Maybe Gst.Buffer.Buffer)), MonadIO m) => O.MethodInfo SampleGetBufferMethodInfo Sample signature where-    overloadedMethod _ = sampleGetBuffer--#endif---- method Sample::get_buffer_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_sample_get_buffer_list" gst_sample_get_buffer_list :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    IO (Ptr Gst.BufferList.BufferList)--{- |-Get the buffer list associated with /@sample@/--/Since: 1.6/--}-sampleGetBufferList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -}-    -> m (Maybe Gst.BufferList.BufferList)-    {- ^ __Returns:__ the buffer list of /@sample@/ or 'Nothing'- 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 (). -}-sampleGetBufferList sample = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    result <- gst_sample_get_buffer_list sample'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.BufferList.BufferList) result'-        return result''-    touchManagedPtr sample-    return maybeResult--#if ENABLE_OVERLOADING-data SampleGetBufferListMethodInfo-instance (signature ~ (m (Maybe Gst.BufferList.BufferList)), MonadIO m) => O.MethodInfo SampleGetBufferListMethodInfo Sample signature where-    overloadedMethod _ = sampleGetBufferList--#endif---- method Sample::get_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_sample_get_caps" gst_sample_get_caps :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    IO (Ptr Gst.Caps.Caps)--{- |-Get the caps associated with /@sample@/--}-sampleGetCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -}-    -> m (Maybe Gst.Caps.Caps)-    {- ^ __Returns:__ the caps of /@sample@/ or 'Nothing'- 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()/@. -}-sampleGetCaps sample = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    result <- gst_sample_get_caps sample'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Caps.Caps) result'-        return result''-    touchManagedPtr sample-    return maybeResult--#if ENABLE_OVERLOADING-data SampleGetCapsMethodInfo-instance (signature ~ (m (Maybe Gst.Caps.Caps)), MonadIO m) => O.MethodInfo SampleGetCapsMethodInfo Sample signature where-    overloadedMethod _ = sampleGetCaps--#endif---- method Sample::get_info--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_sample_get_info" gst_sample_get_info :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    IO (Ptr Gst.Structure.Structure)--{- |-Get extra information associated with /@sample@/.--}-sampleGetInfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -}-    -> m (Maybe Gst.Structure.Structure)-    {- ^ __Returns:__ the extra info of /@sample@/.- The info remains valid as long as /@sample@/ is valid. -}-sampleGetInfo sample = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    result <- gst_sample_get_info sample'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.Structure.Structure) result'-        return result''-    touchManagedPtr sample-    return maybeResult--#if ENABLE_OVERLOADING-data SampleGetInfoMethodInfo-instance (signature ~ (m (Maybe Gst.Structure.Structure)), MonadIO m) => O.MethodInfo SampleGetInfoMethodInfo Sample signature where-    overloadedMethod _ = sampleGetInfo--#endif---- method Sample::get_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Segment"}))--- throws : False--- Skip return : False--foreign import ccall "gst_sample_get_segment" gst_sample_get_segment :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    IO (Ptr Gst.Segment.Segment)--{- |-Get the segment associated with /@sample@/--}-sampleGetSegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -}-    -> m Gst.Segment.Segment-    {- ^ __Returns:__ the segment of /@sample@/.- The segment remains valid as long as /@sample@/ is valid. -}-sampleGetSegment sample = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    result <- gst_sample_get_segment sample'-    checkUnexpectedReturnNULL "sampleGetSegment" result-    result' <- (newBoxed Gst.Segment.Segment) result-    touchManagedPtr sample-    return result'--#if ENABLE_OVERLOADING-data SampleGetSegmentMethodInfo-instance (signature ~ (m Gst.Segment.Segment), MonadIO m) => O.MethodInfo SampleGetSegmentMethodInfo Sample signature where-    overloadedMethod _ = sampleGetSegment--#endif---- method Sample::set_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_sample_set_buffer" gst_sample_set_buffer :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    Ptr Gst.Buffer.Buffer ->                -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO ()--{- |-Set the buffer associated with /@sample@/. /@sample@/ must be writable.--/Since: 1.16/--}-sampleSetBuffer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: A 'GI.Gst.Structs.Sample.Sample' -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: A 'GI.Gst.Structs.Buffer.Buffer' -}-    -> m ()-sampleSetBuffer sample buffer = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    buffer' <- unsafeManagedPtrGetPtr buffer-    gst_sample_set_buffer sample' buffer'-    touchManagedPtr sample-    touchManagedPtr buffer-    return ()--#if ENABLE_OVERLOADING-data SampleSetBufferMethodInfo-instance (signature ~ (Gst.Buffer.Buffer -> m ()), MonadIO m) => O.MethodInfo SampleSetBufferMethodInfo Sample signature where-    overloadedMethod _ = sampleSetBuffer--#endif---- method Sample::set_buffer_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer_list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_sample_set_buffer_list" gst_sample_set_buffer_list :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    Ptr Gst.BufferList.BufferList ->        -- buffer_list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    IO ()--{- |-Set the buffer list associated with /@sample@/. /@sample@/ must be writable.--/Since: 1.6/--}-sampleSetBufferList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -}-    -> Gst.BufferList.BufferList-    {- ^ /@bufferList@/: a 'GI.Gst.Structs.BufferList.BufferList' -}-    -> m ()-sampleSetBufferList sample bufferList = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    bufferList' <- unsafeManagedPtrGetPtr bufferList-    gst_sample_set_buffer_list sample' bufferList'-    touchManagedPtr sample-    touchManagedPtr bufferList-    return ()--#if ENABLE_OVERLOADING-data SampleSetBufferListMethodInfo-instance (signature ~ (Gst.BufferList.BufferList -> m ()), MonadIO m) => O.MethodInfo SampleSetBufferListMethodInfo Sample signature where-    overloadedMethod _ = sampleSetBufferList--#endif---- method Sample::set_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_sample_set_caps" gst_sample_set_caps :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-Set the caps associated with /@sample@/. /@sample@/ must be writable.--/Since: 1.16/--}-sampleSetCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: A 'GI.Gst.Structs.Sample.Sample' -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: A 'GI.Gst.Structs.Caps.Caps' -}-    -> m ()-sampleSetCaps sample caps = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    caps' <- unsafeManagedPtrGetPtr caps-    gst_sample_set_caps sample' caps'-    touchManagedPtr sample-    touchManagedPtr caps-    return ()--#if ENABLE_OVERLOADING-data SampleSetCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m) => O.MethodInfo SampleSetCapsMethodInfo Sample signature where-    overloadedMethod _ = sampleSetCaps--#endif---- method Sample::set_info--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_sample_set_info" gst_sample_set_info :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    Ptr Gst.Structure.Structure ->          -- info : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO CInt--{- |-Set the info structure associated with /@sample@/. /@sample@/ must be writable,-and /@info@/ must not have a parent set already.--/Since: 1.16/--}-sampleSetInfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: A 'GI.Gst.Structs.Sample.Sample' -}-    -> Gst.Structure.Structure-    {- ^ /@info@/: A 'GI.Gst.Structs.Structure.Structure' -}-    -> m Bool-sampleSetInfo sample info = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    info' <- B.ManagedPtr.disownBoxed info-    result <- gst_sample_set_info sample' info'-    let result' = (/= 0) result-    touchManagedPtr sample-    touchManagedPtr info-    return result'--#if ENABLE_OVERLOADING-data SampleSetInfoMethodInfo-instance (signature ~ (Gst.Structure.Structure -> m Bool), MonadIO m) => O.MethodInfo SampleSetInfoMethodInfo Sample signature where-    overloadedMethod _ = sampleSetInfo--#endif---- method Sample::set_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSegment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_sample_set_segment" gst_sample_set_segment :: -    Ptr Sample ->                           -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    Ptr Gst.Segment.Segment ->              -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    IO ()--{- |-Set the segment associated with /@sample@/. /@sample@/ must be writable.--/Since: 1.16/--}-sampleSetSegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sample-    {- ^ /@sample@/: A 'GI.Gst.Structs.Sample.Sample' -}-    -> Gst.Segment.Segment-    {- ^ /@segment@/: A 'GI.Gst.Structs.Segment.Segment' -}-    -> m ()-sampleSetSegment sample segment = liftIO $ do-    sample' <- unsafeManagedPtrGetPtr sample-    segment' <- unsafeManagedPtrGetPtr segment-    gst_sample_set_segment sample' segment'-    touchManagedPtr sample-    touchManagedPtr segment-    return ()--#if ENABLE_OVERLOADING-data SampleSetSegmentMethodInfo-instance (signature ~ (Gst.Segment.Segment -> m ()), MonadIO m) => O.MethodInfo SampleSetSegmentMethodInfo Sample signature where-    overloadedMethod _ = sampleSetSegment--#endif--#if ENABLE_OVERLOADING-type family ResolveSampleMethod (t :: Symbol) (o :: *) :: * where-    ResolveSampleMethod "getBuffer" o = SampleGetBufferMethodInfo-    ResolveSampleMethod "getBufferList" o = SampleGetBufferListMethodInfo-    ResolveSampleMethod "getCaps" o = SampleGetCapsMethodInfo-    ResolveSampleMethod "getInfo" o = SampleGetInfoMethodInfo-    ResolveSampleMethod "getSegment" o = SampleGetSegmentMethodInfo-    ResolveSampleMethod "setBuffer" o = SampleSetBufferMethodInfo-    ResolveSampleMethod "setBufferList" o = SampleSetBufferListMethodInfo-    ResolveSampleMethod "setCaps" o = SampleSetCapsMethodInfo-    ResolveSampleMethod "setInfo" o = SampleSetInfoMethodInfo-    ResolveSampleMethod "setSegment" o = SampleSetSegmentMethodInfo-    ResolveSampleMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveSampleMethod t Sample, O.MethodInfo info Sample p) => OL.IsLabel t (Sample -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Sample.hs-boot
@@ -1,56 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Sample where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Sample = Sample (ManagedPtr Sample)-instance BoxedObject Sample where-#if ENABLE_OVERLOADING-data SampleGetBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data SampleGetBufferListMethodInfo-#endif-#if ENABLE_OVERLOADING-data SampleGetCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data SampleGetInfoMethodInfo-#endif-#if ENABLE_OVERLOADING-data SampleGetSegmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data SampleSetBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data SampleSetBufferListMethodInfo-#endif-#if ENABLE_OVERLOADING-data SampleSetCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data SampleSetInfoMethodInfo-#endif-#if ENABLE_OVERLOADING-data SampleSetSegmentMethodInfo-#endif
− GI/Gst/Structs/Segment.hs
@@ -1,1878 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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 'GI.Gst.Structs.Segment.segmentInit', which takes a 'GI.Gst.Enums.Format'-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-'GI.Gst.Structs.Segment.segmentDoSeek' 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 'GI.Gst.Structs.Segment.Segment' to track the playback region,-update the segment fields with the information from the newsegment event.-The 'GI.Gst.Structs.Segment.segmentClip' 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, 'GI.Gst.Structs.Segment.segmentToRunningTime'-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,-'GI.Gst.Structs.Segment.segmentToStreamTime' 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).--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Segment-    ( ---- * Exported types-    Segment(..)                             ,-    newZeroSegment                          ,-    noSegment                               ,--- -- * Methods--- ** clip #method:clip#--#if ENABLE_OVERLOADING-    SegmentClipMethodInfo                   ,-#endif-    segmentClip                             ,----- ** copy #method:copy#--#if ENABLE_OVERLOADING-    SegmentCopyMethodInfo                   ,-#endif-    segmentCopy                             ,----- ** copyInto #method:copyInto#--#if ENABLE_OVERLOADING-    SegmentCopyIntoMethodInfo               ,-#endif-    segmentCopyInto                         ,----- ** doSeek #method:doSeek#--#if ENABLE_OVERLOADING-    SegmentDoSeekMethodInfo                 ,-#endif-    segmentDoSeek                           ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    SegmentFreeMethodInfo                   ,-#endif-    segmentFree                             ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    SegmentInitMethodInfo                   ,-#endif-    segmentInit                             ,----- ** isEqual #method:isEqual#--#if ENABLE_OVERLOADING-    SegmentIsEqualMethodInfo                ,-#endif-    segmentIsEqual                          ,----- ** new #method:new#--    segmentNew                              ,----- ** offsetRunningTime #method:offsetRunningTime#--#if ENABLE_OVERLOADING-    SegmentOffsetRunningTimeMethodInfo      ,-#endif-    segmentOffsetRunningTime                ,----- ** positionFromRunningTime #method:positionFromRunningTime#--#if ENABLE_OVERLOADING-    SegmentPositionFromRunningTimeMethodInfo,-#endif-    segmentPositionFromRunningTime          ,----- ** positionFromRunningTimeFull #method:positionFromRunningTimeFull#--#if ENABLE_OVERLOADING-    SegmentPositionFromRunningTimeFullMethodInfo,-#endif-    segmentPositionFromRunningTimeFull      ,----- ** positionFromStreamTime #method:positionFromStreamTime#--#if ENABLE_OVERLOADING-    SegmentPositionFromStreamTimeMethodInfo ,-#endif-    segmentPositionFromStreamTime           ,----- ** positionFromStreamTimeFull #method:positionFromStreamTimeFull#--#if ENABLE_OVERLOADING-    SegmentPositionFromStreamTimeFullMethodInfo,-#endif-    segmentPositionFromStreamTimeFull       ,----- ** setRunningTime #method:setRunningTime#--#if ENABLE_OVERLOADING-    SegmentSetRunningTimeMethodInfo         ,-#endif-    segmentSetRunningTime                   ,----- ** toPosition #method:toPosition#--#if ENABLE_OVERLOADING-    SegmentToPositionMethodInfo             ,-#endif-    segmentToPosition                       ,----- ** toRunningTime #method:toRunningTime#--#if ENABLE_OVERLOADING-    SegmentToRunningTimeMethodInfo          ,-#endif-    segmentToRunningTime                    ,----- ** toRunningTimeFull #method:toRunningTimeFull#--#if ENABLE_OVERLOADING-    SegmentToRunningTimeFullMethodInfo      ,-#endif-    segmentToRunningTimeFull                ,----- ** toStreamTime #method:toStreamTime#--#if ENABLE_OVERLOADING-    SegmentToStreamTimeMethodInfo           ,-#endif-    segmentToStreamTime                     ,----- ** toStreamTimeFull #method:toStreamTimeFull#--#if ENABLE_OVERLOADING-    SegmentToStreamTimeFullMethodInfo       ,-#endif-    segmentToStreamTimeFull                 ,----- -- * Properties--- ** appliedRate #attr:appliedRate#-{- | the already applied rate to the segment--}-    getSegmentAppliedRate                   ,-#if ENABLE_OVERLOADING-    segment_appliedRate                     ,-#endif-    setSegmentAppliedRate                   ,----- ** base #attr:base#-{- | the running time (plus elapsed time, see offset) of the segment start--}-    getSegmentBase                          ,-#if ENABLE_OVERLOADING-    segment_base                            ,-#endif-    setSegmentBase                          ,----- ** duration #attr:duration#-{- | the duration of the stream--}-    getSegmentDuration                      ,-#if ENABLE_OVERLOADING-    segment_duration                        ,-#endif-    setSegmentDuration                      ,----- ** flags #attr:flags#-{- | flags for this segment--}-    getSegmentFlags                         ,-#if ENABLE_OVERLOADING-    segment_flags                           ,-#endif-    setSegmentFlags                         ,----- ** format #attr:format#-{- | the format of the segment values--}-    getSegmentFormat                        ,-#if ENABLE_OVERLOADING-    segment_format                          ,-#endif-    setSegmentFormat                        ,----- ** offset #attr:offset#-{- | the amount (in buffer timestamps) that has already been elapsed in-    the segment--}-    getSegmentOffset                        ,-#if ENABLE_OVERLOADING-    segment_offset                          ,-#endif-    setSegmentOffset                        ,----- ** position #attr:position#-{- | the buffer timestamp position in the segment (used internally by-    elements such as sources, demuxers or parsers to track progress)--}-    getSegmentPosition                      ,-#if ENABLE_OVERLOADING-    segment_position                        ,-#endif-    setSegmentPosition                      ,----- ** rate #attr:rate#-{- | the playback rate of the segment--}-    getSegmentRate                          ,-#if ENABLE_OVERLOADING-    segment_rate                            ,-#endif-    setSegmentRate                          ,----- ** start #attr:start#-{- | the start of the segment in buffer timestamp time (PTS)--}-    getSegmentStart                         ,-#if ENABLE_OVERLOADING-    segment_start                           ,-#endif-    setSegmentStart                         ,----- ** stop #attr:stop#-{- | the stop of the segment in buffer timestamp time (PTS)--}-    getSegmentStop                          ,-#if ENABLE_OVERLOADING-    segment_stop                            ,-#endif-    setSegmentStop                          ,----- ** time #attr:time#-{- | the stream time of the segment start--}-    getSegmentTime                          ,-#if ENABLE_OVERLOADING-    segment_time                            ,-#endif-    setSegmentTime                          ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags---- | Memory-managed wrapper type.-newtype Segment = Segment (ManagedPtr Segment)-foreign import ccall "gst_segment_get_type" c_gst_segment_get_type :: -    IO GType--instance BoxedObject Segment where-    boxedType _ = c_gst_segment_get_type---- | Construct a `Segment` struct initialized to zero.-newZeroSegment :: MonadIO m => m Segment-newZeroSegment = liftIO $ callocBoxedBytes 120 >>= wrapBoxed Segment--instance tag ~ 'AttrSet => Constructible Segment tag where-    new _ attrs = do-        o <- newZeroSegment-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Segment`.-noSegment :: Maybe Segment-noSegment = Nothing--{- |-Get the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #flags-@--}-getSegmentFlags :: MonadIO m => Segment -> m [Gst.Flags.SegmentFlags]-getSegmentFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = wordToGFlags val-    return val'--{- |-Set the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #flags 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentFlags :: MonadIO m => Segment -> [Gst.Flags.SegmentFlags] -> m ()-setSegmentFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gflagsToWord val-    poke (ptr `plusPtr` 0) (val' :: CUInt)--#if ENABLE_OVERLOADING-data SegmentFlagsFieldInfo-instance AttrInfo SegmentFlagsFieldInfo where-    type AttrAllowedOps SegmentFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentFlagsFieldInfo = (~) [Gst.Flags.SegmentFlags]-    type AttrBaseTypeConstraint SegmentFlagsFieldInfo = (~) Segment-    type AttrGetType SegmentFlagsFieldInfo = [Gst.Flags.SegmentFlags]-    type AttrLabel SegmentFlagsFieldInfo = "flags"-    type AttrOrigin SegmentFlagsFieldInfo = Segment-    attrGet _ = getSegmentFlags-    attrSet _ = setSegmentFlags-    attrConstruct = undefined-    attrClear _ = undefined--segment_flags :: AttrLabelProxy "flags"-segment_flags = AttrLabelProxy--#endif---{- |-Get the value of the “@rate@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #rate-@--}-getSegmentRate :: MonadIO m => Segment -> m Double-getSegmentRate s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CDouble-    let val' = realToFrac val-    return val'--{- |-Set the value of the “@rate@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #rate 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentRate :: MonadIO m => Segment -> Double -> m ()-setSegmentRate s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = realToFrac val-    poke (ptr `plusPtr` 8) (val' :: CDouble)--#if ENABLE_OVERLOADING-data SegmentRateFieldInfo-instance AttrInfo SegmentRateFieldInfo where-    type AttrAllowedOps SegmentRateFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentRateFieldInfo = (~) Double-    type AttrBaseTypeConstraint SegmentRateFieldInfo = (~) Segment-    type AttrGetType SegmentRateFieldInfo = Double-    type AttrLabel SegmentRateFieldInfo = "rate"-    type AttrOrigin SegmentRateFieldInfo = Segment-    attrGet _ = getSegmentRate-    attrSet _ = setSegmentRate-    attrConstruct = undefined-    attrClear _ = undefined--segment_rate :: AttrLabelProxy "rate"-segment_rate = AttrLabelProxy--#endif---{- |-Get the value of the “@applied_rate@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #appliedRate-@--}-getSegmentAppliedRate :: MonadIO m => Segment -> m Double-getSegmentAppliedRate s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CDouble-    let val' = realToFrac val-    return val'--{- |-Set the value of the “@applied_rate@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #appliedRate 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentAppliedRate :: MonadIO m => Segment -> Double -> m ()-setSegmentAppliedRate s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = realToFrac val-    poke (ptr `plusPtr` 16) (val' :: CDouble)--#if ENABLE_OVERLOADING-data SegmentAppliedRateFieldInfo-instance AttrInfo SegmentAppliedRateFieldInfo where-    type AttrAllowedOps SegmentAppliedRateFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentAppliedRateFieldInfo = (~) Double-    type AttrBaseTypeConstraint SegmentAppliedRateFieldInfo = (~) Segment-    type AttrGetType SegmentAppliedRateFieldInfo = Double-    type AttrLabel SegmentAppliedRateFieldInfo = "applied_rate"-    type AttrOrigin SegmentAppliedRateFieldInfo = Segment-    attrGet _ = getSegmentAppliedRate-    attrSet _ = setSegmentAppliedRate-    attrConstruct = undefined-    attrClear _ = undefined--segment_appliedRate :: AttrLabelProxy "appliedRate"-segment_appliedRate = AttrLabelProxy--#endif---{- |-Get the value of the “@format@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #format-@--}-getSegmentFormat :: MonadIO m => Segment -> m Gst.Enums.Format-getSegmentFormat s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@format@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #format 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentFormat :: MonadIO m => Segment -> Gst.Enums.Format -> m ()-setSegmentFormat s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 24) (val' :: CUInt)--#if ENABLE_OVERLOADING-data SegmentFormatFieldInfo-instance AttrInfo SegmentFormatFieldInfo where-    type AttrAllowedOps SegmentFormatFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentFormatFieldInfo = (~) Gst.Enums.Format-    type AttrBaseTypeConstraint SegmentFormatFieldInfo = (~) Segment-    type AttrGetType SegmentFormatFieldInfo = Gst.Enums.Format-    type AttrLabel SegmentFormatFieldInfo = "format"-    type AttrOrigin SegmentFormatFieldInfo = Segment-    attrGet _ = getSegmentFormat-    attrSet _ = setSegmentFormat-    attrConstruct = undefined-    attrClear _ = undefined--segment_format :: AttrLabelProxy "format"-segment_format = AttrLabelProxy--#endif---{- |-Get the value of the “@base@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #base-@--}-getSegmentBase :: MonadIO m => Segment -> m Word64-getSegmentBase s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Word64-    return val--{- |-Set the value of the “@base@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #base 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentBase :: MonadIO m => Segment -> Word64 -> m ()-setSegmentBase s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: Word64)--#if ENABLE_OVERLOADING-data SegmentBaseFieldInfo-instance AttrInfo SegmentBaseFieldInfo where-    type AttrAllowedOps SegmentBaseFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentBaseFieldInfo = (~) Word64-    type AttrBaseTypeConstraint SegmentBaseFieldInfo = (~) Segment-    type AttrGetType SegmentBaseFieldInfo = Word64-    type AttrLabel SegmentBaseFieldInfo = "base"-    type AttrOrigin SegmentBaseFieldInfo = Segment-    attrGet _ = getSegmentBase-    attrSet _ = setSegmentBase-    attrConstruct = undefined-    attrClear _ = undefined--segment_base :: AttrLabelProxy "base"-segment_base = AttrLabelProxy--#endif---{- |-Get the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #offset-@--}-getSegmentOffset :: MonadIO m => Segment -> m Word64-getSegmentOffset s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO Word64-    return val--{- |-Set the value of the “@offset@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #offset 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentOffset :: MonadIO m => Segment -> Word64 -> m ()-setSegmentOffset s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: Word64)--#if ENABLE_OVERLOADING-data SegmentOffsetFieldInfo-instance AttrInfo SegmentOffsetFieldInfo where-    type AttrAllowedOps SegmentOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentOffsetFieldInfo = (~) Word64-    type AttrBaseTypeConstraint SegmentOffsetFieldInfo = (~) Segment-    type AttrGetType SegmentOffsetFieldInfo = Word64-    type AttrLabel SegmentOffsetFieldInfo = "offset"-    type AttrOrigin SegmentOffsetFieldInfo = Segment-    attrGet _ = getSegmentOffset-    attrSet _ = setSegmentOffset-    attrConstruct = undefined-    attrClear _ = undefined--segment_offset :: AttrLabelProxy "offset"-segment_offset = AttrLabelProxy--#endif---{- |-Get the value of the “@start@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #start-@--}-getSegmentStart :: MonadIO m => Segment -> m Word64-getSegmentStart s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 48) :: IO Word64-    return val--{- |-Set the value of the “@start@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #start 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentStart :: MonadIO m => Segment -> Word64 -> m ()-setSegmentStart s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (val :: Word64)--#if ENABLE_OVERLOADING-data SegmentStartFieldInfo-instance AttrInfo SegmentStartFieldInfo where-    type AttrAllowedOps SegmentStartFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentStartFieldInfo = (~) Word64-    type AttrBaseTypeConstraint SegmentStartFieldInfo = (~) Segment-    type AttrGetType SegmentStartFieldInfo = Word64-    type AttrLabel SegmentStartFieldInfo = "start"-    type AttrOrigin SegmentStartFieldInfo = Segment-    attrGet _ = getSegmentStart-    attrSet _ = setSegmentStart-    attrConstruct = undefined-    attrClear _ = undefined--segment_start :: AttrLabelProxy "start"-segment_start = AttrLabelProxy--#endif---{- |-Get the value of the “@stop@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #stop-@--}-getSegmentStop :: MonadIO m => Segment -> m Word64-getSegmentStop s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 56) :: IO Word64-    return val--{- |-Set the value of the “@stop@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #stop 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentStop :: MonadIO m => Segment -> Word64 -> m ()-setSegmentStop s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (val :: Word64)--#if ENABLE_OVERLOADING-data SegmentStopFieldInfo-instance AttrInfo SegmentStopFieldInfo where-    type AttrAllowedOps SegmentStopFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentStopFieldInfo = (~) Word64-    type AttrBaseTypeConstraint SegmentStopFieldInfo = (~) Segment-    type AttrGetType SegmentStopFieldInfo = Word64-    type AttrLabel SegmentStopFieldInfo = "stop"-    type AttrOrigin SegmentStopFieldInfo = Segment-    attrGet _ = getSegmentStop-    attrSet _ = setSegmentStop-    attrConstruct = undefined-    attrClear _ = undefined--segment_stop :: AttrLabelProxy "stop"-segment_stop = AttrLabelProxy--#endif---{- |-Get the value of the “@time@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #time-@--}-getSegmentTime :: MonadIO m => Segment -> m Word64-getSegmentTime s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO Word64-    return val--{- |-Set the value of the “@time@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #time 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentTime :: MonadIO m => Segment -> Word64 -> m ()-setSegmentTime s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (val :: Word64)--#if ENABLE_OVERLOADING-data SegmentTimeFieldInfo-instance AttrInfo SegmentTimeFieldInfo where-    type AttrAllowedOps SegmentTimeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentTimeFieldInfo = (~) Word64-    type AttrBaseTypeConstraint SegmentTimeFieldInfo = (~) Segment-    type AttrGetType SegmentTimeFieldInfo = Word64-    type AttrLabel SegmentTimeFieldInfo = "time"-    type AttrOrigin SegmentTimeFieldInfo = Segment-    attrGet _ = getSegmentTime-    attrSet _ = setSegmentTime-    attrConstruct = undefined-    attrClear _ = undefined--segment_time :: AttrLabelProxy "time"-segment_time = AttrLabelProxy--#endif---{- |-Get the value of the “@position@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #position-@--}-getSegmentPosition :: MonadIO m => Segment -> m Word64-getSegmentPosition s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO Word64-    return val--{- |-Set the value of the “@position@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #position 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentPosition :: MonadIO m => Segment -> Word64 -> m ()-setSegmentPosition s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: Word64)--#if ENABLE_OVERLOADING-data SegmentPositionFieldInfo-instance AttrInfo SegmentPositionFieldInfo where-    type AttrAllowedOps SegmentPositionFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentPositionFieldInfo = (~) Word64-    type AttrBaseTypeConstraint SegmentPositionFieldInfo = (~) Segment-    type AttrGetType SegmentPositionFieldInfo = Word64-    type AttrLabel SegmentPositionFieldInfo = "position"-    type AttrOrigin SegmentPositionFieldInfo = Segment-    attrGet _ = getSegmentPosition-    attrSet _ = setSegmentPosition-    attrConstruct = undefined-    attrClear _ = undefined--segment_position :: AttrLabelProxy "position"-segment_position = AttrLabelProxy--#endif---{- |-Get the value of the “@duration@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' segment #duration-@--}-getSegmentDuration :: MonadIO m => Segment -> m Word64-getSegmentDuration s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 80) :: IO Word64-    return val--{- |-Set the value of the “@duration@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' segment [ #duration 'Data.GI.Base.Attributes.:=' value ]-@--}-setSegmentDuration :: MonadIO m => Segment -> Word64 -> m ()-setSegmentDuration s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (val :: Word64)--#if ENABLE_OVERLOADING-data SegmentDurationFieldInfo-instance AttrInfo SegmentDurationFieldInfo where-    type AttrAllowedOps SegmentDurationFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint SegmentDurationFieldInfo = (~) Word64-    type AttrBaseTypeConstraint SegmentDurationFieldInfo = (~) Segment-    type AttrGetType SegmentDurationFieldInfo = Word64-    type AttrLabel SegmentDurationFieldInfo = "duration"-    type AttrOrigin SegmentDurationFieldInfo = Segment-    attrGet _ = getSegmentDuration-    attrSet _ = setSegmentDuration-    attrConstruct = undefined-    attrClear _ = undefined--segment_duration :: AttrLabelProxy "duration"-segment_duration = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Segment-type instance O.AttributeList Segment = SegmentAttributeList-type SegmentAttributeList = ('[ '("flags", SegmentFlagsFieldInfo), '("rate", SegmentRateFieldInfo), '("appliedRate", SegmentAppliedRateFieldInfo), '("format", SegmentFormatFieldInfo), '("base", SegmentBaseFieldInfo), '("offset", SegmentOffsetFieldInfo), '("start", SegmentStartFieldInfo), '("stop", SegmentStopFieldInfo), '("time", SegmentTimeFieldInfo), '("position", SegmentPositionFieldInfo), '("duration", SegmentDurationFieldInfo)] :: [(Symbol, *)])-#endif---- method Segment::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Segment"}))--- throws : False--- Skip return : False--foreign import ccall "gst_segment_new" gst_segment_new :: -    IO (Ptr Segment)--{- |-Allocate a new 'GI.Gst.Structs.Segment.Segment' structure and initialize it using-'GI.Gst.Structs.Segment.segmentInit'.--Free-function: gst_segment_free--}-segmentNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Segment-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Segment.Segment', free with 'GI.Gst.Structs.Segment.segmentFree'. -}-segmentNew  = liftIO $ do-    result <- gst_segment_new-    checkUnexpectedReturnNULL "segmentNew" result-    result' <- (wrapBoxed Segment) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Segment::clip--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the start position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stop position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clip_start", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the clipped start position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "clip_stop", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the clipped stop position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_clip" gst_segment_clip :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- start : TBasicType TUInt64-    Word64 ->                               -- stop : TBasicType TUInt64-    Ptr Word64 ->                           -- clip_start : TBasicType TUInt64-    Ptr Word64 ->                           -- clip_stop : TBasicType TUInt64-    IO CInt--{- |-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 /@clipStart@/ and /@clipStop@/ are not updated.--When the function returns 'True', /@clipStart@/ and /@clipStop@/ will be-updated. If /@clipStart@/ or /@clipStop@/ are different from /@start@/ or /@stop@/-respectively, the region fell partially in the segment.--Note that when /@stop@/ is -1, /@clipStop@/ will be set to the end of the-segment. Depending on the use case, this may or may not be what you want.--}-segmentClip ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@start@/: the start position in the segment -}-    -> Word64-    {- ^ /@stop@/: the stop position in the segment -}-    -> m ((Bool, Word64, Word64))-    {- ^ __Returns:__ 'True' if the given /@start@/ and /@stop@/ times fall partially or-    completely in /@segment@/, 'False' if the values are completely outside-    of the segment. -}-segmentClip segment format start stop = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    clipStart <- allocMem :: IO (Ptr Word64)-    clipStop <- allocMem :: IO (Ptr Word64)-    result <- gst_segment_clip segment' format' start stop clipStart clipStop-    let result' = (/= 0) result-    clipStart' <- peek clipStart-    clipStop' <- peek clipStop-    touchManagedPtr segment-    freeMem clipStart-    freeMem clipStop-    return (result', clipStart', clipStop')--#if ENABLE_OVERLOADING-data SegmentClipMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> Word64 -> m ((Bool, Word64, Word64))), MonadIO m) => O.MethodInfo SegmentClipMethodInfo Segment signature where-    overloadedMethod _ = segmentClip--#endif---- method Segment::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Segment"}))--- throws : False--- Skip return : False--foreign import ccall "gst_segment_copy" gst_segment_copy :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    IO (Ptr Segment)--{- |-Create a copy of given /@segment@/.--Free-function: gst_segment_free--}-segmentCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' -}-    -> m Segment-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Segment.Segment', free with 'GI.Gst.Structs.Segment.segmentFree'. -}-segmentCopy segment = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    result <- gst_segment_copy segment'-    checkUnexpectedReturnNULL "segmentCopy" result-    result' <- (wrapBoxed Segment) result-    touchManagedPtr segment-    return result'--#if ENABLE_OVERLOADING-data SegmentCopyMethodInfo-instance (signature ~ (m Segment), MonadIO m) => O.MethodInfo SegmentCopyMethodInfo Segment signature where-    overloadedMethod _ = segmentCopy--#endif---- method Segment::copy_into--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_segment_copy_into" gst_segment_copy_into :: -    Ptr Segment ->                          -- src : TInterface (Name {namespace = "Gst", name = "Segment"})-    Ptr Segment ->                          -- dest : TInterface (Name {namespace = "Gst", name = "Segment"})-    IO ()--{- |-Copy the contents of /@src@/ into /@dest@/.--}-segmentCopyInto ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@src@/: a 'GI.Gst.Structs.Segment.Segment' -}-    -> Segment-    {- ^ /@dest@/: a 'GI.Gst.Structs.Segment.Segment' -}-    -> m ()-segmentCopyInto src dest = liftIO $ do-    src' <- unsafeManagedPtrGetPtr src-    dest' <- unsafeManagedPtrGetPtr dest-    gst_segment_copy_into src' dest'-    touchManagedPtr src-    touchManagedPtr dest-    return ()--#if ENABLE_OVERLOADING-data SegmentCopyIntoMethodInfo-instance (signature ~ (Segment -> m ()), MonadIO m) => O.MethodInfo SegmentCopyIntoMethodInfo Segment signature where-    overloadedMethod _ = segmentCopyInto--#endif---- method Segment::do_seek--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rate", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the rate of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "Gst", name = "SeekFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the segment flags for the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_type", argType = TInterface (Name {namespace = "Gst", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the seek method", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the seek start value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop_type", argType = TInterface (Name {namespace = "Gst", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the seek method", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the seek stop value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "update", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "boolean holding whether position was updated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_do_seek" gst_segment_do_seek :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CDouble ->                              -- rate : TBasicType TDouble-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "Gst", name = "SeekFlags"})-    CUInt ->                                -- start_type : TInterface (Name {namespace = "Gst", name = "SeekType"})-    Word64 ->                               -- start : TBasicType TUInt64-    CUInt ->                                -- stop_type : TInterface (Name {namespace = "Gst", name = "SeekType"})-    Word64 ->                               -- stop : TBasicType TUInt64-    Ptr CInt ->                             -- update : TBasicType TBoolean-    IO CInt--{- |-Update the segment structure with the field values of a seek event (see-'GI.Gst.Structs.Event.eventNewSeek').--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 /@startType@/ and /@stopType@/.--For positive /@rate@/, the new position in the segment is the new /@segment@/-start field when it was updated with a /@startType@/ 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 /@stopType@/ 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.--}-segmentDoSeek ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Double-    {- ^ /@rate@/: the rate of the segment. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> [Gst.Flags.SeekFlags]-    {- ^ /@flags@/: the segment flags for the segment -}-    -> Gst.Enums.SeekType-    {- ^ /@startType@/: the seek method -}-    -> Word64-    {- ^ /@start@/: the seek start value -}-    -> Gst.Enums.SeekType-    {- ^ /@stopType@/: the seek method -}-    -> Word64-    {- ^ /@stop@/: the seek stop value -}-    -> m ((Bool, Bool))-    {- ^ __Returns:__ 'True' if the seek could be performed. -}-segmentDoSeek segment rate format flags startType start stopType stop = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let rate' = realToFrac rate-    let format' = (fromIntegral . fromEnum) format-    let flags' = gflagsToWord flags-    let startType' = (fromIntegral . fromEnum) startType-    let stopType' = (fromIntegral . fromEnum) stopType-    update <- allocMem :: IO (Ptr CInt)-    result <- gst_segment_do_seek segment' rate' format' flags' startType' start stopType' stop update-    let result' = (/= 0) result-    update' <- peek update-    let update'' = (/= 0) update'-    touchManagedPtr segment-    freeMem update-    return (result', update'')--#if ENABLE_OVERLOADING-data SegmentDoSeekMethodInfo-instance (signature ~ (Double -> Gst.Enums.Format -> [Gst.Flags.SeekFlags] -> Gst.Enums.SeekType -> Word64 -> Gst.Enums.SeekType -> Word64 -> m ((Bool, Bool))), MonadIO m) => O.MethodInfo SegmentDoSeekMethodInfo Segment signature where-    overloadedMethod _ = segmentDoSeek--#endif---- method Segment::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_segment_free" gst_segment_free :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    IO ()--{- |-Free the allocated segment /@segment@/.--}-segmentFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' -}-    -> m ()-segmentFree segment = liftIO $ do-    segment' <- B.ManagedPtr.disownBoxed segment-    gst_segment_free segment'-    touchManagedPtr segment-    return ()--#if ENABLE_OVERLOADING-data SegmentFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo SegmentFreeMethodInfo Segment signature where-    overloadedMethod _ = segmentFree--#endif---- method Segment::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_segment_init" gst_segment_init :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO ()--{- |-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.--}-segmentInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> m ()-segmentInit segment format = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    gst_segment_init segment' format'-    touchManagedPtr segment-    return ()--#if ENABLE_OVERLOADING-data SegmentInitMethodInfo-instance (signature ~ (Gst.Enums.Format -> m ()), MonadIO m) => O.MethodInfo SegmentInitMethodInfo Segment signature where-    overloadedMethod _ = segmentInit--#endif---- method Segment::is_equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "s0", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s1", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_is_equal" gst_segment_is_equal :: -    Ptr Segment ->                          -- s0 : TInterface (Name {namespace = "Gst", name = "Segment"})-    Ptr Segment ->                          -- s1 : TInterface (Name {namespace = "Gst", name = "Segment"})-    IO CInt--{- |-Checks for two segments being equal. Equality here is defined-as perfect equality, including floating point values.--/Since: 1.6/--}-segmentIsEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@s0@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Segment-    {- ^ /@s1@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the segments are equal, 'False' otherwise. -}-segmentIsEqual s0 s1 = liftIO $ do-    s0' <- unsafeManagedPtrGetPtr s0-    s1' <- unsafeManagedPtrGetPtr s1-    result <- gst_segment_is_equal s0' s1'-    let result' = (/= 0) result-    touchManagedPtr s0-    touchManagedPtr s1-    return result'--#if ENABLE_OVERLOADING-data SegmentIsEqualMethodInfo-instance (signature ~ (Segment -> m Bool), MonadIO m) => O.MethodInfo SegmentIsEqualMethodInfo Segment signature where-    overloadedMethod _ = segmentIsEqual--#endif---- method Segment::offset_running_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset to apply in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_offset_running_time" gst_segment_offset_running_time :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- offset : TBasicType TInt64-    IO CInt--{- |-Adjust the values in /@segment@/ so that /@offset@/ is applied to all-future running-time calculations.--/Since: 1.2.3/--}-segmentOffsetRunningTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Int64-    {- ^ /@offset@/: the offset to apply in the segment -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the segment could be updated successfully. If 'False' is-returned, /@offset@/ is not in /@segment@/. -}-segmentOffsetRunningTime segment format offset = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    result <- gst_segment_offset_running_time segment' format' offset-    let result' = (/= 0) result-    touchManagedPtr segment-    return result'--#if ENABLE_OVERLOADING-data SegmentOffsetRunningTimeMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> m Bool), MonadIO m) => O.MethodInfo SegmentOffsetRunningTimeMethodInfo Segment signature where-    overloadedMethod _ = segmentOffsetRunningTime--#endif---- method Segment::position_from_running_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the running_time in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_position_from_running_time" gst_segment_position_from_running_time :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- running_time : TBasicType TUInt64-    IO Word64--{- |-Convert /@runningTime@/ into a position in the segment so that-'GI.Gst.Structs.Segment.segmentToRunningTime' with that position returns /@runningTime@/.--/Since: 1.8/--}-segmentPositionFromRunningTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@runningTime@/: the running_time in the segment -}-    -> m Word64-    {- ^ __Returns:__ the position in the segment for /@runningTime@/. This function returns--1 when /@runningTime@/ is -1 or when it is not inside /@segment@/. -}-segmentPositionFromRunningTime segment format runningTime = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    result <- gst_segment_position_from_running_time segment' format' runningTime-    touchManagedPtr segment-    return result--#if ENABLE_OVERLOADING-data SegmentPositionFromRunningTimeMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m Word64), MonadIO m) => O.MethodInfo SegmentPositionFromRunningTimeMethodInfo Segment signature where-    overloadedMethod _ = segmentPositionFromRunningTime--#endif---- method Segment::position_from_running_time_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the running-time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the resulting position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_position_from_running_time_full" gst_segment_position_from_running_time_full :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- running_time : TBasicType TUInt64-    Ptr Word64 ->                           -- position : TBasicType TUInt64-    IO Int32--{- |-Translate /@runningTime@/ to the segment position using the currently configured-segment. Compared to 'GI.Gst.Structs.Segment.segmentPositionFromRunningTime' 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.--/@runningTime@/ can be any value and the result of this function for values-outside of the segment is extrapolated.--When 1 is returned, /@runningTime@/ resulted in a positive position returned-in /@position@/.--When this function returns -1, the returned /@position@/ was \< 0, and the value-in the position variable should be negated to get the real negative segment-position.--/Since: 1.8/--}-segmentPositionFromRunningTimeFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@runningTime@/: the running-time -}-    -> m ((Int32, Word64))-    {- ^ __Returns:__ a 1 or -1 on success, 0 on failure. -}-segmentPositionFromRunningTimeFull segment format runningTime = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    position <- allocMem :: IO (Ptr Word64)-    result <- gst_segment_position_from_running_time_full segment' format' runningTime position-    position' <- peek position-    touchManagedPtr segment-    freeMem position-    return (result, position')--#if ENABLE_OVERLOADING-data SegmentPositionFromRunningTimeFullMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m ((Int32, Word64))), MonadIO m) => O.MethodInfo SegmentPositionFromRunningTimeFullMethodInfo Segment signature where-    overloadedMethod _ = segmentPositionFromRunningTimeFull--#endif---- method Segment::position_from_stream_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stream_time in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_position_from_stream_time" gst_segment_position_from_stream_time :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- stream_time : TBasicType TUInt64-    IO Word64--{- |-Convert /@streamTime@/ into a position in the segment so that-'GI.Gst.Structs.Segment.segmentToStreamTime' with that position returns /@streamTime@/.--/Since: 1.8/--}-segmentPositionFromStreamTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@streamTime@/: the stream_time in the segment -}-    -> m Word64-    {- ^ __Returns:__ the position in the segment for /@streamTime@/. This function returns--1 when /@streamTime@/ is -1 or when it is not inside /@segment@/. -}-segmentPositionFromStreamTime segment format streamTime = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    result <- gst_segment_position_from_stream_time segment' format' streamTime-    touchManagedPtr segment-    return result--#if ENABLE_OVERLOADING-data SegmentPositionFromStreamTimeMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m Word64), MonadIO m) => O.MethodInfo SegmentPositionFromStreamTimeMethodInfo Segment signature where-    overloadedMethod _ = segmentPositionFromStreamTime--#endif---- method Segment::position_from_stream_time_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the stream-time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the resulting position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_position_from_stream_time_full" gst_segment_position_from_stream_time_full :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- stream_time : TBasicType TUInt64-    Ptr Word64 ->                           -- position : TBasicType TUInt64-    IO Int32--{- |-Translate /@streamTime@/ to the segment position using the currently configured-segment. Compared to 'GI.Gst.Structs.Segment.segmentPositionFromStreamTime' 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.--/@streamTime@/ can be any value and the result of this function for values outside-of the segment is extrapolated.--When 1 is returned, /@streamTime@/ 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.--/Since: 1.8/--}-segmentPositionFromStreamTimeFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@streamTime@/: the stream-time -}-    -> m ((Int32, Word64))-    {- ^ __Returns:__ a 1 or -1 on success, 0 on failure. -}-segmentPositionFromStreamTimeFull segment format streamTime = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    position <- allocMem :: IO (Ptr Word64)-    result <- gst_segment_position_from_stream_time_full segment' format' streamTime position-    position' <- peek position-    touchManagedPtr segment-    freeMem position-    return (result, position')--#if ENABLE_OVERLOADING-data SegmentPositionFromStreamTimeFullMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m ((Int32, Word64))), MonadIO m) => O.MethodInfo SegmentPositionFromStreamTimeFullMethodInfo Segment signature where-    overloadedMethod _ = segmentPositionFromStreamTimeFull--#endif---- method Segment::set_running_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the running_time in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_set_running_time" gst_segment_set_running_time :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- running_time : TBasicType TUInt64-    IO CInt--{- |-Adjust the start\/stop and base values of /@segment@/ such that the next valid-buffer will be one with /@runningTime@/.--}-segmentSetRunningTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@runningTime@/: the running_time in the segment -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the segment could be updated successfully. If 'False' is-returned, /@runningTime@/ is -1 or not in /@segment@/. -}-segmentSetRunningTime segment format runningTime = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    result <- gst_segment_set_running_time segment' format' runningTime-    let result' = (/= 0) result-    touchManagedPtr segment-    return result'--#if ENABLE_OVERLOADING-data SegmentSetRunningTimeMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m Bool), MonadIO m) => O.MethodInfo SegmentSetRunningTimeMethodInfo Segment signature where-    overloadedMethod _ = segmentSetRunningTime--#endif---- method Segment::to_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the running_time in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_to_position" gst_segment_to_position :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- running_time : TBasicType TUInt64-    IO Word64--{-# DEPRECATED segmentToPosition ["Use 'GI.Gst.Structs.Segment.segmentPositionFromRunningTime' instead."] #-}-{- |-Convert /@runningTime@/ into a position in the segment so that-'GI.Gst.Structs.Segment.segmentToRunningTime' with that position returns /@runningTime@/.--}-segmentToPosition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@runningTime@/: the running_time in the segment -}-    -> m Word64-    {- ^ __Returns:__ the position in the segment for /@runningTime@/. This function returns--1 when /@runningTime@/ is -1 or when it is not inside /@segment@/. -}-segmentToPosition segment format runningTime = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    result <- gst_segment_to_position segment' format' runningTime-    touchManagedPtr segment-    return result--#if ENABLE_OVERLOADING-data SegmentToPositionMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m Word64), MonadIO m) => O.MethodInfo SegmentToPositionMethodInfo Segment signature where-    overloadedMethod _ = segmentToPosition--#endif---- method Segment::to_running_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_to_running_time" gst_segment_to_running_time :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- position : TBasicType TUInt64-    IO Word64--{- |-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 'GI.Gst.Structs.Segment.segmentInit' is called, this value will reset to-0.--This function returns -1 if the position is outside of /@segment@/ start and stop.--}-segmentToRunningTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@position@/: the position in the segment -}-    -> m Word64-    {- ^ __Returns:__ the position as the total running time or -1 when an invalid position-was given. -}-segmentToRunningTime segment format position = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    result <- gst_segment_to_running_time segment' format' position-    touchManagedPtr segment-    return result--#if ENABLE_OVERLOADING-data SegmentToRunningTimeMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m Word64), MonadIO m) => O.MethodInfo SegmentToRunningTimeMethodInfo Segment signature where-    overloadedMethod _ = segmentToRunningTime--#endif---- method Segment::to_running_time_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "running_time", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result running-time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_to_running_time_full" gst_segment_to_running_time_full :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- position : TBasicType TUInt64-    Ptr Word64 ->                           -- running_time : TBasicType TUInt64-    IO Int32--{- |-Translate /@position@/ to the total running time using the currently configured-segment. Compared to 'GI.Gst.Structs.Segment.segmentToRunningTime' 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 /@runningTime@/.--When this function returns -1, the returned /@runningTime@/ should be negated-to get the real negative running time.--/Since: 1.6/--}-segmentToRunningTimeFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@position@/: the position in the segment -}-    -> m ((Int32, Word64))-    {- ^ __Returns:__ a 1 or -1 on success, 0 on failure. -}-segmentToRunningTimeFull segment format position = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    runningTime <- allocMem :: IO (Ptr Word64)-    result <- gst_segment_to_running_time_full segment' format' position runningTime-    runningTime' <- peek runningTime-    touchManagedPtr segment-    freeMem runningTime-    return (result, runningTime')--#if ENABLE_OVERLOADING-data SegmentToRunningTimeFullMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m ((Int32, Word64))), MonadIO m) => O.MethodInfo SegmentToRunningTimeFullMethodInfo Segment signature where-    overloadedMethod _ = segmentToRunningTimeFull--#endif---- method Segment::to_stream_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_to_stream_time" gst_segment_to_stream_time :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- position : TBasicType TUInt64-    IO Word64--{- |-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.--/Since: 1.8/--}-segmentToStreamTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@position@/: the position in the segment -}-    -> m Word64-    {- ^ __Returns:__ the position in stream_time or -1 when an invalid position-was given. -}-segmentToStreamTime segment format position = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    result <- gst_segment_to_stream_time segment' format' position-    touchManagedPtr segment-    return result--#if ENABLE_OVERLOADING-data SegmentToStreamTimeMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m Word64), MonadIO m) => O.MethodInfo SegmentToStreamTimeMethodInfo Segment signature where-    overloadedMethod _ = segmentToStreamTime--#endif---- method Segment::to_stream_time_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSegment structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the format of the segment.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "position", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position in the segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stream_time", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "result stream-time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_segment_to_stream_time_full" gst_segment_to_stream_time_full :: -    Ptr Segment ->                          -- segment : TInterface (Name {namespace = "Gst", name = "Segment"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    Word64 ->                               -- position : TBasicType TUInt64-    Ptr Word64 ->                           -- stream_time : TBasicType TUInt64-    IO Int32--{- |-Translate /@position@/ to the total stream time using the currently configured-segment. Compared to 'GI.Gst.Structs.Segment.segmentToStreamTime' 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 /@streamTime@/.--When this function returns -1, the returned /@streamTime@/ should be negated-to get the real negative stream time.--/Since: 1.8/--}-segmentToStreamTimeFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Segment-    {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment' structure. -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format of the segment. -}-    -> Word64-    {- ^ /@position@/: the position in the segment -}-    -> m ((Int32, Word64))-    {- ^ __Returns:__ a 1 or -1 on success, 0 on failure. -}-segmentToStreamTimeFull segment format position = liftIO $ do-    segment' <- unsafeManagedPtrGetPtr segment-    let format' = (fromIntegral . fromEnum) format-    streamTime <- allocMem :: IO (Ptr Word64)-    result <- gst_segment_to_stream_time_full segment' format' position streamTime-    streamTime' <- peek streamTime-    touchManagedPtr segment-    freeMem streamTime-    return (result, streamTime')--#if ENABLE_OVERLOADING-data SegmentToStreamTimeFullMethodInfo-instance (signature ~ (Gst.Enums.Format -> Word64 -> m ((Int32, Word64))), MonadIO m) => O.MethodInfo SegmentToStreamTimeFullMethodInfo Segment signature where-    overloadedMethod _ = segmentToStreamTimeFull--#endif--#if ENABLE_OVERLOADING-type family ResolveSegmentMethod (t :: Symbol) (o :: *) :: * where-    ResolveSegmentMethod "clip" o = SegmentClipMethodInfo-    ResolveSegmentMethod "copy" o = SegmentCopyMethodInfo-    ResolveSegmentMethod "copyInto" o = SegmentCopyIntoMethodInfo-    ResolveSegmentMethod "doSeek" o = SegmentDoSeekMethodInfo-    ResolveSegmentMethod "free" o = SegmentFreeMethodInfo-    ResolveSegmentMethod "init" o = SegmentInitMethodInfo-    ResolveSegmentMethod "isEqual" o = SegmentIsEqualMethodInfo-    ResolveSegmentMethod "offsetRunningTime" o = SegmentOffsetRunningTimeMethodInfo-    ResolveSegmentMethod "positionFromRunningTime" o = SegmentPositionFromRunningTimeMethodInfo-    ResolveSegmentMethod "positionFromRunningTimeFull" o = SegmentPositionFromRunningTimeFullMethodInfo-    ResolveSegmentMethod "positionFromStreamTime" o = SegmentPositionFromStreamTimeMethodInfo-    ResolveSegmentMethod "positionFromStreamTimeFull" o = SegmentPositionFromStreamTimeFullMethodInfo-    ResolveSegmentMethod "toPosition" o = SegmentToPositionMethodInfo-    ResolveSegmentMethod "toRunningTime" o = SegmentToRunningTimeMethodInfo-    ResolveSegmentMethod "toRunningTimeFull" o = SegmentToRunningTimeFullMethodInfo-    ResolveSegmentMethod "toStreamTime" o = SegmentToStreamTimeMethodInfo-    ResolveSegmentMethod "toStreamTimeFull" o = SegmentToStreamTimeFullMethodInfo-    ResolveSegmentMethod "setRunningTime" o = SegmentSetRunningTimeMethodInfo-    ResolveSegmentMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveSegmentMethod t Segment, O.MethodInfo info Segment p) => OL.IsLabel t (Segment -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Segment.hs-boot
@@ -1,80 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Segment where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Segment = Segment (ManagedPtr Segment)-instance BoxedObject Segment where-#if ENABLE_OVERLOADING-data SegmentClipMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentCopyIntoMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentDoSeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentIsEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentOffsetRunningTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentPositionFromRunningTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentPositionFromRunningTimeFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentPositionFromStreamTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentPositionFromStreamTimeFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentSetRunningTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentToPositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentToRunningTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentToRunningTimeFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentToStreamTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SegmentToStreamTimeFullMethodInfo-#endif
− GI/Gst/Structs/StaticCaps.hs
@@ -1,330 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Datastructure to initialize 'GI.Gst.Structs.Caps.Caps' from a string description usually-used in conjunction with @/GST_STATIC_CAPS()/@ and 'GI.Gst.Structs.StaticCaps.staticCapsGet' to-instantiate a 'GI.Gst.Structs.Caps.Caps'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.StaticCaps-    ( ---- * Exported types-    StaticCaps(..)                          ,-    newZeroStaticCaps                       ,-    noStaticCaps                            ,--- -- * Methods--- ** cleanup #method:cleanup#--#if ENABLE_OVERLOADING-    StaticCapsCleanupMethodInfo             ,-#endif-    staticCapsCleanup                       ,----- ** get #method:get#--#if ENABLE_OVERLOADING-    StaticCapsGetMethodInfo                 ,-#endif-    staticCapsGet                           ,----- -- * Properties--- ** caps #attr:caps#-{- | the cached 'GI.Gst.Structs.Caps.Caps'--}-    clearStaticCapsCaps                     ,-    getStaticCapsCaps                       ,-    setStaticCapsCaps                       ,-#if ENABLE_OVERLOADING-    staticCaps_caps                         ,-#endif----- ** string #attr:string#-{- | a string describing a caps--}-    clearStaticCapsString                   ,-    getStaticCapsString                     ,-    setStaticCapsString                     ,-#if ENABLE_OVERLOADING-    staticCaps_string                       ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps---- | Memory-managed wrapper type.-newtype StaticCaps = StaticCaps (ManagedPtr StaticCaps)-instance WrappedPtr StaticCaps where-    wrappedPtrCalloc = callocBytes 48-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr StaticCaps)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `StaticCaps` struct initialized to zero.-newZeroStaticCaps :: MonadIO m => m StaticCaps-newZeroStaticCaps = liftIO $ wrappedPtrCalloc >>= wrapPtr StaticCaps--instance tag ~ 'AttrSet => Constructible StaticCaps tag where-    new _ attrs = do-        o <- newZeroStaticCaps-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `StaticCaps`.-noStaticCaps :: Maybe StaticCaps-noStaticCaps = Nothing--{- |-Get the value of the “@caps@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' staticCaps #caps-@--}-getStaticCapsCaps :: MonadIO m => StaticCaps -> m (Maybe Gst.Caps.Caps)-getStaticCapsCaps s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gst.Caps.Caps)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newBoxed Gst.Caps.Caps) val'-        return val''-    return result--{- |-Set the value of the “@caps@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' staticCaps [ #caps 'Data.GI.Base.Attributes.:=' value ]-@--}-setStaticCapsCaps :: MonadIO m => StaticCaps -> Ptr Gst.Caps.Caps -> m ()-setStaticCapsCaps s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr Gst.Caps.Caps)--{- |-Set the value of the “@caps@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #caps-@--}-clearStaticCapsCaps :: MonadIO m => StaticCaps -> m ()-clearStaticCapsCaps s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr Gst.Caps.Caps)--#if ENABLE_OVERLOADING-data StaticCapsCapsFieldInfo-instance AttrInfo StaticCapsCapsFieldInfo where-    type AttrAllowedOps StaticCapsCapsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint StaticCapsCapsFieldInfo = (~) (Ptr Gst.Caps.Caps)-    type AttrBaseTypeConstraint StaticCapsCapsFieldInfo = (~) StaticCaps-    type AttrGetType StaticCapsCapsFieldInfo = Maybe Gst.Caps.Caps-    type AttrLabel StaticCapsCapsFieldInfo = "caps"-    type AttrOrigin StaticCapsCapsFieldInfo = StaticCaps-    attrGet _ = getStaticCapsCaps-    attrSet _ = setStaticCapsCaps-    attrConstruct = undefined-    attrClear _ = clearStaticCapsCaps--staticCaps_caps :: AttrLabelProxy "caps"-staticCaps_caps = AttrLabelProxy--#endif---{- |-Get the value of the “@string@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' staticCaps #string-@--}-getStaticCapsString :: MonadIO m => StaticCaps -> m (Maybe T.Text)-getStaticCapsString s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@string@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' staticCaps [ #string 'Data.GI.Base.Attributes.:=' value ]-@--}-setStaticCapsString :: MonadIO m => StaticCaps -> CString -> m ()-setStaticCapsString s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: CString)--{- |-Set the value of the “@string@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #string-@--}-clearStaticCapsString :: MonadIO m => StaticCaps -> m ()-clearStaticCapsString s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data StaticCapsStringFieldInfo-instance AttrInfo StaticCapsStringFieldInfo where-    type AttrAllowedOps StaticCapsStringFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint StaticCapsStringFieldInfo = (~) CString-    type AttrBaseTypeConstraint StaticCapsStringFieldInfo = (~) StaticCaps-    type AttrGetType StaticCapsStringFieldInfo = Maybe T.Text-    type AttrLabel StaticCapsStringFieldInfo = "string"-    type AttrOrigin StaticCapsStringFieldInfo = StaticCaps-    attrGet _ = getStaticCapsString-    attrSet _ = setStaticCapsString-    attrConstruct = undefined-    attrClear _ = clearStaticCapsString--staticCaps_string :: AttrLabelProxy "string"-staticCaps_string = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList StaticCaps-type instance O.AttributeList StaticCaps = StaticCapsAttributeList-type StaticCapsAttributeList = ('[ '("caps", StaticCapsCapsFieldInfo), '("string", StaticCapsStringFieldInfo)] :: [(Symbol, *)])-#endif---- method StaticCaps::cleanup--- method type : OrdinaryMethod--- Args : [Arg {argCName = "static_caps", argType = TInterface (Name {namespace = "Gst", name = "StaticCaps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStaticCaps to clean", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_static_caps_cleanup" gst_static_caps_cleanup :: -    Ptr StaticCaps ->                       -- static_caps : TInterface (Name {namespace = "Gst", name = "StaticCaps"})-    IO ()--{- |-Clean up the cached caps contained in /@staticCaps@/.--}-staticCapsCleanup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    StaticCaps-    {- ^ /@staticCaps@/: the 'GI.Gst.Structs.StaticCaps.StaticCaps' to clean -}-    -> m ()-staticCapsCleanup staticCaps = liftIO $ do-    staticCaps' <- unsafeManagedPtrGetPtr staticCaps-    gst_static_caps_cleanup staticCaps'-    touchManagedPtr staticCaps-    return ()--#if ENABLE_OVERLOADING-data StaticCapsCleanupMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo StaticCapsCleanupMethodInfo StaticCaps signature where-    overloadedMethod _ = staticCapsCleanup--#endif---- method StaticCaps::get--- method type : OrdinaryMethod--- Args : [Arg {argCName = "static_caps", argType = TInterface (Name {namespace = "Gst", name = "StaticCaps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStaticCaps to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_static_caps_get" gst_static_caps_get :: -    Ptr StaticCaps ->                       -- static_caps : TInterface (Name {namespace = "Gst", name = "StaticCaps"})-    IO (Ptr Gst.Caps.Caps)--{- |-Converts a 'GI.Gst.Structs.StaticCaps.StaticCaps' to a 'GI.Gst.Structs.Caps.Caps'.--}-staticCapsGet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    StaticCaps-    {- ^ /@staticCaps@/: the 'GI.Gst.Structs.StaticCaps.StaticCaps' to convert -}-    -> m (Maybe Gst.Caps.Caps)-    {- ^ __Returns:__ a pointer to the 'GI.Gst.Structs.Caps.Caps'. 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. -}-staticCapsGet staticCaps = liftIO $ do-    staticCaps' <- unsafeManagedPtrGetPtr staticCaps-    result <- gst_static_caps_get staticCaps'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    touchManagedPtr staticCaps-    return maybeResult--#if ENABLE_OVERLOADING-data StaticCapsGetMethodInfo-instance (signature ~ (m (Maybe Gst.Caps.Caps)), MonadIO m) => O.MethodInfo StaticCapsGetMethodInfo StaticCaps signature where-    overloadedMethod _ = staticCapsGet--#endif--#if ENABLE_OVERLOADING-type family ResolveStaticCapsMethod (t :: Symbol) (o :: *) :: * where-    ResolveStaticCapsMethod "cleanup" o = StaticCapsCleanupMethodInfo-    ResolveStaticCapsMethod "get" o = StaticCapsGetMethodInfo-    ResolveStaticCapsMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveStaticCapsMethod t StaticCaps, O.MethodInfo info StaticCaps p) => OL.IsLabel t (StaticCaps -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/StaticCaps.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.StaticCaps where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype StaticCaps = StaticCaps (ManagedPtr StaticCaps)-instance WrappedPtr StaticCaps where-#if ENABLE_OVERLOADING-data StaticCapsCleanupMethodInfo-#endif-#if ENABLE_OVERLOADING-data StaticCapsGetMethodInfo-#endif
− GI/Gst/Structs/StaticPadTemplate.hs
@@ -1,420 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Structure describing the 'GI.Gst.Structs.StaticPadTemplate.StaticPadTemplate'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.StaticPadTemplate-    ( ---- * Exported types-    StaticPadTemplate(..)                   ,-    newZeroStaticPadTemplate                ,-    noStaticPadTemplate                     ,--- -- * Methods--- ** get #method:get#--#if ENABLE_OVERLOADING-    StaticPadTemplateGetMethodInfo          ,-#endif-    staticPadTemplateGet                    ,----- ** getCaps #method:getCaps#--#if ENABLE_OVERLOADING-    StaticPadTemplateGetCapsMethodInfo      ,-#endif-    staticPadTemplateGetCaps                ,----- -- * Properties--- ** direction #attr:direction#-{- | the direction of the template--}-    getStaticPadTemplateDirection           ,-    setStaticPadTemplateDirection           ,-#if ENABLE_OVERLOADING-    staticPadTemplate_direction             ,-#endif----- ** nameTemplate #attr:nameTemplate#-{- | the name of the template--}-    clearStaticPadTemplateNameTemplate      ,-    getStaticPadTemplateNameTemplate        ,-    setStaticPadTemplateNameTemplate        ,-#if ENABLE_OVERLOADING-    staticPadTemplate_nameTemplate          ,-#endif----- ** presence #attr:presence#-{- | the presence of the template--}-    getStaticPadTemplatePresence            ,-    setStaticPadTemplatePresence            ,-#if ENABLE_OVERLOADING-    staticPadTemplate_presence              ,-#endif----- ** staticCaps #attr:staticCaps#-{- | the caps of the template.--}-    getStaticPadTemplateStaticCaps          ,-#if ENABLE_OVERLOADING-    staticPadTemplate_staticCaps            ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Objects.PadTemplate as Gst.PadTemplate-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps-import {-# SOURCE #-} qualified GI.Gst.Structs.StaticCaps as Gst.StaticCaps---- | Memory-managed wrapper type.-newtype StaticPadTemplate = StaticPadTemplate (ManagedPtr StaticPadTemplate)-instance WrappedPtr StaticPadTemplate where-    wrappedPtrCalloc = callocBytes 64-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr StaticPadTemplate)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `StaticPadTemplate` struct initialized to zero.-newZeroStaticPadTemplate :: MonadIO m => m StaticPadTemplate-newZeroStaticPadTemplate = liftIO $ wrappedPtrCalloc >>= wrapPtr StaticPadTemplate--instance tag ~ 'AttrSet => Constructible StaticPadTemplate tag where-    new _ attrs = do-        o <- newZeroStaticPadTemplate-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `StaticPadTemplate`.-noStaticPadTemplate :: Maybe StaticPadTemplate-noStaticPadTemplate = Nothing--{- |-Get the value of the “@name_template@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' staticPadTemplate #nameTemplate-@--}-getStaticPadTemplateNameTemplate :: MonadIO m => StaticPadTemplate -> m (Maybe T.Text)-getStaticPadTemplateNameTemplate s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@name_template@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' staticPadTemplate [ #nameTemplate 'Data.GI.Base.Attributes.:=' value ]-@--}-setStaticPadTemplateNameTemplate :: MonadIO m => StaticPadTemplate -> CString -> m ()-setStaticPadTemplateNameTemplate s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CString)--{- |-Set the value of the “@name_template@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #nameTemplate-@--}-clearStaticPadTemplateNameTemplate :: MonadIO m => StaticPadTemplate -> m ()-clearStaticPadTemplateNameTemplate s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data StaticPadTemplateNameTemplateFieldInfo-instance AttrInfo StaticPadTemplateNameTemplateFieldInfo where-    type AttrAllowedOps StaticPadTemplateNameTemplateFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint StaticPadTemplateNameTemplateFieldInfo = (~) CString-    type AttrBaseTypeConstraint StaticPadTemplateNameTemplateFieldInfo = (~) StaticPadTemplate-    type AttrGetType StaticPadTemplateNameTemplateFieldInfo = Maybe T.Text-    type AttrLabel StaticPadTemplateNameTemplateFieldInfo = "name_template"-    type AttrOrigin StaticPadTemplateNameTemplateFieldInfo = StaticPadTemplate-    attrGet _ = getStaticPadTemplateNameTemplate-    attrSet _ = setStaticPadTemplateNameTemplate-    attrConstruct = undefined-    attrClear _ = clearStaticPadTemplateNameTemplate--staticPadTemplate_nameTemplate :: AttrLabelProxy "nameTemplate"-staticPadTemplate_nameTemplate = AttrLabelProxy--#endif---{- |-Get the value of the “@direction@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' staticPadTemplate #direction-@--}-getStaticPadTemplateDirection :: MonadIO m => StaticPadTemplate -> m Gst.Enums.PadDirection-getStaticPadTemplateDirection s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@direction@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' staticPadTemplate [ #direction 'Data.GI.Base.Attributes.:=' value ]-@--}-setStaticPadTemplateDirection :: MonadIO m => StaticPadTemplate -> Gst.Enums.PadDirection -> m ()-setStaticPadTemplateDirection s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 8) (val' :: CUInt)--#if ENABLE_OVERLOADING-data StaticPadTemplateDirectionFieldInfo-instance AttrInfo StaticPadTemplateDirectionFieldInfo where-    type AttrAllowedOps StaticPadTemplateDirectionFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint StaticPadTemplateDirectionFieldInfo = (~) Gst.Enums.PadDirection-    type AttrBaseTypeConstraint StaticPadTemplateDirectionFieldInfo = (~) StaticPadTemplate-    type AttrGetType StaticPadTemplateDirectionFieldInfo = Gst.Enums.PadDirection-    type AttrLabel StaticPadTemplateDirectionFieldInfo = "direction"-    type AttrOrigin StaticPadTemplateDirectionFieldInfo = StaticPadTemplate-    attrGet _ = getStaticPadTemplateDirection-    attrSet _ = setStaticPadTemplateDirection-    attrConstruct = undefined-    attrClear _ = undefined--staticPadTemplate_direction :: AttrLabelProxy "direction"-staticPadTemplate_direction = AttrLabelProxy--#endif---{- |-Get the value of the “@presence@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' staticPadTemplate #presence-@--}-getStaticPadTemplatePresence :: MonadIO m => StaticPadTemplate -> m Gst.Enums.PadPresence-getStaticPadTemplatePresence s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@presence@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' staticPadTemplate [ #presence 'Data.GI.Base.Attributes.:=' value ]-@--}-setStaticPadTemplatePresence :: MonadIO m => StaticPadTemplate -> Gst.Enums.PadPresence -> m ()-setStaticPadTemplatePresence s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 12) (val' :: CUInt)--#if ENABLE_OVERLOADING-data StaticPadTemplatePresenceFieldInfo-instance AttrInfo StaticPadTemplatePresenceFieldInfo where-    type AttrAllowedOps StaticPadTemplatePresenceFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint StaticPadTemplatePresenceFieldInfo = (~) Gst.Enums.PadPresence-    type AttrBaseTypeConstraint StaticPadTemplatePresenceFieldInfo = (~) StaticPadTemplate-    type AttrGetType StaticPadTemplatePresenceFieldInfo = Gst.Enums.PadPresence-    type AttrLabel StaticPadTemplatePresenceFieldInfo = "presence"-    type AttrOrigin StaticPadTemplatePresenceFieldInfo = StaticPadTemplate-    attrGet _ = getStaticPadTemplatePresence-    attrSet _ = setStaticPadTemplatePresence-    attrConstruct = undefined-    attrClear _ = undefined--staticPadTemplate_presence :: AttrLabelProxy "presence"-staticPadTemplate_presence = AttrLabelProxy--#endif---{- |-Get the value of the “@static_caps@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' staticPadTemplate #staticCaps-@--}-getStaticPadTemplateStaticCaps :: MonadIO m => StaticPadTemplate -> m Gst.StaticCaps.StaticCaps-getStaticPadTemplateStaticCaps s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 16 :: (Ptr Gst.StaticCaps.StaticCaps)-    val' <- (newPtr Gst.StaticCaps.StaticCaps) val-    return val'--#if ENABLE_OVERLOADING-data StaticPadTemplateStaticCapsFieldInfo-instance AttrInfo StaticPadTemplateStaticCapsFieldInfo where-    type AttrAllowedOps StaticPadTemplateStaticCapsFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint StaticPadTemplateStaticCapsFieldInfo = (~) (Ptr Gst.StaticCaps.StaticCaps)-    type AttrBaseTypeConstraint StaticPadTemplateStaticCapsFieldInfo = (~) StaticPadTemplate-    type AttrGetType StaticPadTemplateStaticCapsFieldInfo = Gst.StaticCaps.StaticCaps-    type AttrLabel StaticPadTemplateStaticCapsFieldInfo = "static_caps"-    type AttrOrigin StaticPadTemplateStaticCapsFieldInfo = StaticPadTemplate-    attrGet _ = getStaticPadTemplateStaticCaps-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--staticPadTemplate_staticCaps :: AttrLabelProxy "staticCaps"-staticPadTemplate_staticCaps = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList StaticPadTemplate-type instance O.AttributeList StaticPadTemplate = StaticPadTemplateAttributeList-type StaticPadTemplateAttributeList = ('[ '("nameTemplate", StaticPadTemplateNameTemplateFieldInfo), '("direction", StaticPadTemplateDirectionFieldInfo), '("presence", StaticPadTemplatePresenceFieldInfo), '("staticCaps", StaticPadTemplateStaticCapsFieldInfo)] :: [(Symbol, *)])-#endif---- method StaticPadTemplate::get--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad_template", argType = TInterface (Name {namespace = "Gst", name = "StaticPadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the static pad template", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "PadTemplate"}))--- throws : False--- Skip return : False--foreign import ccall "gst_static_pad_template_get" gst_static_pad_template_get :: -    Ptr StaticPadTemplate ->                -- pad_template : TInterface (Name {namespace = "Gst", name = "StaticPadTemplate"})-    IO (Ptr Gst.PadTemplate.PadTemplate)--{- |-Converts a 'GI.Gst.Structs.StaticPadTemplate.StaticPadTemplate' into a 'GI.Gst.Objects.PadTemplate.PadTemplate'.--}-staticPadTemplateGet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    StaticPadTemplate-    {- ^ /@padTemplate@/: the static pad template -}-    -> m (Maybe Gst.PadTemplate.PadTemplate)-    {- ^ __Returns:__ a new 'GI.Gst.Objects.PadTemplate.PadTemplate'. -}-staticPadTemplateGet padTemplate = liftIO $ do-    padTemplate' <- unsafeManagedPtrGetPtr padTemplate-    result <- gst_static_pad_template_get padTemplate'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newObject Gst.PadTemplate.PadTemplate) result'-        return result''-    touchManagedPtr padTemplate-    return maybeResult--#if ENABLE_OVERLOADING-data StaticPadTemplateGetMethodInfo-instance (signature ~ (m (Maybe Gst.PadTemplate.PadTemplate)), MonadIO m) => O.MethodInfo StaticPadTemplateGetMethodInfo StaticPadTemplate signature where-    overloadedMethod _ = staticPadTemplateGet--#endif---- method StaticPadTemplate::get_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "templ", argType = TInterface (Name {namespace = "Gst", name = "StaticPadTemplate"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStaticPadTemplate to get capabilities of.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_static_pad_template_get_caps" gst_static_pad_template_get_caps :: -    Ptr StaticPadTemplate ->                -- templ : TInterface (Name {namespace = "Gst", name = "StaticPadTemplate"})-    IO (Ptr Gst.Caps.Caps)--{- |-Gets the capabilities of the static pad template.--}-staticPadTemplateGetCaps ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    StaticPadTemplate-    {- ^ /@templ@/: a 'GI.Gst.Structs.StaticPadTemplate.StaticPadTemplate' to get capabilities of. -}-    -> m Gst.Caps.Caps-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' 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. -}-staticPadTemplateGetCaps templ = liftIO $ do-    templ' <- unsafeManagedPtrGetPtr templ-    result <- gst_static_pad_template_get_caps templ'-    checkUnexpectedReturnNULL "staticPadTemplateGetCaps" result-    result' <- (wrapBoxed Gst.Caps.Caps) result-    touchManagedPtr templ-    return result'--#if ENABLE_OVERLOADING-data StaticPadTemplateGetCapsMethodInfo-instance (signature ~ (m Gst.Caps.Caps), MonadIO m) => O.MethodInfo StaticPadTemplateGetCapsMethodInfo StaticPadTemplate signature where-    overloadedMethod _ = staticPadTemplateGetCaps--#endif--#if ENABLE_OVERLOADING-type family ResolveStaticPadTemplateMethod (t :: Symbol) (o :: *) :: * where-    ResolveStaticPadTemplateMethod "get" o = StaticPadTemplateGetMethodInfo-    ResolveStaticPadTemplateMethod "getCaps" o = StaticPadTemplateGetCapsMethodInfo-    ResolveStaticPadTemplateMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveStaticPadTemplateMethod t StaticPadTemplate, O.MethodInfo info StaticPadTemplate p) => OL.IsLabel t (StaticPadTemplate -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/StaticPadTemplate.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.StaticPadTemplate where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype StaticPadTemplate = StaticPadTemplate (ManagedPtr StaticPadTemplate)-instance WrappedPtr StaticPadTemplate where-#if ENABLE_OVERLOADING-data StaticPadTemplateGetMethodInfo-#endif-#if ENABLE_OVERLOADING-data StaticPadTemplateGetCapsMethodInfo-#endif
− GI/Gst/Structs/Structure.hs
@@ -1,3232 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A 'GI.Gst.Structs.Structure.Structure' 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 'GI.Gst.Structs.Structure.Structure' also has a name. The name-starts with a letter and can be filled by letters, numbers and any of \"\/-_.:\".--'GI.Gst.Structs.Structure.Structure' is used by various GStreamer subsystems to store information-in a flexible and extensible way. A 'GI.Gst.Structs.Structure.Structure' does not have a refcount-because it usually is part of a higher level object such as 'GI.Gst.Structs.Caps.Caps',-'GI.Gst.Structs.Message.Message', 'GI.Gst.Structs.Event.Event', 'GI.Gst.Structs.Query.Query'. It provides a means to enforce mutability-using the refcount of the parent with the 'GI.Gst.Structs.Structure.structureSetParentRefcount'-method.--A 'GI.Gst.Structs.Structure.Structure' can be created with 'GI.Gst.Structs.Structure.structureNewEmpty' 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 'GI.Gst.Structs.Structure.structureSetValue' or-@/gst_structure_set()/@.--Field values can be retrieved with 'GI.Gst.Structs.Structure.structureGetValue' or the more-convenient gst_structure_get_*() functions.--Fields can be removed with 'GI.Gst.Structs.Structure.structureRemoveField' or-@/gst_structure_remove_fields()/@.--Strings in structures must be ASCII or UTF-8 encoded. Other encodings are-not allowed. Strings may be 'Nothing' however.--Be aware that the current 'GI.Gst.Structs.Caps.Caps' \/ 'GI.Gst.Structs.Structure.Structure' serialization into string-has limited support for nested 'GI.Gst.Structs.Caps.Caps' \/ 'GI.Gst.Structs.Structure.Structure' fields. It can only-support one level of nesting. Using more levels will lead to unexpected-behavior when using serialization features, such as 'GI.Gst.Structs.Caps.capsToString' or-'GI.Gst.Functions.valueSerialize' and their counterparts.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Structure-    ( ---- * Exported types-    Structure(..)                           ,-    newZeroStructure                        ,-    noStructure                             ,--- -- * Methods--- ** canIntersect #method:canIntersect#--#if ENABLE_OVERLOADING-    StructureCanIntersectMethodInfo         ,-#endif-    structureCanIntersect                   ,----- ** copy #method:copy#--#if ENABLE_OVERLOADING-    StructureCopyMethodInfo                 ,-#endif-    structureCopy                           ,----- ** filterAndMapInPlace #method:filterAndMapInPlace#--#if ENABLE_OVERLOADING-    StructureFilterAndMapInPlaceMethodInfo  ,-#endif-    structureFilterAndMapInPlace            ,----- ** fixate #method:fixate#--#if ENABLE_OVERLOADING-    StructureFixateMethodInfo               ,-#endif-    structureFixate                         ,----- ** fixateField #method:fixateField#--#if ENABLE_OVERLOADING-    StructureFixateFieldMethodInfo          ,-#endif-    structureFixateField                    ,----- ** fixateFieldBoolean #method:fixateFieldBoolean#--#if ENABLE_OVERLOADING-    StructureFixateFieldBooleanMethodInfo   ,-#endif-    structureFixateFieldBoolean             ,----- ** fixateFieldNearestDouble #method:fixateFieldNearestDouble#--#if ENABLE_OVERLOADING-    StructureFixateFieldNearestDoubleMethodInfo,-#endif-    structureFixateFieldNearestDouble       ,----- ** fixateFieldNearestFraction #method:fixateFieldNearestFraction#--#if ENABLE_OVERLOADING-    StructureFixateFieldNearestFractionMethodInfo,-#endif-    structureFixateFieldNearestFraction     ,----- ** fixateFieldNearestInt #method:fixateFieldNearestInt#--#if ENABLE_OVERLOADING-    StructureFixateFieldNearestIntMethodInfo,-#endif-    structureFixateFieldNearestInt          ,----- ** fixateFieldString #method:fixateFieldString#--#if ENABLE_OVERLOADING-    StructureFixateFieldStringMethodInfo    ,-#endif-    structureFixateFieldString              ,----- ** foreach #method:foreach#--#if ENABLE_OVERLOADING-    StructureForeachMethodInfo              ,-#endif-    structureForeach                        ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    StructureFreeMethodInfo                 ,-#endif-    structureFree                           ,----- ** fromString #method:fromString#--    structureFromString                     ,----- ** getArray #method:getArray#--#if ENABLE_OVERLOADING-    StructureGetArrayMethodInfo             ,-#endif-    structureGetArray                       ,----- ** getBoolean #method:getBoolean#--#if ENABLE_OVERLOADING-    StructureGetBooleanMethodInfo           ,-#endif-    structureGetBoolean                     ,----- ** getClockTime #method:getClockTime#--#if ENABLE_OVERLOADING-    StructureGetClockTimeMethodInfo         ,-#endif-    structureGetClockTime                   ,----- ** getDate #method:getDate#--#if ENABLE_OVERLOADING-    StructureGetDateMethodInfo              ,-#endif-    structureGetDate                        ,----- ** getDateTime #method:getDateTime#--#if ENABLE_OVERLOADING-    StructureGetDateTimeMethodInfo          ,-#endif-    structureGetDateTime                    ,----- ** getDouble #method:getDouble#--#if ENABLE_OVERLOADING-    StructureGetDoubleMethodInfo            ,-#endif-    structureGetDouble                      ,----- ** getEnum #method:getEnum#--#if ENABLE_OVERLOADING-    StructureGetEnumMethodInfo              ,-#endif-    structureGetEnum                        ,----- ** getFieldType #method:getFieldType#--#if ENABLE_OVERLOADING-    StructureGetFieldTypeMethodInfo         ,-#endif-    structureGetFieldType                   ,----- ** getFlagset #method:getFlagset#--#if ENABLE_OVERLOADING-    StructureGetFlagsetMethodInfo           ,-#endif-    structureGetFlagset                     ,----- ** getFraction #method:getFraction#--#if ENABLE_OVERLOADING-    StructureGetFractionMethodInfo          ,-#endif-    structureGetFraction                    ,----- ** getInt #method:getInt#--#if ENABLE_OVERLOADING-    StructureGetIntMethodInfo               ,-#endif-    structureGetInt                         ,----- ** getInt64 #method:getInt64#--#if ENABLE_OVERLOADING-    StructureGetInt64MethodInfo             ,-#endif-    structureGetInt64                       ,----- ** getList #method:getList#--#if ENABLE_OVERLOADING-    StructureGetListMethodInfo              ,-#endif-    structureGetList                        ,----- ** getName #method:getName#--#if ENABLE_OVERLOADING-    StructureGetNameMethodInfo              ,-#endif-    structureGetName                        ,----- ** getNameId #method:getNameId#--#if ENABLE_OVERLOADING-    StructureGetNameIdMethodInfo            ,-#endif-    structureGetNameId                      ,----- ** getString #method:getString#--#if ENABLE_OVERLOADING-    StructureGetStringMethodInfo            ,-#endif-    structureGetString                      ,----- ** getUint #method:getUint#--#if ENABLE_OVERLOADING-    StructureGetUintMethodInfo              ,-#endif-    structureGetUint                        ,----- ** getUint64 #method:getUint64#--#if ENABLE_OVERLOADING-    StructureGetUint64MethodInfo            ,-#endif-    structureGetUint64                      ,----- ** getValue #method:getValue#--#if ENABLE_OVERLOADING-    StructureGetValueMethodInfo             ,-#endif-    structureGetValue                       ,----- ** hasField #method:hasField#--#if ENABLE_OVERLOADING-    StructureHasFieldMethodInfo             ,-#endif-    structureHasField                       ,----- ** hasFieldTyped #method:hasFieldTyped#--#if ENABLE_OVERLOADING-    StructureHasFieldTypedMethodInfo        ,-#endif-    structureHasFieldTyped                  ,----- ** hasName #method:hasName#--#if ENABLE_OVERLOADING-    StructureHasNameMethodInfo              ,-#endif-    structureHasName                        ,----- ** idGetValue #method:idGetValue#--#if ENABLE_OVERLOADING-    StructureIdGetValueMethodInfo           ,-#endif-    structureIdGetValue                     ,----- ** idHasField #method:idHasField#--#if ENABLE_OVERLOADING-    StructureIdHasFieldMethodInfo           ,-#endif-    structureIdHasField                     ,----- ** idHasFieldTyped #method:idHasFieldTyped#--#if ENABLE_OVERLOADING-    StructureIdHasFieldTypedMethodInfo      ,-#endif-    structureIdHasFieldTyped                ,----- ** idSetValue #method:idSetValue#--#if ENABLE_OVERLOADING-    StructureIdSetValueMethodInfo           ,-#endif-    structureIdSetValue                     ,----- ** idTakeValue #method:idTakeValue#--#if ENABLE_OVERLOADING-    StructureIdTakeValueMethodInfo          ,-#endif-    structureIdTakeValue                    ,----- ** intersect #method:intersect#--#if ENABLE_OVERLOADING-    StructureIntersectMethodInfo            ,-#endif-    structureIntersect                      ,----- ** isEqual #method:isEqual#--#if ENABLE_OVERLOADING-    StructureIsEqualMethodInfo              ,-#endif-    structureIsEqual                        ,----- ** isSubset #method:isSubset#--#if ENABLE_OVERLOADING-    StructureIsSubsetMethodInfo             ,-#endif-    structureIsSubset                       ,----- ** mapInPlace #method:mapInPlace#--#if ENABLE_OVERLOADING-    StructureMapInPlaceMethodInfo           ,-#endif-    structureMapInPlace                     ,----- ** nFields #method:nFields#--#if ENABLE_OVERLOADING-    StructureNFieldsMethodInfo              ,-#endif-    structureNFields                        ,----- ** newEmpty #method:newEmpty#--    structureNewEmpty                       ,----- ** newFromString #method:newFromString#--    structureNewFromString                  ,----- ** newIdEmpty #method:newIdEmpty#--    structureNewIdEmpty                     ,----- ** nthFieldName #method:nthFieldName#--#if ENABLE_OVERLOADING-    StructureNthFieldNameMethodInfo         ,-#endif-    structureNthFieldName                   ,----- ** removeAllFields #method:removeAllFields#--#if ENABLE_OVERLOADING-    StructureRemoveAllFieldsMethodInfo      ,-#endif-    structureRemoveAllFields                ,----- ** removeField #method:removeField#--#if ENABLE_OVERLOADING-    StructureRemoveFieldMethodInfo          ,-#endif-    structureRemoveField                    ,----- ** setArray #method:setArray#--#if ENABLE_OVERLOADING-    StructureSetArrayMethodInfo             ,-#endif-    structureSetArray                       ,----- ** setList #method:setList#--#if ENABLE_OVERLOADING-    StructureSetListMethodInfo              ,-#endif-    structureSetList                        ,----- ** setName #method:setName#--#if ENABLE_OVERLOADING-    StructureSetNameMethodInfo              ,-#endif-    structureSetName                        ,----- ** setParentRefcount #method:setParentRefcount#--#if ENABLE_OVERLOADING-    StructureSetParentRefcountMethodInfo    ,-#endif-    structureSetParentRefcount              ,----- ** setValue #method:setValue#--#if ENABLE_OVERLOADING-    StructureSetValueMethodInfo             ,-#endif-    structureSetValue                       ,----- ** takeValue #method:takeValue#--#if ENABLE_OVERLOADING-    StructureTakeValueMethodInfo            ,-#endif-    structureTakeValue                      ,----- ** toString #method:toString#--#if ENABLE_OVERLOADING-    StructureToStringMethodInfo             ,-#endif-    structureToString                       ,----- -- * Properties--- ** type #attr:type#-{- | the GType of a structure--}-    getStructureType                        ,-    setStructureType                        ,-#if ENABLE_OVERLOADING-    structure_type                          ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Structs.Date as GLib.Date-import qualified GI.GObject.Structs.ValueArray as GObject.ValueArray-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Structs.DateTime as Gst.DateTime---- | Memory-managed wrapper type.-newtype Structure = Structure (ManagedPtr Structure)-foreign import ccall "gst_structure_get_type" c_gst_structure_get_type :: -    IO GType--instance BoxedObject Structure where-    boxedType _ = c_gst_structure_get_type---- | Construct a `Structure` struct initialized to zero.-newZeroStructure :: MonadIO m => m Structure-newZeroStructure = liftIO $ callocBoxedBytes 16 >>= wrapBoxed Structure--instance tag ~ 'AttrSet => Constructible Structure tag where-    new _ attrs = do-        o <- newZeroStructure-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Structure`.-noStructure :: Maybe Structure-noStructure = Nothing--{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' structure #type-@--}-getStructureType :: MonadIO m => Structure -> m GType-getStructureType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CGType-    let val' = GType val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' structure [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setStructureType :: MonadIO m => Structure -> GType -> m ()-setStructureType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gtypeToCGType val-    poke (ptr `plusPtr` 0) (val' :: CGType)--#if ENABLE_OVERLOADING-data StructureTypeFieldInfo-instance AttrInfo StructureTypeFieldInfo where-    type AttrAllowedOps StructureTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint StructureTypeFieldInfo = (~) GType-    type AttrBaseTypeConstraint StructureTypeFieldInfo = (~) Structure-    type AttrGetType StructureTypeFieldInfo = GType-    type AttrLabel StructureTypeFieldInfo = "type"-    type AttrOrigin StructureTypeFieldInfo = Structure-    attrGet _ = getStructureType-    attrSet _ = setStructureType-    attrConstruct = undefined-    attrClear _ = undefined--structure_type :: AttrLabelProxy "type"-structure_type = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Structure-type instance O.AttributeList Structure = StructureAttributeList-type StructureAttributeList = ('[ '("type", StructureTypeFieldInfo)] :: [(Symbol, *)])-#endif---- method Structure::new_empty--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of new structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_structure_new_empty" gst_structure_new_empty :: -    CString ->                              -- name : TBasicType TUTF8-    IO (Ptr Structure)--{- |-Creates a new, empty 'GI.Gst.Structs.Structure.Structure' with the given /@name@/.--See 'GI.Gst.Structs.Structure.structureSetName' for constraints on the /@name@/ parameter.--Free-function: gst_structure_free--}-structureNewEmpty ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: name of new structure -}-    -> m Structure-    {- ^ __Returns:__ a new, empty 'GI.Gst.Structs.Structure.Structure' -}-structureNewEmpty name = liftIO $ do-    name' <- textToCString name-    result <- gst_structure_new_empty name'-    checkUnexpectedReturnNULL "structureNewEmpty" result-    result' <- (wrapBoxed Structure) result-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Structure::new_from_string--- method type : Constructor--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string representation of a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_structure_new_from_string" gst_structure_new_from_string :: -    CString ->                              -- string : TBasicType TUTF8-    IO (Ptr Structure)--{- |-Creates a 'GI.Gst.Structs.Structure.Structure' from a string representation.-If end is not 'Nothing', 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 'GI.Gst.Structs.Caps.Caps' \/ 'GI.Gst.Structs.Structure.Structure' deeper than one level.--Free-function: gst_structure_free--/Since: 1.2/--}-structureNewFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: a string representation of a 'GI.Gst.Structs.Structure.Structure' -}-    -> m (Maybe Structure)-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Structure.Structure' or 'Nothing'-    when the string could not be parsed. Free with-    'GI.Gst.Structs.Structure.structureFree' after use. -}-structureNewFromString string = liftIO $ do-    string' <- textToCString string-    result <- gst_structure_new_from_string string'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Structure) result'-        return result''-    freeMem string'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Structure::new_id_empty--- method type : Constructor--- Args : [Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of new structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_structure_new_id_empty" gst_structure_new_id_empty :: -    Word32 ->                               -- quark : TBasicType TUInt32-    IO (Ptr Structure)--{- |-Creates a new, empty 'GI.Gst.Structs.Structure.Structure' with the given name as a GQuark.--Free-function: gst_structure_free--}-structureNewIdEmpty ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@quark@/: name of new structure -}-    -> m Structure-    {- ^ __Returns:__ a new, empty 'GI.Gst.Structs.Structure.Structure' -}-structureNewIdEmpty quark = liftIO $ do-    result <- gst_structure_new_id_empty quark-    checkUnexpectedReturnNULL "structureNewIdEmpty" result-    result' <- (wrapBoxed Structure) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Structure::can_intersect--- method type : OrdinaryMethod--- Args : [Arg {argCName = "struct1", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "struct2", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_can_intersect" gst_structure_can_intersect :: -    Ptr Structure ->                        -- struct1 : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Structure ->                        -- struct2 : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO CInt--{- |-Tries intersecting /@struct1@/ and /@struct2@/ and reports whether the result-would not be empty.--}-structureCanIntersect ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@struct1@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Structure-    {- ^ /@struct2@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if intersection would not be empty -}-structureCanIntersect struct1 struct2 = liftIO $ do-    struct1' <- unsafeManagedPtrGetPtr struct1-    struct2' <- unsafeManagedPtrGetPtr struct2-    result <- gst_structure_can_intersect struct1' struct2'-    let result' = (/= 0) result-    touchManagedPtr struct1-    touchManagedPtr struct2-    return result'--#if ENABLE_OVERLOADING-data StructureCanIntersectMethodInfo-instance (signature ~ (Structure -> m Bool), MonadIO m) => O.MethodInfo StructureCanIntersectMethodInfo Structure signature where-    overloadedMethod _ = structureCanIntersect--#endif---- method Structure::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure to duplicate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_structure_copy" gst_structure_copy :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Structure)--{- |-Duplicates a 'GI.Gst.Structs.Structure.Structure' and all its fields and values.--Free-function: gst_structure_free--}-structureCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' to duplicate -}-    -> m Structure-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Structure.Structure'. -}-structureCopy structure = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_structure_copy structure'-    checkUnexpectedReturnNULL "structureCopy" result-    result' <- (wrapBoxed Structure) result-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data StructureCopyMethodInfo-instance (signature ~ (m Structure), MonadIO m) => O.MethodInfo StructureCopyMethodInfo Structure signature where-    overloadedMethod _ = structureCopy--#endif---- method Structure::filter_and_map_in_place--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "StructureFilterMapFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call for each field", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "private data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_filter_and_map_in_place" gst_structure_filter_and_map_in_place :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    FunPtr Gst.Callbacks.C_StructureFilterMapFunc -> -- func : TInterface (Name {namespace = "Gst", name = "StructureFilterMapFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Calls the provided function once for each field in the 'GI.Gst.Structs.Structure.Structure'. In-contrast to 'GI.Gst.Structs.Structure.structureForeach', the function may modify the fields.-In contrast to 'GI.Gst.Structs.Structure.structureMapInPlace', the field is removed from-the structure if 'False' is returned from the function.-The structure must be mutable.--/Since: 1.6/--}-structureFilterAndMapInPlace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Gst.Callbacks.StructureFilterMapFunc-    {- ^ /@func@/: a function to call for each field -}-    -> m ()-structureFilterAndMapInPlace structure func = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    func' <- Gst.Callbacks.mk_StructureFilterMapFunc (Gst.Callbacks.wrap_StructureFilterMapFunc Nothing (Gst.Callbacks.drop_closures_StructureFilterMapFunc func))-    let userData = nullPtr-    gst_structure_filter_and_map_in_place structure' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr structure-    return ()--#if ENABLE_OVERLOADING-data StructureFilterAndMapInPlaceMethodInfo-instance (signature ~ (Gst.Callbacks.StructureFilterMapFunc -> m ()), MonadIO m) => O.MethodInfo StructureFilterAndMapInPlaceMethodInfo Structure signature where-    overloadedMethod _ = structureFilterAndMapInPlace--#endif---- method Structure::fixate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_fixate" gst_structure_fixate :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Fixate all values in /@structure@/ using 'GI.Gst.Functions.valueFixate'.-/@structure@/ will be modified in-place and should be writable.--}-structureFixate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> m ()-structureFixate structure = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    gst_structure_fixate structure'-    touchManagedPtr structure-    return ()--#if ENABLE_OVERLOADING-data StructureFixateMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo StructureFixateMethodInfo Structure signature where-    overloadedMethod _ = structureFixate--#endif---- method Structure::fixate_field--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a field in @structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_fixate_field" gst_structure_fixate_field :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- field_name : TBasicType TUTF8-    IO CInt--{- |-Fixates a 'GI.Gst.Structs.Structure.Structure' by changing the given field with its fixated value.--}-structureFixateField ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldName@/: a field in /@structure@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure field could be fixated -}-structureFixateField structure fieldName = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldName' <- textToCString fieldName-    result <- gst_structure_fixate_field structure' fieldName'-    let result' = (/= 0) result-    touchManagedPtr structure-    freeMem fieldName'-    return result'--#if ENABLE_OVERLOADING-data StructureFixateFieldMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo StructureFixateFieldMethodInfo Structure signature where-    overloadedMethod _ = structureFixateField--#endif---- method Structure::fixate_field_boolean--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a field in @structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the target value of the fixation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_fixate_field_boolean" gst_structure_fixate_field_boolean :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- field_name : TBasicType TUTF8-    CInt ->                                 -- target : TBasicType TBoolean-    IO CInt--{- |-Fixates a 'GI.Gst.Structs.Structure.Structure' by changing the given /@fieldName@/ field to the given-/@target@/ boolean if that field is not fixed yet.--}-structureFixateFieldBoolean ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldName@/: a field in /@structure@/ -}-    -> Bool-    {- ^ /@target@/: the target value of the fixation -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure could be fixated -}-structureFixateFieldBoolean structure fieldName target = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldName' <- textToCString fieldName-    let target' = (fromIntegral . fromEnum) target-    result <- gst_structure_fixate_field_boolean structure' fieldName' target'-    let result' = (/= 0) result-    touchManagedPtr structure-    freeMem fieldName'-    return result'--#if ENABLE_OVERLOADING-data StructureFixateFieldBooleanMethodInfo-instance (signature ~ (T.Text -> Bool -> m Bool), MonadIO m) => O.MethodInfo StructureFixateFieldBooleanMethodInfo Structure signature where-    overloadedMethod _ = structureFixateFieldBoolean--#endif---- method Structure::fixate_field_nearest_double--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a field in @structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the target value of the fixation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_fixate_field_nearest_double" gst_structure_fixate_field_nearest_double :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- field_name : TBasicType TUTF8-    CDouble ->                              -- target : TBasicType TDouble-    IO CInt--{- |-Fixates a 'GI.Gst.Structs.Structure.Structure' by changing the given field to the nearest-double to /@target@/ that is a subset of the existing field.--}-structureFixateFieldNearestDouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldName@/: a field in /@structure@/ -}-    -> Double-    {- ^ /@target@/: the target value of the fixation -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure could be fixated -}-structureFixateFieldNearestDouble structure fieldName target = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldName' <- textToCString fieldName-    let target' = realToFrac target-    result <- gst_structure_fixate_field_nearest_double structure' fieldName' target'-    let result' = (/= 0) result-    touchManagedPtr structure-    freeMem fieldName'-    return result'--#if ENABLE_OVERLOADING-data StructureFixateFieldNearestDoubleMethodInfo-instance (signature ~ (T.Text -> Double -> m Bool), MonadIO m) => O.MethodInfo StructureFixateFieldNearestDoubleMethodInfo Structure signature where-    overloadedMethod _ = structureFixateFieldNearestDouble--#endif---- method Structure::fixate_field_nearest_fraction--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a field in @structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_numerator", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The numerator of the target value of the fixation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target_denominator", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The denominator of the target value of the fixation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_fixate_field_nearest_fraction" gst_structure_fixate_field_nearest_fraction :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- field_name : TBasicType TUTF8-    Int32 ->                                -- target_numerator : TBasicType TInt-    Int32 ->                                -- target_denominator : TBasicType TInt-    IO CInt--{- |-Fixates a 'GI.Gst.Structs.Structure.Structure' by changing the given field to the nearest-fraction to /@targetNumerator@/\//@targetDenominator@/ that is a subset-of the existing field.--}-structureFixateFieldNearestFraction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldName@/: a field in /@structure@/ -}-    -> Int32-    {- ^ /@targetNumerator@/: The numerator of the target value of the fixation -}-    -> Int32-    {- ^ /@targetDenominator@/: The denominator of the target value of the fixation -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure could be fixated -}-structureFixateFieldNearestFraction structure fieldName targetNumerator targetDenominator = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldName' <- textToCString fieldName-    result <- gst_structure_fixate_field_nearest_fraction structure' fieldName' targetNumerator targetDenominator-    let result' = (/= 0) result-    touchManagedPtr structure-    freeMem fieldName'-    return result'--#if ENABLE_OVERLOADING-data StructureFixateFieldNearestFractionMethodInfo-instance (signature ~ (T.Text -> Int32 -> Int32 -> m Bool), MonadIO m) => O.MethodInfo StructureFixateFieldNearestFractionMethodInfo Structure signature where-    overloadedMethod _ = structureFixateFieldNearestFraction--#endif---- method Structure::fixate_field_nearest_int--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a field in @structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the target value of the fixation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_fixate_field_nearest_int" gst_structure_fixate_field_nearest_int :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- field_name : TBasicType TUTF8-    Int32 ->                                -- target : TBasicType TInt-    IO CInt--{- |-Fixates a 'GI.Gst.Structs.Structure.Structure' by changing the given field to the nearest-integer to /@target@/ that is a subset of the existing field.--}-structureFixateFieldNearestInt ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldName@/: a field in /@structure@/ -}-    -> Int32-    {- ^ /@target@/: the target value of the fixation -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure could be fixated -}-structureFixateFieldNearestInt structure fieldName target = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldName' <- textToCString fieldName-    result <- gst_structure_fixate_field_nearest_int structure' fieldName' target-    let result' = (/= 0) result-    touchManagedPtr structure-    freeMem fieldName'-    return result'--#if ENABLE_OVERLOADING-data StructureFixateFieldNearestIntMethodInfo-instance (signature ~ (T.Text -> Int32 -> m Bool), MonadIO m) => O.MethodInfo StructureFixateFieldNearestIntMethodInfo Structure signature where-    overloadedMethod _ = structureFixateFieldNearestInt--#endif---- method Structure::fixate_field_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a field in @structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the target value of the fixation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_fixate_field_string" gst_structure_fixate_field_string :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- field_name : TBasicType TUTF8-    CString ->                              -- target : TBasicType TUTF8-    IO CInt--{- |-Fixates a 'GI.Gst.Structs.Structure.Structure' by changing the given /@fieldName@/ field to the given-/@target@/ string if that field is not fixed yet.--}-structureFixateFieldString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldName@/: a field in /@structure@/ -}-    -> T.Text-    {- ^ /@target@/: the target value of the fixation -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure could be fixated -}-structureFixateFieldString structure fieldName target = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldName' <- textToCString fieldName-    target' <- textToCString target-    result <- gst_structure_fixate_field_string structure' fieldName' target'-    let result' = (/= 0) result-    touchManagedPtr structure-    freeMem fieldName'-    freeMem target'-    return result'--#if ENABLE_OVERLOADING-data StructureFixateFieldStringMethodInfo-instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m) => O.MethodInfo StructureFixateFieldStringMethodInfo Structure signature where-    overloadedMethod _ = structureFixateFieldString--#endif---- method Structure::foreach--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "StructureForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call for each field", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "private data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_foreach" gst_structure_foreach :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    FunPtr Gst.Callbacks.C_StructureForeachFunc -> -- func : TInterface (Name {namespace = "Gst", name = "StructureForeachFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Calls the provided function once for each field in the 'GI.Gst.Structs.Structure.Structure'. The-function must not modify the fields. Also see 'GI.Gst.Structs.Structure.structureMapInPlace'-and 'GI.Gst.Structs.Structure.structureFilterAndMapInPlace'.--}-structureForeach ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Gst.Callbacks.StructureForeachFunc-    {- ^ /@func@/: a function to call for each field -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the supplied function returns 'True' For each of the fields,-'False' otherwise. -}-structureForeach structure func = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    func' <- Gst.Callbacks.mk_StructureForeachFunc (Gst.Callbacks.wrap_StructureForeachFunc Nothing (Gst.Callbacks.drop_closures_StructureForeachFunc func))-    let userData = nullPtr-    result <- gst_structure_foreach structure' func' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data StructureForeachMethodInfo-instance (signature ~ (Gst.Callbacks.StructureForeachFunc -> m Bool), MonadIO m) => O.MethodInfo StructureForeachMethodInfo Structure signature where-    overloadedMethod _ = structureForeach--#endif---- method Structure::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstStructure to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_free" gst_structure_free :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Frees a 'GI.Gst.Structs.Structure.Structure' and all its fields and values. The structure must not-have a parent when this function is called.--}-structureFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: the 'GI.Gst.Structs.Structure.Structure' to free -}-    -> m ()-structureFree structure = liftIO $ do-    structure' <- B.ManagedPtr.disownBoxed structure-    gst_structure_free structure'-    touchManagedPtr structure-    return ()--#if ENABLE_OVERLOADING-data StructureFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo StructureFreeMethodInfo Structure signature where-    overloadedMethod _ = structureFree--#endif---- method Structure::get_array--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GValueArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_array" gst_structure_get_array :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr (Ptr GObject.ValueArray.ValueArray) -> -- array : TInterface (Name {namespace = "GObject", name = "ValueArray"})-    IO CInt--{- |-This is useful in language bindings where unknown 'GI.GObject.Structs.Value.Value' types are not-supported. This function will convert the @/GST_TYPE_ARRAY/@ into a newly-allocated 'GI.GObject.Structs.ValueArray.ValueArray' and return it through /@array@/. Be aware that this is-slower then getting the 'GI.GObject.Structs.Value.Value' directly.--}-structureGetArray ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, GObject.ValueArray.ValueArray))-    {- ^ __Returns:__ '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'. -}-structureGetArray structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    array <- allocMem :: IO (Ptr (Ptr GObject.ValueArray.ValueArray))-    result <- gst_structure_get_array structure' fieldname' array-    let result' = (/= 0) result-    array' <- peek array-    array'' <- (wrapBoxed GObject.ValueArray.ValueArray) array'-    touchManagedPtr structure-    freeMem fieldname'-    freeMem array-    return (result', array'')--#if ENABLE_OVERLOADING-data StructureGetArrayMethodInfo-instance (signature ~ (T.Text -> m ((Bool, GObject.ValueArray.ValueArray))), MonadIO m) => O.MethodInfo StructureGetArrayMethodInfo Structure signature where-    overloadedMethod _ = structureGetArray--#endif---- method Structure::get_boolean--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gboolean to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_boolean" gst_structure_get_boolean :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr CInt ->                             -- value : TBasicType TBoolean-    IO CInt--{- |-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.--}-structureGetBoolean ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Bool))-    {- ^ __Returns:__ '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'. -}-structureGetBoolean structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value <- allocMem :: IO (Ptr CInt)-    result <- gst_structure_get_boolean structure' fieldname' value-    let result' = (/= 0) result-    value' <- peek value-    let value'' = (/= 0) value'-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data StructureGetBooleanMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Bool))), MonadIO m) => O.MethodInfo StructureGetBooleanMethodInfo Structure signature where-    overloadedMethod _ = structureGetBoolean--#endif---- method Structure::get_clock_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GstClockTime to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_clock_time" gst_structure_get_clock_time :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr Word64 ->                           -- value : TBasicType TUInt64-    IO CInt--{- |-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.--}-structureGetClockTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Word64))-    {- ^ __Returns:__ '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'. -}-structureGetClockTime structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value <- allocMem :: IO (Ptr Word64)-    result <- gst_structure_get_clock_time structure' fieldname' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data StructureGetClockTimeMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Word64))), MonadIO m) => O.MethodInfo StructureGetClockTimeMethodInfo Structure signature where-    overloadedMethod _ = structureGetClockTime--#endif---- method Structure::get_date--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GDate to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_date" gst_structure_get_date :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr (Ptr GLib.Date.Date) ->             -- value : TInterface (Name {namespace = "GLib", name = "Date"})-    IO CInt--{- |-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 'GI.GLib.Structs.Date.dateFree' when no longer needed (note: this is-inconsistent with e.g. 'GI.Gst.Structs.Structure.structureGetString' which doesn\'t return a-copy of the string).--}-structureGetDate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, GLib.Date.Date))-    {- ^ __Returns:__ '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'. -}-structureGetDate structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value <- allocMem :: IO (Ptr (Ptr GLib.Date.Date))-    result <- gst_structure_get_date structure' fieldname' value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- (wrapBoxed GLib.Date.Date) value'-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data StructureGetDateMethodInfo-instance (signature ~ (T.Text -> m ((Bool, GLib.Date.Date))), MonadIO m) => O.MethodInfo StructureGetDateMethodInfo Structure signature where-    overloadedMethod _ = structureGetDate--#endif---- method Structure::get_date_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GstDateTime to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_date_time" gst_structure_get_date_time :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr (Ptr Gst.DateTime.DateTime) ->      -- value : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CInt--{- |-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 'GI.Gst.Structs.DateTime.dateTimeUnref' when no longer needed-(note: this is inconsistent with e.g. 'GI.Gst.Structs.Structure.structureGetString'-which doesn\'t return a copy of the string).--}-structureGetDateTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Gst.DateTime.DateTime))-    {- ^ __Returns:__ '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'. -}-structureGetDateTime structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value <- allocMem :: IO (Ptr (Ptr Gst.DateTime.DateTime))-    result <- gst_structure_get_date_time structure' fieldname' value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- (wrapBoxed Gst.DateTime.DateTime) value'-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data StructureGetDateTimeMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Gst.DateTime.DateTime))), MonadIO m) => O.MethodInfo StructureGetDateTimeMethodInfo Structure signature where-    overloadedMethod _ = structureGetDateTime--#endif---- method Structure::get_double--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a gdouble to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_double" gst_structure_get_double :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr CDouble ->                          -- value : TBasicType TDouble-    IO CInt--{- |-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.--}-structureGetDouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Double))-    {- ^ __Returns:__ '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'. -}-structureGetDouble structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value <- allocMem :: IO (Ptr CDouble)-    result <- gst_structure_get_double structure' fieldname' value-    let result' = (/= 0) result-    value' <- peek value-    let value'' = realToFrac value'-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data StructureGetDoubleMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Double))), MonadIO m) => O.MethodInfo StructureGetDoubleMethodInfo Structure signature where-    overloadedMethod _ = structureGetDouble--#endif---- method Structure::get_enum--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enumtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the enum type of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to an int to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_enum" gst_structure_get_enum :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    CGType ->                               -- enumtype : TBasicType TGType-    Ptr Int32 ->                            -- value : TBasicType TInt-    IO CInt--{- |-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.--}-structureGetEnum ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> GType-    {- ^ /@enumtype@/: the enum type of a field -}-    -> m ((Bool, Int32))-    {- ^ __Returns:__ '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'. -}-structureGetEnum structure fieldname enumtype = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    let enumtype' = gtypeToCGType enumtype-    value <- allocMem :: IO (Ptr Int32)-    result <- gst_structure_get_enum structure' fieldname' enumtype' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data StructureGetEnumMethodInfo-instance (signature ~ (T.Text -> GType -> m ((Bool, Int32))), MonadIO m) => O.MethodInfo StructureGetEnumMethodInfo Structure signature where-    overloadedMethod _ = structureGetEnum--#endif---- method Structure::get_field_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_field_type" gst_structure_get_field_type :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    IO CGType--{- |-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.--}-structureGetFieldType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of the field -}-    -> m GType-    {- ^ __Returns:__ the 'GI.GObject.Structs.Value.Value' of the field -}-structureGetFieldType structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    result <- gst_structure_get_field_type structure' fieldname'-    let result' = GType result-    touchManagedPtr structure-    freeMem fieldname'-    return result'--#if ENABLE_OVERLOADING-data StructureGetFieldTypeMethodInfo-instance (signature ~ (T.Text -> m GType), MonadIO m) => O.MethodInfo StructureGetFieldTypeMethodInfo Structure signature where-    overloadedMethod _ = structureGetFieldType--#endif---- method Structure::get_flagset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value_flags", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a guint for the flags field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "value_mask", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a guint for the mask field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_flagset" gst_structure_get_flagset :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr Word32 ->                           -- value_flags : TBasicType TUInt-    Ptr Word32 ->                           -- value_mask : TBasicType TUInt-    IO CInt--{- |-Read the GstFlagSet flags and mask out of the structure into the-provided pointers.--/Since: 1.6/--}-structureGetFlagset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Word32, Word32))-    {- ^ __Returns:__ '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'. -}-structureGetFlagset structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    valueFlags <- allocMem :: IO (Ptr Word32)-    valueMask <- allocMem :: IO (Ptr Word32)-    result <- gst_structure_get_flagset structure' fieldname' valueFlags valueMask-    let result' = (/= 0) result-    valueFlags' <- peek valueFlags-    valueMask' <- peek valueMask-    touchManagedPtr structure-    freeMem fieldname'-    freeMem valueFlags-    freeMem valueMask-    return (result', valueFlags', valueMask')--#if ENABLE_OVERLOADING-data StructureGetFlagsetMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Word32, Word32))), MonadIO m) => O.MethodInfo StructureGetFlagsetMethodInfo Structure signature where-    overloadedMethod _ = structureGetFlagset--#endif---- method Structure::get_fraction--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value_numerator", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to an int to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "value_denominator", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to an int to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_fraction" gst_structure_get_fraction :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr Int32 ->                            -- value_numerator : TBasicType TInt-    Ptr Int32 ->                            -- value_denominator : TBasicType TInt-    IO CInt--{- |-Sets the integers pointed to by /@valueNumerator@/ and /@valueDenominator@/-corresponding to the value of the given field.  Caller is responsible-for making sure the field exists and has the correct type.--}-structureGetFraction ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Int32, Int32))-    {- ^ __Returns:__ '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'. -}-structureGetFraction structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    valueNumerator <- allocMem :: IO (Ptr Int32)-    valueDenominator <- allocMem :: IO (Ptr Int32)-    result <- gst_structure_get_fraction structure' fieldname' valueNumerator valueDenominator-    let result' = (/= 0) result-    valueNumerator' <- peek valueNumerator-    valueDenominator' <- peek valueDenominator-    touchManagedPtr structure-    freeMem fieldname'-    freeMem valueNumerator-    freeMem valueDenominator-    return (result', valueNumerator', valueDenominator')--#if ENABLE_OVERLOADING-data StructureGetFractionMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Int32, Int32))), MonadIO m) => O.MethodInfo StructureGetFractionMethodInfo Structure signature where-    overloadedMethod _ = structureGetFraction--#endif---- method Structure::get_int--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to an int to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_int" gst_structure_get_int :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr Int32 ->                            -- value : TBasicType TInt-    IO CInt--{- |-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.--}-structureGetInt ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Int32))-    {- ^ __Returns:__ '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'. -}-structureGetInt structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value <- allocMem :: IO (Ptr Int32)-    result <- gst_structure_get_int structure' fieldname' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data StructureGetIntMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Int32))), MonadIO m) => O.MethodInfo StructureGetIntMethodInfo Structure signature where-    overloadedMethod _ = structureGetInt--#endif---- method Structure::get_int64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint64 to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_int64" gst_structure_get_int64 :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr Int64 ->                            -- value : TBasicType TInt64-    IO CInt--{- |-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.--/Since: 1.4/--}-structureGetInt64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ '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'. -}-structureGetInt64 structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value <- allocMem :: IO (Ptr Int64)-    result <- gst_structure_get_int64 structure' fieldname' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data StructureGetInt64MethodInfo-instance (signature ~ (T.Text -> m ((Bool, Int64))), MonadIO m) => O.MethodInfo StructureGetInt64MethodInfo Structure signature where-    overloadedMethod _ = structureGetInt64--#endif---- method Structure::get_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GValueArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_list" gst_structure_get_list :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr (Ptr GObject.ValueArray.ValueArray) -> -- array : TInterface (Name {namespace = "GObject", name = "ValueArray"})-    IO CInt--{- |-This is useful in language bindings where unknown 'GI.GObject.Structs.Value.Value' 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 'GI.GObject.Structs.Value.Value' directly.--}-structureGetList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, GObject.ValueArray.ValueArray))-    {- ^ __Returns:__ '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'.--Since 1.12 -}-structureGetList structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    array <- allocMem :: IO (Ptr (Ptr GObject.ValueArray.ValueArray))-    result <- gst_structure_get_list structure' fieldname' array-    let result' = (/= 0) result-    array' <- peek array-    array'' <- (wrapBoxed GObject.ValueArray.ValueArray) array'-    touchManagedPtr structure-    freeMem fieldname'-    freeMem array-    return (result', array'')--#if ENABLE_OVERLOADING-data StructureGetListMethodInfo-instance (signature ~ (T.Text -> m ((Bool, GObject.ValueArray.ValueArray))), MonadIO m) => O.MethodInfo StructureGetListMethodInfo Structure signature where-    overloadedMethod _ = structureGetList--#endif---- method Structure::get_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_name" gst_structure_get_name :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO CString--{- |-Get the name of /@structure@/ as a string.--}-structureGetName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> m T.Text-    {- ^ __Returns:__ the name of the structure. -}-structureGetName structure = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_structure_get_name structure'-    checkUnexpectedReturnNULL "structureGetName" result-    result' <- cstringToText result-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data StructureGetNameMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo StructureGetNameMethodInfo Structure signature where-    overloadedMethod _ = structureGetName--#endif---- method Structure::get_name_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_name_id" gst_structure_get_name_id :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO Word32--{- |-Get the name of /@structure@/ as a GQuark.--}-structureGetNameId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> m Word32-    {- ^ __Returns:__ the quark representing the name of the structure. -}-structureGetNameId structure = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_structure_get_name_id structure'-    touchManagedPtr structure-    return result--#if ENABLE_OVERLOADING-data StructureGetNameIdMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo StructureGetNameIdMethodInfo Structure signature where-    overloadedMethod _ = structureGetNameId--#endif---- method Structure::get_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_string" gst_structure_get_string :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    IO CString--{- |-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.--}-structureGetString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ a pointer to the string or 'Nothing' when the-field did not exist or did not contain a string. -}-structureGetString structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    result <- gst_structure_get_string structure' fieldname'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr structure-    freeMem fieldname'-    return maybeResult--#if ENABLE_OVERLOADING-data StructureGetStringMethodInfo-instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo StructureGetStringMethodInfo Structure signature where-    overloadedMethod _ = structureGetString--#endif---- method Structure::get_uint--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a uint to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_uint" gst_structure_get_uint :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr Word32 ->                           -- value : TBasicType TUInt-    IO CInt--{- |-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.--}-structureGetUint ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Word32))-    {- ^ __Returns:__ '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'. -}-structureGetUint structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value <- allocMem :: IO (Ptr Word32)-    result <- gst_structure_get_uint structure' fieldname' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data StructureGetUintMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Word32))), MonadIO m) => O.MethodInfo StructureGetUintMethodInfo Structure signature where-    overloadedMethod _ = structureGetUint--#endif---- method Structure::get_uint64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #guint64 to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_uint64" gst_structure_get_uint64 :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr Word64 ->                           -- value : TBasicType TUInt64-    IO CInt--{- |-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.--/Since: 1.4/--}-structureGetUint64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m ((Bool, Word64))-    {- ^ __Returns:__ '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'. -}-structureGetUint64 structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value <- allocMem :: IO (Ptr Word64)-    result <- gst_structure_get_uint64 structure' fieldname' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr structure-    freeMem fieldname'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data StructureGetUint64MethodInfo-instance (signature ~ (T.Text -> m ((Bool, Word64))), MonadIO m) => O.MethodInfo StructureGetUint64MethodInfo Structure signature where-    overloadedMethod _ = structureGetUint64--#endif---- method Structure::get_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the field to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Value"}))--- throws : False--- Skip return : False--foreign import ccall "gst_structure_get_value" gst_structure_get_value :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    IO (Ptr GValue)--{- |-Get the value of the field with name /@fieldname@/.--}-structureGetValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of the field to get -}-    -> m (Maybe GValue)-    {- ^ __Returns:__ the 'GI.GObject.Structs.Value.Value' corresponding to the field with the given-name. -}-structureGetValue structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    result <- gst_structure_get_value structure' fieldname'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed GValue) result'-        return result''-    touchManagedPtr structure-    freeMem fieldname'-    return maybeResult--#if ENABLE_OVERLOADING-data StructureGetValueMethodInfo-instance (signature ~ (T.Text -> m (Maybe GValue)), MonadIO m) => O.MethodInfo StructureGetValueMethodInfo Structure signature where-    overloadedMethod _ = structureGetValue--#endif---- method Structure::has_field--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_has_field" gst_structure_has_field :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    IO CInt--{- |-Check if /@structure@/ contains a field named /@fieldname@/.--}-structureHasField ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure contains a field with the given name -}-structureHasField structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    result <- gst_structure_has_field structure' fieldname'-    let result' = (/= 0) result-    touchManagedPtr structure-    freeMem fieldname'-    return result'--#if ENABLE_OVERLOADING-data StructureHasFieldMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo StructureHasFieldMethodInfo Structure signature where-    overloadedMethod _ = structureHasField--#endif---- method Structure::has_field_typed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of a value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_has_field_typed" gst_structure_has_field_typed :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    CGType ->                               -- type : TBasicType TGType-    IO CInt--{- |-Check if /@structure@/ contains a field named /@fieldname@/ and with GType /@type@/.--}-structureHasFieldTyped ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> GType-    {- ^ /@type@/: the type of a value -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure contains a field with the given name and type -}-structureHasFieldTyped structure fieldname type_ = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    let type_' = gtypeToCGType type_-    result <- gst_structure_has_field_typed structure' fieldname' type_'-    let result' = (/= 0) result-    touchManagedPtr structure-    freeMem fieldname'-    return result'--#if ENABLE_OVERLOADING-data StructureHasFieldTypedMethodInfo-instance (signature ~ (T.Text -> GType -> m Bool), MonadIO m) => O.MethodInfo StructureHasFieldTypedMethodInfo Structure signature where-    overloadedMethod _ = structureHasFieldTyped--#endif---- method Structure::has_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "structure name to check for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_has_name" gst_structure_has_name :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- name : TBasicType TUTF8-    IO CInt--{- |-Checks if the structure has the given name--}-structureHasName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@name@/: structure name to check for -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@name@/ matches the name of the structure. -}-structureHasName structure name = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    name' <- textToCString name-    result <- gst_structure_has_name structure' name'-    let result' = (/= 0) result-    touchManagedPtr structure-    freeMem name'-    return result'--#if ENABLE_OVERLOADING-data StructureHasNameMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo StructureHasNameMethodInfo Structure signature where-    overloadedMethod _ = structureHasName--#endif---- method Structure::id_get_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark of the field to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Value"}))--- throws : False--- Skip return : False--foreign import ccall "gst_structure_id_get_value" gst_structure_id_get_value :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Word32 ->                               -- field : TBasicType TUInt32-    IO (Ptr GValue)--{- |-Get the value of the field with GQuark /@field@/.--}-structureIdGetValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Word32-    {- ^ /@field@/: the @/GQuark/@ of the field to get -}-    -> m (Maybe GValue)-    {- ^ __Returns:__ the 'GI.GObject.Structs.Value.Value' corresponding to the field with the given-name identifier. -}-structureIdGetValue structure field = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_structure_id_get_value structure' field-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed GValue) result'-        return result''-    touchManagedPtr structure-    return maybeResult--#if ENABLE_OVERLOADING-data StructureIdGetValueMethodInfo-instance (signature ~ (Word32 -> m (Maybe GValue)), MonadIO m) => O.MethodInfo StructureIdGetValueMethodInfo Structure signature where-    overloadedMethod _ = structureIdGetValue--#endif---- method Structure::id_has_field--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GQuark of the field name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_id_has_field" gst_structure_id_has_field :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Word32 ->                               -- field : TBasicType TUInt32-    IO CInt--{- |-Check if /@structure@/ contains a field named /@field@/.--}-structureIdHasField ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Word32-    {- ^ /@field@/: @/GQuark/@ of the field name -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure contains a field with the given name -}-structureIdHasField structure field = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_structure_id_has_field structure' field-    let result' = (/= 0) result-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data StructureIdHasFieldMethodInfo-instance (signature ~ (Word32 -> m Bool), MonadIO m) => O.MethodInfo StructureIdHasFieldMethodInfo Structure signature where-    overloadedMethod _ = structureIdHasField--#endif---- method Structure::id_has_field_typed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GQuark of the field name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of a value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_id_has_field_typed" gst_structure_id_has_field_typed :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Word32 ->                               -- field : TBasicType TUInt32-    CGType ->                               -- type : TBasicType TGType-    IO CInt--{- |-Check if /@structure@/ contains a field named /@field@/ and with GType /@type@/.--}-structureIdHasFieldTyped ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Word32-    {- ^ /@field@/: @/GQuark/@ of the field name -}-    -> GType-    {- ^ /@type@/: the type of a value -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the structure contains a field with the given name and type -}-structureIdHasFieldTyped structure field type_ = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    let type_' = gtypeToCGType type_-    result <- gst_structure_id_has_field_typed structure' field type_'-    let result' = (/= 0) result-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data StructureIdHasFieldTypedMethodInfo-instance (signature ~ (Word32 -> GType -> m Bool), MonadIO m) => O.MethodInfo StructureIdHasFieldTypedMethodInfo Structure signature where-    overloadedMethod _ = structureIdHasFieldTyped--#endif---- method Structure::id_set_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQuark representing a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_id_set_value" gst_structure_id_set_value :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Word32 ->                               -- field : TBasicType TUInt32-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-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.--}-structureIdSetValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Word32-    {- ^ /@field@/: a @/GQuark/@ representing a field -}-    -> GValue-    {- ^ /@value@/: the new value of the field -}-    -> m ()-structureIdSetValue structure field value = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    value' <- unsafeManagedPtrGetPtr value-    gst_structure_id_set_value structure' field value'-    touchManagedPtr structure-    touchManagedPtr value-    return ()--#if ENABLE_OVERLOADING-data StructureIdSetValueMethodInfo-instance (signature ~ (Word32 -> GValue -> m ()), MonadIO m) => O.MethodInfo StructureIdSetValueMethodInfo Structure signature where-    overloadedMethod _ = structureIdSetValue--#endif---- method Structure::id_take_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "field", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQuark representing a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_id_take_value" gst_structure_id_take_value :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Word32 ->                               -- field : TBasicType TUInt32-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-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.--}-structureIdTakeValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Word32-    {- ^ /@field@/: a @/GQuark/@ representing a field -}-    -> GValue-    {- ^ /@value@/: the new value of the field -}-    -> m ()-structureIdTakeValue structure field value = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    value' <- B.ManagedPtr.disownBoxed value-    gst_structure_id_take_value structure' field value'-    touchManagedPtr structure-    touchManagedPtr value-    return ()--#if ENABLE_OVERLOADING-data StructureIdTakeValueMethodInfo-instance (signature ~ (Word32 -> GValue -> m ()), MonadIO m) => O.MethodInfo StructureIdTakeValueMethodInfo Structure signature where-    overloadedMethod _ = structureIdTakeValue--#endif---- method Structure::intersect--- method type : OrdinaryMethod--- Args : [Arg {argCName = "struct1", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "struct2", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_structure_intersect" gst_structure_intersect :: -    Ptr Structure ->                        -- struct1 : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Structure ->                        -- struct2 : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO (Ptr Structure)--{- |-Intersects /@struct1@/ and /@struct2@/ and returns the intersection.--}-structureIntersect ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@struct1@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Structure-    {- ^ /@struct2@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> m (Maybe Structure)-    {- ^ __Returns:__ Intersection of /@struct1@/ and /@struct2@/ -}-structureIntersect struct1 struct2 = liftIO $ do-    struct1' <- unsafeManagedPtrGetPtr struct1-    struct2' <- unsafeManagedPtrGetPtr struct2-    result <- gst_structure_intersect struct1' struct2'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Structure) result'-        return result''-    touchManagedPtr struct1-    touchManagedPtr struct2-    return maybeResult--#if ENABLE_OVERLOADING-data StructureIntersectMethodInfo-instance (signature ~ (Structure -> m (Maybe Structure)), MonadIO m) => O.MethodInfo StructureIntersectMethodInfo Structure signature where-    overloadedMethod _ = structureIntersect--#endif---- method Structure::is_equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure1", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "structure2", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_is_equal" gst_structure_is_equal :: -    Ptr Structure ->                        -- structure1 : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Structure ->                        -- structure2 : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO CInt--{- |-Tests if the two 'GI.Gst.Structs.Structure.Structure' are equal.--}-structureIsEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure1@/: a 'GI.Gst.Structs.Structure.Structure'. -}-    -> Structure-    {- ^ /@structure2@/: a 'GI.Gst.Structs.Structure.Structure'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the two structures have the same name and field. -}-structureIsEqual structure1 structure2 = liftIO $ do-    structure1' <- unsafeManagedPtrGetPtr structure1-    structure2' <- unsafeManagedPtrGetPtr structure2-    result <- gst_structure_is_equal structure1' structure2'-    let result' = (/= 0) result-    touchManagedPtr structure1-    touchManagedPtr structure2-    return result'--#if ENABLE_OVERLOADING-data StructureIsEqualMethodInfo-instance (signature ~ (Structure -> m Bool), MonadIO m) => O.MethodInfo StructureIsEqualMethodInfo Structure signature where-    overloadedMethod _ = structureIsEqual--#endif---- method Structure::is_subset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "subset", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "superset", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a potentially greater #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_is_subset" gst_structure_is_subset :: -    Ptr Structure ->                        -- subset : TInterface (Name {namespace = "Gst", name = "Structure"})-    Ptr Structure ->                        -- superset : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO CInt--{- |-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@/.--}-structureIsSubset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@subset@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Structure-    {- ^ /@superset@/: a potentially greater 'GI.Gst.Structs.Structure.Structure' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@subset@/ is a subset of /@superset@/ -}-structureIsSubset subset superset = liftIO $ do-    subset' <- unsafeManagedPtrGetPtr subset-    superset' <- unsafeManagedPtrGetPtr superset-    result <- gst_structure_is_subset subset' superset'-    let result' = (/= 0) result-    touchManagedPtr subset-    touchManagedPtr superset-    return result'--#if ENABLE_OVERLOADING-data StructureIsSubsetMethodInfo-instance (signature ~ (Structure -> m Bool), MonadIO m) => O.MethodInfo StructureIsSubsetMethodInfo Structure signature where-    overloadedMethod _ = structureIsSubset--#endif---- method Structure::map_in_place--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "StructureMapFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call for each field", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "private data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_map_in_place" gst_structure_map_in_place :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    FunPtr Gst.Callbacks.C_StructureMapFunc -> -- func : TInterface (Name {namespace = "Gst", name = "StructureMapFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Calls the provided function once for each field in the 'GI.Gst.Structs.Structure.Structure'. In-contrast to 'GI.Gst.Structs.Structure.structureForeach', the function may modify but not delete the-fields. The structure must be mutable.--}-structureMapInPlace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Gst.Callbacks.StructureMapFunc-    {- ^ /@func@/: a function to call for each field -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the supplied function returns 'True' For each of the fields,-'False' otherwise. -}-structureMapInPlace structure func = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    func' <- Gst.Callbacks.mk_StructureMapFunc (Gst.Callbacks.wrap_StructureMapFunc Nothing (Gst.Callbacks.drop_closures_StructureMapFunc func))-    let userData = nullPtr-    result <- gst_structure_map_in_place structure' func' userData-    let result' = (/= 0) result-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data StructureMapInPlaceMethodInfo-instance (signature ~ (Gst.Callbacks.StructureMapFunc -> m Bool), MonadIO m) => O.MethodInfo StructureMapInPlaceMethodInfo Structure signature where-    overloadedMethod _ = structureMapInPlace--#endif---- method Structure::n_fields--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_n_fields" gst_structure_n_fields :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO Int32--{- |-Get the number of fields in the structure.--}-structureNFields ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> m Int32-    {- ^ __Returns:__ the number of fields in the structure -}-structureNFields structure = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_structure_n_fields structure'-    touchManagedPtr structure-    return result--#if ENABLE_OVERLOADING-data StructureNFieldsMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo StructureNFieldsMethodInfo Structure signature where-    overloadedMethod _ = structureNFields--#endif---- method Structure::nth_field_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index to get the name of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_nth_field_name" gst_structure_nth_field_name :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Word32 ->                               -- index : TBasicType TUInt-    IO CString--{- |-Get the name of the given field number, counting from 0 onwards.--}-structureNthFieldName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Word32-    {- ^ /@index@/: the index to get the name of -}-    -> m T.Text-    {- ^ __Returns:__ the name of the given field number -}-structureNthFieldName structure index = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_structure_nth_field_name structure' index-    checkUnexpectedReturnNULL "structureNthFieldName" result-    result' <- cstringToText result-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data StructureNthFieldNameMethodInfo-instance (signature ~ (Word32 -> m T.Text), MonadIO m) => O.MethodInfo StructureNthFieldNameMethodInfo Structure signature where-    overloadedMethod _ = structureNthFieldName--#endif---- method Structure::remove_all_fields--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_remove_all_fields" gst_structure_remove_all_fields :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO ()--{- |-Removes all fields in a GstStructure.--}-structureRemoveAllFields ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> m ()-structureRemoveAllFields structure = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    gst_structure_remove_all_fields structure'-    touchManagedPtr structure-    return ()--#if ENABLE_OVERLOADING-data StructureRemoveAllFieldsMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo StructureRemoveAllFieldsMethodInfo Structure signature where-    overloadedMethod _ = structureRemoveAllFields--#endif---- method Structure::remove_field--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the field to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_remove_field" gst_structure_remove_field :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    IO ()--{- |-Removes the field with the given name.  If the field with the given-name does not exist, the structure is unchanged.--}-structureRemoveField ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of the field to remove -}-    -> m ()-structureRemoveField structure fieldname = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    gst_structure_remove_field structure' fieldname'-    touchManagedPtr structure-    freeMem fieldname'-    return ()--#if ENABLE_OVERLOADING-data StructureRemoveFieldMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo StructureRemoveFieldMethodInfo Structure signature where-    overloadedMethod _ = structureRemoveField--#endif---- method Structure::set_array--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GValueArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_set_array" gst_structure_set_array :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr GObject.ValueArray.ValueArray ->    -- array : TInterface (Name {namespace = "GObject", name = "ValueArray"})-    IO ()--{- |-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 'GI.GObject.Structs.Value.Value' directly.--Since 1.12--}-structureSetArray ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> GObject.ValueArray.ValueArray-    {- ^ /@array@/: a pointer to a 'GI.GObject.Structs.ValueArray.ValueArray' -}-    -> m ()-structureSetArray structure fieldname array = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    array' <- unsafeManagedPtrGetPtr array-    gst_structure_set_array structure' fieldname' array'-    touchManagedPtr structure-    touchManagedPtr array-    freeMem fieldname'-    return ()--#if ENABLE_OVERLOADING-data StructureSetArrayMethodInfo-instance (signature ~ (T.Text -> GObject.ValueArray.ValueArray -> m ()), MonadIO m) => O.MethodInfo StructureSetArrayMethodInfo Structure signature where-    overloadedMethod _ = structureSetArray--#endif---- method Structure::set_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of a field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "array", argType = TInterface (Name {namespace = "GObject", name = "ValueArray"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GValueArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_set_list" gst_structure_set_list :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr GObject.ValueArray.ValueArray ->    -- array : TInterface (Name {namespace = "GObject", name = "ValueArray"})-    IO ()--{- |-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 'GI.GObject.Structs.Value.Value' directly.--Since 1.12--}-structureSetList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of a field -}-    -> GObject.ValueArray.ValueArray-    {- ^ /@array@/: a pointer to a 'GI.GObject.Structs.ValueArray.ValueArray' -}-    -> m ()-structureSetList structure fieldname array = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    array' <- unsafeManagedPtrGetPtr array-    gst_structure_set_list structure' fieldname' array'-    touchManagedPtr structure-    touchManagedPtr array-    freeMem fieldname'-    return ()--#if ENABLE_OVERLOADING-data StructureSetListMethodInfo-instance (signature ~ (T.Text -> GObject.ValueArray.ValueArray -> m ()), MonadIO m) => O.MethodInfo StructureSetListMethodInfo Structure signature where-    overloadedMethod _ = structureSetList--#endif---- method Structure::set_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new name of the structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_set_name" gst_structure_set_name :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- name : TBasicType TUTF8-    IO ()--{- |-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 \"\/-_.:\".--}-structureSetName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@name@/: the new name of the structure -}-    -> m ()-structureSetName structure name = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    name' <- textToCString name-    gst_structure_set_name structure' name'-    touchManagedPtr structure-    freeMem name'-    return ()--#if ENABLE_OVERLOADING-data StructureSetNameMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo StructureSetNameMethodInfo Structure signature where-    overloadedMethod _ = structureSetName--#endif---- method Structure::set_parent_refcount--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refcount", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the parent's refcount", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_set_parent_refcount" gst_structure_set_parent_refcount :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    Int32 ->                                -- refcount : TBasicType TInt-    IO CInt--{- |-Sets the parent_refcount field of 'GI.Gst.Structs.Structure.Structure'. 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 'GI.Gst.Structs.Structure.Structure', as described in-the MT Refcounting section of the design documents.--}-structureSetParentRefcount ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> Int32-    {- ^ /@refcount@/: a pointer to the parent\'s refcount -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the parent refcount could be set. -}-structureSetParentRefcount structure refcount = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_structure_set_parent_refcount structure' refcount-    let result' = (/= 0) result-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data StructureSetParentRefcountMethodInfo-instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo StructureSetParentRefcountMethodInfo Structure signature where-    overloadedMethod _ = structureSetParentRefcount--#endif---- method Structure::set_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the field to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_set_value" gst_structure_set_value :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-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.--}-structureSetValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of the field to set -}-    -> GValue-    {- ^ /@value@/: the new value of the field -}-    -> m ()-structureSetValue structure fieldname value = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value' <- unsafeManagedPtrGetPtr value-    gst_structure_set_value structure' fieldname' value'-    touchManagedPtr structure-    touchManagedPtr value-    freeMem fieldname'-    return ()--#if ENABLE_OVERLOADING-data StructureSetValueMethodInfo-instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m) => O.MethodInfo StructureSetValueMethodInfo Structure signature where-    overloadedMethod _ = structureSetValue--#endif---- method Structure::take_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fieldname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the field to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value of the field", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_structure_take_value" gst_structure_take_value :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    CString ->                              -- fieldname : TBasicType TUTF8-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-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@/.--}-structureTakeValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> T.Text-    {- ^ /@fieldname@/: the name of the field to set -}-    -> GValue-    {- ^ /@value@/: the new value of the field -}-    -> m ()-structureTakeValue structure fieldname value = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    fieldname' <- textToCString fieldname-    value' <- B.ManagedPtr.disownBoxed value-    gst_structure_take_value structure' fieldname' value'-    touchManagedPtr structure-    touchManagedPtr value-    freeMem fieldname'-    return ()--#if ENABLE_OVERLOADING-data StructureTakeValueMethodInfo-instance (signature ~ (T.Text -> GValue -> m ()), MonadIO m) => O.MethodInfo StructureTakeValueMethodInfo Structure signature where-    overloadedMethod _ = structureTakeValue--#endif---- method Structure::to_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "structure", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_structure_to_string" gst_structure_to_string :: -    Ptr Structure ->                        -- structure : TInterface (Name {namespace = "Gst", name = "Structure"})-    IO CString--{- |-Converts /@structure@/ to a human-readable string representation.--For debugging purposes its easier to do something like this:--=== /C code/->->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 'GI.Gst.Structs.Caps.Caps' \/ 'GI.Gst.Structs.Structure.Structure' deeper than one level.--Free-function: g_free--}-structureToString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Structure-    {- ^ /@structure@/: a 'GI.Gst.Structs.Structure.Structure' -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to string allocated by 'GI.GLib.Functions.malloc'.-    'GI.GLib.Functions.free' after usage. -}-structureToString structure = liftIO $ do-    structure' <- unsafeManagedPtrGetPtr structure-    result <- gst_structure_to_string structure'-    checkUnexpectedReturnNULL "structureToString" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr structure-    return result'--#if ENABLE_OVERLOADING-data StructureToStringMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo StructureToStringMethodInfo Structure signature where-    overloadedMethod _ = structureToString--#endif---- method Structure::from_string--- method type : MemberFunction--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string representation of a #GstStructure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to store the end of the string in.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"}))--- throws : False--- Skip return : False--foreign import ccall "gst_structure_from_string" gst_structure_from_string :: -    CString ->                              -- string : TBasicType TUTF8-    Ptr CString ->                          -- end : TBasicType TUTF8-    IO (Ptr Structure)--{- |-Creates a 'GI.Gst.Structs.Structure.Structure' from a string representation.-If end is not 'Nothing', a pointer to the place inside the given string-where parsing ended will be returned.--Free-function: gst_structure_free--}-structureFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: a string representation of a 'GI.Gst.Structs.Structure.Structure'. -}-    -> m ((Maybe Structure, T.Text))-    {- ^ __Returns:__ a new 'GI.Gst.Structs.Structure.Structure' or 'Nothing'-    when the string could not be parsed. Free with-    'GI.Gst.Structs.Structure.structureFree' after use. -}-structureFromString string = liftIO $ do-    string' <- textToCString string-    end <- allocMem :: IO (Ptr CString)-    result <- gst_structure_from_string string' end-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Structure) result'-        return result''-    end' <- peek end-    end'' <- cstringToText end'-    freeMem string'-    freeMem end-    return (maybeResult, end'')--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveStructureMethod (t :: Symbol) (o :: *) :: * where-    ResolveStructureMethod "canIntersect" o = StructureCanIntersectMethodInfo-    ResolveStructureMethod "copy" o = StructureCopyMethodInfo-    ResolveStructureMethod "filterAndMapInPlace" o = StructureFilterAndMapInPlaceMethodInfo-    ResolveStructureMethod "fixate" o = StructureFixateMethodInfo-    ResolveStructureMethod "fixateField" o = StructureFixateFieldMethodInfo-    ResolveStructureMethod "fixateFieldBoolean" o = StructureFixateFieldBooleanMethodInfo-    ResolveStructureMethod "fixateFieldNearestDouble" o = StructureFixateFieldNearestDoubleMethodInfo-    ResolveStructureMethod "fixateFieldNearestFraction" o = StructureFixateFieldNearestFractionMethodInfo-    ResolveStructureMethod "fixateFieldNearestInt" o = StructureFixateFieldNearestIntMethodInfo-    ResolveStructureMethod "fixateFieldString" o = StructureFixateFieldStringMethodInfo-    ResolveStructureMethod "foreach" o = StructureForeachMethodInfo-    ResolveStructureMethod "free" o = StructureFreeMethodInfo-    ResolveStructureMethod "hasField" o = StructureHasFieldMethodInfo-    ResolveStructureMethod "hasFieldTyped" o = StructureHasFieldTypedMethodInfo-    ResolveStructureMethod "hasName" o = StructureHasNameMethodInfo-    ResolveStructureMethod "idGetValue" o = StructureIdGetValueMethodInfo-    ResolveStructureMethod "idHasField" o = StructureIdHasFieldMethodInfo-    ResolveStructureMethod "idHasFieldTyped" o = StructureIdHasFieldTypedMethodInfo-    ResolveStructureMethod "idSetValue" o = StructureIdSetValueMethodInfo-    ResolveStructureMethod "idTakeValue" o = StructureIdTakeValueMethodInfo-    ResolveStructureMethod "intersect" o = StructureIntersectMethodInfo-    ResolveStructureMethod "isEqual" o = StructureIsEqualMethodInfo-    ResolveStructureMethod "isSubset" o = StructureIsSubsetMethodInfo-    ResolveStructureMethod "mapInPlace" o = StructureMapInPlaceMethodInfo-    ResolveStructureMethod "nFields" o = StructureNFieldsMethodInfo-    ResolveStructureMethod "nthFieldName" o = StructureNthFieldNameMethodInfo-    ResolveStructureMethod "removeAllFields" o = StructureRemoveAllFieldsMethodInfo-    ResolveStructureMethod "removeField" o = StructureRemoveFieldMethodInfo-    ResolveStructureMethod "takeValue" o = StructureTakeValueMethodInfo-    ResolveStructureMethod "toString" o = StructureToStringMethodInfo-    ResolveStructureMethod "getArray" o = StructureGetArrayMethodInfo-    ResolveStructureMethod "getBoolean" o = StructureGetBooleanMethodInfo-    ResolveStructureMethod "getClockTime" o = StructureGetClockTimeMethodInfo-    ResolveStructureMethod "getDate" o = StructureGetDateMethodInfo-    ResolveStructureMethod "getDateTime" o = StructureGetDateTimeMethodInfo-    ResolveStructureMethod "getDouble" o = StructureGetDoubleMethodInfo-    ResolveStructureMethod "getEnum" o = StructureGetEnumMethodInfo-    ResolveStructureMethod "getFieldType" o = StructureGetFieldTypeMethodInfo-    ResolveStructureMethod "getFlagset" o = StructureGetFlagsetMethodInfo-    ResolveStructureMethod "getFraction" o = StructureGetFractionMethodInfo-    ResolveStructureMethod "getInt" o = StructureGetIntMethodInfo-    ResolveStructureMethod "getInt64" o = StructureGetInt64MethodInfo-    ResolveStructureMethod "getList" o = StructureGetListMethodInfo-    ResolveStructureMethod "getName" o = StructureGetNameMethodInfo-    ResolveStructureMethod "getNameId" o = StructureGetNameIdMethodInfo-    ResolveStructureMethod "getString" o = StructureGetStringMethodInfo-    ResolveStructureMethod "getUint" o = StructureGetUintMethodInfo-    ResolveStructureMethod "getUint64" o = StructureGetUint64MethodInfo-    ResolveStructureMethod "getValue" o = StructureGetValueMethodInfo-    ResolveStructureMethod "setArray" o = StructureSetArrayMethodInfo-    ResolveStructureMethod "setList" o = StructureSetListMethodInfo-    ResolveStructureMethod "setName" o = StructureSetNameMethodInfo-    ResolveStructureMethod "setParentRefcount" o = StructureSetParentRefcountMethodInfo-    ResolveStructureMethod "setValue" o = StructureSetValueMethodInfo-    ResolveStructureMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveStructureMethod t Structure, O.MethodInfo info Structure p) => OL.IsLabel t (Structure -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Structure.hs-boot
@@ -1,188 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Structure where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Structure = Structure (ManagedPtr Structure)-instance BoxedObject Structure where-#if ENABLE_OVERLOADING-data StructureCanIntersectMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureFilterAndMapInPlaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureFixateMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureFixateFieldMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureFixateFieldBooleanMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureFixateFieldNearestDoubleMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureFixateFieldNearestFractionMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureFixateFieldNearestIntMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureFixateFieldStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureForeachMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetArrayMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetBooleanMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetClockTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetDateMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetDateTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetDoubleMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetEnumMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetFieldTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetFlagsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetFractionMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetIntMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetInt64MethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetListMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetNameIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetUintMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetUint64MethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureGetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureHasFieldMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureHasFieldTypedMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureHasNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureIdGetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureIdHasFieldMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureIdHasFieldTypedMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureIdSetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureIdTakeValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureIntersectMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureIsEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureIsSubsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureMapInPlaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureNFieldsMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureNthFieldNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureRemoveAllFieldsMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureRemoveFieldMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureSetArrayMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureSetListMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureSetNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureSetParentRefcountMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureSetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureTakeValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data StructureToStringMethodInfo-#endif
− GI/Gst/Structs/TagList.hs
@@ -1,2435 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--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 'Nothing'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.TagList-    ( ---- * Exported types-    TagList(..)                             ,-    newZeroTagList                          ,-    noTagList                               ,--- -- * Methods--- ** addValue #method:addValue#--#if ENABLE_OVERLOADING-    TagListAddValueMethodInfo               ,-#endif-    tagListAddValue                         ,----- ** copyValue #method:copyValue#--    tagListCopyValue                        ,----- ** foreach #method:foreach#--#if ENABLE_OVERLOADING-    TagListForeachMethodInfo                ,-#endif-    tagListForeach                          ,----- ** getBoolean #method:getBoolean#--#if ENABLE_OVERLOADING-    TagListGetBooleanMethodInfo             ,-#endif-    tagListGetBoolean                       ,----- ** getBooleanIndex #method:getBooleanIndex#--#if ENABLE_OVERLOADING-    TagListGetBooleanIndexMethodInfo        ,-#endif-    tagListGetBooleanIndex                  ,----- ** getDate #method:getDate#--#if ENABLE_OVERLOADING-    TagListGetDateMethodInfo                ,-#endif-    tagListGetDate                          ,----- ** getDateIndex #method:getDateIndex#--#if ENABLE_OVERLOADING-    TagListGetDateIndexMethodInfo           ,-#endif-    tagListGetDateIndex                     ,----- ** getDateTime #method:getDateTime#--#if ENABLE_OVERLOADING-    TagListGetDateTimeMethodInfo            ,-#endif-    tagListGetDateTime                      ,----- ** getDateTimeIndex #method:getDateTimeIndex#--#if ENABLE_OVERLOADING-    TagListGetDateTimeIndexMethodInfo       ,-#endif-    tagListGetDateTimeIndex                 ,----- ** getDouble #method:getDouble#--#if ENABLE_OVERLOADING-    TagListGetDoubleMethodInfo              ,-#endif-    tagListGetDouble                        ,----- ** getDoubleIndex #method:getDoubleIndex#--#if ENABLE_OVERLOADING-    TagListGetDoubleIndexMethodInfo         ,-#endif-    tagListGetDoubleIndex                   ,----- ** getFloat #method:getFloat#--#if ENABLE_OVERLOADING-    TagListGetFloatMethodInfo               ,-#endif-    tagListGetFloat                         ,----- ** getFloatIndex #method:getFloatIndex#--#if ENABLE_OVERLOADING-    TagListGetFloatIndexMethodInfo          ,-#endif-    tagListGetFloatIndex                    ,----- ** getInt #method:getInt#--#if ENABLE_OVERLOADING-    TagListGetIntMethodInfo                 ,-#endif-    tagListGetInt                           ,----- ** getInt64 #method:getInt64#--#if ENABLE_OVERLOADING-    TagListGetInt64MethodInfo               ,-#endif-    tagListGetInt64                         ,----- ** getInt64Index #method:getInt64Index#--#if ENABLE_OVERLOADING-    TagListGetInt64IndexMethodInfo          ,-#endif-    tagListGetInt64Index                    ,----- ** getIntIndex #method:getIntIndex#--#if ENABLE_OVERLOADING-    TagListGetIntIndexMethodInfo            ,-#endif-    tagListGetIntIndex                      ,----- ** getPointer #method:getPointer#--#if ENABLE_OVERLOADING-    TagListGetPointerMethodInfo             ,-#endif-    tagListGetPointer                       ,----- ** getPointerIndex #method:getPointerIndex#--#if ENABLE_OVERLOADING-    TagListGetPointerIndexMethodInfo        ,-#endif-    tagListGetPointerIndex                  ,----- ** getSample #method:getSample#--#if ENABLE_OVERLOADING-    TagListGetSampleMethodInfo              ,-#endif-    tagListGetSample                        ,----- ** getSampleIndex #method:getSampleIndex#--#if ENABLE_OVERLOADING-    TagListGetSampleIndexMethodInfo         ,-#endif-    tagListGetSampleIndex                   ,----- ** getScope #method:getScope#--#if ENABLE_OVERLOADING-    TagListGetScopeMethodInfo               ,-#endif-    tagListGetScope                         ,----- ** getString #method:getString#--#if ENABLE_OVERLOADING-    TagListGetStringMethodInfo              ,-#endif-    tagListGetString                        ,----- ** getStringIndex #method:getStringIndex#--#if ENABLE_OVERLOADING-    TagListGetStringIndexMethodInfo         ,-#endif-    tagListGetStringIndex                   ,----- ** getTagSize #method:getTagSize#--#if ENABLE_OVERLOADING-    TagListGetTagSizeMethodInfo             ,-#endif-    tagListGetTagSize                       ,----- ** getUint #method:getUint#--#if ENABLE_OVERLOADING-    TagListGetUintMethodInfo                ,-#endif-    tagListGetUint                          ,----- ** getUint64 #method:getUint64#--#if ENABLE_OVERLOADING-    TagListGetUint64MethodInfo              ,-#endif-    tagListGetUint64                        ,----- ** getUint64Index #method:getUint64Index#--#if ENABLE_OVERLOADING-    TagListGetUint64IndexMethodInfo         ,-#endif-    tagListGetUint64Index                   ,----- ** getUintIndex #method:getUintIndex#--#if ENABLE_OVERLOADING-    TagListGetUintIndexMethodInfo           ,-#endif-    tagListGetUintIndex                     ,----- ** getValueIndex #method:getValueIndex#--#if ENABLE_OVERLOADING-    TagListGetValueIndexMethodInfo          ,-#endif-    tagListGetValueIndex                    ,----- ** insert #method:insert#--#if ENABLE_OVERLOADING-    TagListInsertMethodInfo                 ,-#endif-    tagListInsert                           ,----- ** isEmpty #method:isEmpty#--#if ENABLE_OVERLOADING-    TagListIsEmptyMethodInfo                ,-#endif-    tagListIsEmpty                          ,----- ** isEqual #method:isEqual#--#if ENABLE_OVERLOADING-    TagListIsEqualMethodInfo                ,-#endif-    tagListIsEqual                          ,----- ** merge #method:merge#--#if ENABLE_OVERLOADING-    TagListMergeMethodInfo                  ,-#endif-    tagListMerge                            ,----- ** nTags #method:nTags#--#if ENABLE_OVERLOADING-    TagListNTagsMethodInfo                  ,-#endif-    tagListNTags                            ,----- ** newEmpty #method:newEmpty#--    tagListNewEmpty                         ,----- ** newFromString #method:newFromString#--    tagListNewFromString                    ,----- ** nthTagName #method:nthTagName#--#if ENABLE_OVERLOADING-    TagListNthTagNameMethodInfo             ,-#endif-    tagListNthTagName                       ,----- ** peekStringIndex #method:peekStringIndex#--#if ENABLE_OVERLOADING-    TagListPeekStringIndexMethodInfo        ,-#endif-    tagListPeekStringIndex                  ,----- ** removeTag #method:removeTag#--#if ENABLE_OVERLOADING-    TagListRemoveTagMethodInfo              ,-#endif-    tagListRemoveTag                        ,----- ** setScope #method:setScope#--#if ENABLE_OVERLOADING-    TagListSetScopeMethodInfo               ,-#endif-    tagListSetScope                         ,----- ** toString #method:toString#--#if ENABLE_OVERLOADING-    TagListToStringMethodInfo               ,-#endif-    tagListToString                         ,----- -- * Properties--- ** miniObject #attr:miniObject#-{- | the parent type--}-    getTagListMiniObject                    ,-#if ENABLE_OVERLOADING-    tagList_miniObject                      ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Structs.Date as GLib.Date-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Structs.DateTime as Gst.DateTime-import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject-import {-# SOURCE #-} qualified GI.Gst.Structs.Sample as Gst.Sample---- | Memory-managed wrapper type.-newtype TagList = TagList (ManagedPtr TagList)-foreign import ccall "gst_tag_list_get_type" c_gst_tag_list_get_type :: -    IO GType--instance BoxedObject TagList where-    boxedType _ = c_gst_tag_list_get_type---- | Construct a `TagList` struct initialized to zero.-newZeroTagList :: MonadIO m => m TagList-newZeroTagList = liftIO $ callocBoxedBytes 64 >>= wrapBoxed TagList--instance tag ~ 'AttrSet => Constructible TagList tag where-    new _ attrs = do-        o <- newZeroTagList-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `TagList`.-noTagList :: Maybe TagList-noTagList = Nothing--{- |-Get the value of the “@mini_object@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tagList #miniObject-@--}-getTagListMiniObject :: MonadIO m => TagList -> m Gst.MiniObject.MiniObject-getTagListMiniObject s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 0 :: (Ptr Gst.MiniObject.MiniObject)-    val' <- (newPtr Gst.MiniObject.MiniObject) val-    return val'--#if ENABLE_OVERLOADING-data TagListMiniObjectFieldInfo-instance AttrInfo TagListMiniObjectFieldInfo where-    type AttrAllowedOps TagListMiniObjectFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint TagListMiniObjectFieldInfo = (~) (Ptr Gst.MiniObject.MiniObject)-    type AttrBaseTypeConstraint TagListMiniObjectFieldInfo = (~) TagList-    type AttrGetType TagListMiniObjectFieldInfo = Gst.MiniObject.MiniObject-    type AttrLabel TagListMiniObjectFieldInfo = "mini_object"-    type AttrOrigin TagListMiniObjectFieldInfo = TagList-    attrGet _ = getTagListMiniObject-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--tagList_miniObject :: AttrLabelProxy "miniObject"-tagList_miniObject = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList TagList-type instance O.AttributeList TagList = TagListAttributeList-type TagListAttributeList = ('[ '("miniObject", TagListMiniObjectFieldInfo)] :: [(Symbol, *)])-#endif---- method TagList::new_empty--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_new_empty" gst_tag_list_new_empty :: -    IO (Ptr TagList)--{- |-Creates a new empty GstTagList.--Free-function: gst_tag_list_unref--}-tagListNewEmpty ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m TagList-    {- ^ __Returns:__ An empty tag list -}-tagListNewEmpty  = liftIO $ do-    result <- gst_tag_list_new_empty-    checkUnexpectedReturnNULL "tagListNewEmpty" result-    result' <- (wrapBoxed TagList) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method TagList::new_from_string--- method type : Constructor--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string created with gst_tag_list_to_string()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_new_from_string" gst_tag_list_new_from_string :: -    CString ->                              -- str : TBasicType TUTF8-    IO (Ptr TagList)--{- |-Deserializes a tag list.--}-tagListNewFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a string created with 'GI.Gst.Structs.TagList.tagListToString' -}-    -> m (Maybe TagList)-    {- ^ __Returns:__ a new 'GI.Gst.Structs.TagList.TagList', or 'Nothing' in case of an-error. -}-tagListNewFromString str = liftIO $ do-    str' <- textToCString str-    result <- gst_tag_list_new_from_string str'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed TagList) result'-        return result''-    freeMem str'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method TagList::add_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list to set tags in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "TagMergeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mode to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GValue for this tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_add_value" gst_tag_list_add_value :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr GValue ->                           -- value : TInterface (Name {namespace = "GObject", name = "Value"})-    IO ()--{- |-Sets the GValue for a given tag using the specified mode.--}-tagListAddValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: list to set tags in -}-    -> Gst.Enums.TagMergeMode-    {- ^ /@mode@/: the mode to use -}-    -> T.Text-    {- ^ /@tag@/: tag -}-    -> GValue-    {- ^ /@value@/: GValue for this tag -}-    -> m ()-tagListAddValue list mode tag value = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    let mode' = (fromIntegral . fromEnum) mode-    tag' <- textToCString tag-    value' <- unsafeManagedPtrGetPtr value-    gst_tag_list_add_value list' mode' tag' value'-    touchManagedPtr list-    touchManagedPtr value-    freeMem tag'-    return ()--#if ENABLE_OVERLOADING-data TagListAddValueMethodInfo-instance (signature ~ (Gst.Enums.TagMergeMode -> T.Text -> GValue -> m ()), MonadIO m) => O.MethodInfo TagListAddValueMethodInfo TagList signature where-    overloadedMethod _ = tagListAddValue--#endif---- method TagList::foreach--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list to iterate over", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "TagForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to be called for each tag", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user specified data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_foreach" gst_tag_list_foreach :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    FunPtr Gst.Callbacks.C_TagForeachFunc -> -- func : TInterface (Name {namespace = "Gst", name = "TagForeachFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-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.--}-tagListForeach ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: list to iterate over -}-    -> Gst.Callbacks.TagForeachFunc-    {- ^ /@func@/: function to be called for each tag -}-    -> m ()-tagListForeach list func = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    func' <- Gst.Callbacks.mk_TagForeachFunc (Gst.Callbacks.wrap_TagForeachFunc Nothing (Gst.Callbacks.drop_closures_TagForeachFunc func))-    let userData = nullPtr-    gst_tag_list_foreach list' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr list-    return ()--#if ENABLE_OVERLOADING-data TagListForeachMethodInfo-instance (signature ~ (Gst.Callbacks.TagForeachFunc -> m ()), MonadIO m) => O.MethodInfo TagListForeachMethodInfo TagList signature where-    overloadedMethod _ = tagListForeach--#endif---- method TagList::get_boolean--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_boolean" gst_tag_list_get_boolean :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr CInt ->                             -- value : TBasicType TBoolean-    IO CInt--{- |-Copies the contents for the given tag into the value, merging multiple values-into one if multiple values are associated with the tag.--}-tagListGetBoolean ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Bool))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetBoolean list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CInt)-    result <- gst_tag_list_get_boolean list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    let value'' = (/= 0) value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetBooleanMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Bool))), MonadIO m) => O.MethodInfo TagListGetBooleanMethodInfo TagList signature where-    overloadedMethod _ = tagListGetBoolean--#endif---- method TagList::get_boolean_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_boolean_index" gst_tag_list_get_boolean_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr CInt ->                             -- value : TBasicType TBoolean-    IO CInt--{- |-Gets the value that is at the given index for the given tag in the given-list.--}-tagListGetBooleanIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Bool))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetBooleanIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CInt)-    result <- gst_tag_list_get_boolean_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    let value'' = (/= 0) value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetBooleanIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Bool))), MonadIO m) => O.MethodInfo TagListGetBooleanIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetBooleanIndex--#endif---- method TagList::get_date--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of a GDate pointer\n    variable to store the result into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_date" gst_tag_list_get_date :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr (Ptr GLib.Date.Date) ->             -- value : TInterface (Name {namespace = "GLib", name = "Date"})-    IO CInt--{- |-Copies the first date for the given tag in the taglist into the variable-pointed to by /@value@/. Free the date with 'GI.GLib.Structs.Date.dateFree' when it is no longer-needed.--Free-function: g_date_free--}-tagListGetDate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, GLib.Date.Date))-    {- ^ __Returns:__ 'True', if a date was copied, 'False' if the tag didn\'t exist in the-             given list or if it was 'Nothing'. -}-tagListGetDate list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr (Ptr GLib.Date.Date))-    result <- gst_tag_list_get_date list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- (wrapBoxed GLib.Date.Date) value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetDateMethodInfo-instance (signature ~ (T.Text -> m ((Bool, GLib.Date.Date))), MonadIO m) => O.MethodInfo TagListGetDateMethodInfo TagList signature where-    overloadedMethod _ = tagListGetDate--#endif---- method TagList::get_date_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_date_index" gst_tag_list_get_date_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr (Ptr GLib.Date.Date) ->             -- value : TInterface (Name {namespace = "GLib", name = "Date"})-    IO CInt--{- |-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 'GI.GLib.Structs.Date.dateFree' when it is no longer needed.--Free-function: g_date_free--}-tagListGetDateIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, GLib.Date.Date))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list or if it was 'Nothing'. -}-tagListGetDateIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr (Ptr GLib.Date.Date))-    result <- gst_tag_list_get_date_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- (wrapBoxed GLib.Date.Date) value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetDateIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, GLib.Date.Date))), MonadIO m) => O.MethodInfo TagListGetDateIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetDateIndex--#endif---- method TagList::get_date_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of a #GstDateTime\n    pointer variable to store the result into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_date_time" gst_tag_list_get_date_time :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr (Ptr Gst.DateTime.DateTime) ->      -- value : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CInt--{- |-Copies the first datetime for the given tag in the taglist into the variable-pointed to by /@value@/. Unref the date with 'GI.Gst.Structs.DateTime.dateTimeUnref' when-it is no longer needed.--Free-function: gst_date_time_unref--}-tagListGetDateTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Gst.DateTime.DateTime))-    {- ^ __Returns:__ 'True', if a datetime was copied, 'False' if the tag didn\'t exist in-             the given list or if it was 'Nothing'. -}-tagListGetDateTime list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr (Ptr Gst.DateTime.DateTime))-    result <- gst_tag_list_get_date_time list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- (wrapBoxed Gst.DateTime.DateTime) value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetDateTimeMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Gst.DateTime.DateTime))), MonadIO m) => O.MethodInfo TagListGetDateTimeMethodInfo TagList signature where-    overloadedMethod _ = tagListGetDateTime--#endif---- method TagList::get_date_time_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "Gst", name = "DateTime"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_date_time_index" gst_tag_list_get_date_time_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr (Ptr Gst.DateTime.DateTime) ->      -- value : TInterface (Name {namespace = "Gst", name = "DateTime"})-    IO CInt--{- |-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 'GI.Gst.Structs.DateTime.dateTimeUnref' when it is no longer needed.--Free-function: gst_date_time_unref--}-tagListGetDateTimeIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Gst.DateTime.DateTime))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list or if it was 'Nothing'. -}-tagListGetDateTimeIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr (Ptr Gst.DateTime.DateTime))-    result <- gst_tag_list_get_date_time_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- (wrapBoxed Gst.DateTime.DateTime) value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetDateTimeIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Gst.DateTime.DateTime))), MonadIO m) => O.MethodInfo TagListGetDateTimeIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetDateTimeIndex--#endif---- method TagList::get_double--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_double" gst_tag_list_get_double :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr CDouble ->                          -- value : TBasicType TDouble-    IO CInt--{- |-Copies the contents for the given tag into the value, merging multiple values-into one if multiple values are associated with the tag.--}-tagListGetDouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Double))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetDouble list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CDouble)-    result <- gst_tag_list_get_double list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    let value'' = realToFrac value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetDoubleMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Double))), MonadIO m) => O.MethodInfo TagListGetDoubleMethodInfo TagList signature where-    overloadedMethod _ = tagListGetDouble--#endif---- method TagList::get_double_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_double_index" gst_tag_list_get_double_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr CDouble ->                          -- value : TBasicType TDouble-    IO CInt--{- |-Gets the value that is at the given index for the given tag in the given-list.--}-tagListGetDoubleIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Double))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetDoubleIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CDouble)-    result <- gst_tag_list_get_double_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    let value'' = realToFrac value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetDoubleIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Double))), MonadIO m) => O.MethodInfo TagListGetDoubleIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetDoubleIndex--#endif---- method TagList::get_float--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_float" gst_tag_list_get_float :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr CFloat ->                           -- value : TBasicType TFloat-    IO CInt--{- |-Copies the contents for the given tag into the value, merging multiple values-into one if multiple values are associated with the tag.--}-tagListGetFloat ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Float))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetFloat list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CFloat)-    result <- gst_tag_list_get_float list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    let value'' = realToFrac value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetFloatMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Float))), MonadIO m) => O.MethodInfo TagListGetFloatMethodInfo TagList signature where-    overloadedMethod _ = tagListGetFloat--#endif---- method TagList::get_float_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TFloat, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_float_index" gst_tag_list_get_float_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr CFloat ->                           -- value : TBasicType TFloat-    IO CInt--{- |-Gets the value that is at the given index for the given tag in the given-list.--}-tagListGetFloatIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Float))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetFloatIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CFloat)-    result <- gst_tag_list_get_float_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    let value'' = realToFrac value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetFloatIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Float))), MonadIO m) => O.MethodInfo TagListGetFloatIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetFloatIndex--#endif---- method TagList::get_int--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_int" gst_tag_list_get_int :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr Int32 ->                            -- value : TBasicType TInt-    IO CInt--{- |-Copies the contents for the given tag into the value, merging multiple values-into one if multiple values are associated with the tag.--}-tagListGetInt ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Int32))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetInt list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr Int32)-    result <- gst_tag_list_get_int list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetIntMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Int32))), MonadIO m) => O.MethodInfo TagListGetIntMethodInfo TagList signature where-    overloadedMethod _ = tagListGetInt--#endif---- method TagList::get_int64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_int64" gst_tag_list_get_int64 :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr Int64 ->                            -- value : TBasicType TInt64-    IO CInt--{- |-Copies the contents for the given tag into the value, merging multiple values-into one if multiple values are associated with the tag.--}-tagListGetInt64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetInt64 list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr Int64)-    result <- gst_tag_list_get_int64 list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetInt64MethodInfo-instance (signature ~ (T.Text -> m ((Bool, Int64))), MonadIO m) => O.MethodInfo TagListGetInt64MethodInfo TagList signature where-    overloadedMethod _ = tagListGetInt64--#endif---- method TagList::get_int64_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_int64_index" gst_tag_list_get_int64_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr Int64 ->                            -- value : TBasicType TInt64-    IO CInt--{- |-Gets the value that is at the given index for the given tag in the given-list.--}-tagListGetInt64Index ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetInt64Index list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr Int64)-    result <- gst_tag_list_get_int64_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetInt64IndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Int64))), MonadIO m) => O.MethodInfo TagListGetInt64IndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetInt64Index--#endif---- method TagList::get_int_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_int_index" gst_tag_list_get_int_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr Int32 ->                            -- value : TBasicType TInt-    IO CInt--{- |-Gets the value that is at the given index for the given tag in the given-list.--}-tagListGetIntIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Int32))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetIntIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr Int32)-    result <- gst_tag_list_get_int_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetIntIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Int32))), MonadIO m) => O.MethodInfo TagListGetIntIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetIntIndex--#endif---- method TagList::get_pointer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_pointer" gst_tag_list_get_pointer :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr (Ptr ()) ->                         -- value : TBasicType TPtr-    IO CInt--{- |-Copies the contents for the given tag into the value, merging multiple values-into one if multiple values are associated with the tag.--}-tagListGetPointer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Ptr ()))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetPointer list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr (Ptr ()))-    result <- gst_tag_list_get_pointer list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetPointerMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Ptr ()))), MonadIO m) => O.MethodInfo TagListGetPointerMethodInfo TagList signature where-    overloadedMethod _ = tagListGetPointer--#endif---- method TagList::get_pointer_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_pointer_index" gst_tag_list_get_pointer_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr (Ptr ()) ->                         -- value : TBasicType TPtr-    IO CInt--{- |-Gets the value that is at the given index for the given tag in the given-list.--}-tagListGetPointerIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Ptr ()))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetPointerIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr (Ptr ()))-    result <- gst_tag_list_get_pointer_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetPointerIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Ptr ()))), MonadIO m) => O.MethodInfo TagListGetPointerIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetPointerIndex--#endif---- method TagList::get_sample--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of a GstSample\n    pointer variable to store the result into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_sample" gst_tag_list_get_sample :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr (Ptr Gst.Sample.Sample) ->          -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    IO CInt--{- |-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-'GI.Gst.Structs.Sample.sampleGetBuffer' and the associated caps (if any) with-'GI.Gst.Structs.Sample.sampleGetCaps'.--Free-function: gst_sample_unref--}-tagListGetSample ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Gst.Sample.Sample))-    {- ^ __Returns:__ 'True', if a sample was returned, 'False' if the tag didn\'t exist in-             the given list or if it was 'Nothing'. -}-tagListGetSample list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    sample <- allocMem :: IO (Ptr (Ptr Gst.Sample.Sample))-    result <- gst_tag_list_get_sample list' tag' sample-    let result' = (/= 0) result-    sample' <- peek sample-    sample'' <- (wrapBoxed Gst.Sample.Sample) sample'-    touchManagedPtr list-    freeMem tag'-    freeMem sample-    return (result', sample'')--#if ENABLE_OVERLOADING-data TagListGetSampleMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Gst.Sample.Sample))), MonadIO m) => O.MethodInfo TagListGetSampleMethodInfo TagList signature where-    overloadedMethod _ = tagListGetSample--#endif---- method TagList::get_sample_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "address of a GstSample\n    pointer variable to store the result into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_sample_index" gst_tag_list_get_sample_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr (Ptr Gst.Sample.Sample) ->          -- sample : TInterface (Name {namespace = "Gst", name = "Sample"})-    IO CInt--{- |-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 'GI.Gst.Structs.Sample.sampleGetBuffer' and the associated-caps (if any) with 'GI.Gst.Structs.Sample.sampleGetCaps'.--Free-function: gst_sample_unref--}-tagListGetSampleIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Gst.Sample.Sample))-    {- ^ __Returns:__ 'True', if a sample was copied, 'False' if the tag didn\'t exist in the-             given list or if it was 'Nothing'. -}-tagListGetSampleIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    sample <- allocMem :: IO (Ptr (Ptr Gst.Sample.Sample))-    result <- gst_tag_list_get_sample_index list' tag' index sample-    let result' = (/= 0) result-    sample' <- peek sample-    sample'' <- (wrapBoxed Gst.Sample.Sample) sample'-    touchManagedPtr list-    freeMem tag'-    freeMem sample-    return (result', sample'')--#if ENABLE_OVERLOADING-data TagListGetSampleIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Gst.Sample.Sample))), MonadIO m) => O.MethodInfo TagListGetSampleIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetSampleIndex--#endif---- method TagList::get_scope--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagScope"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_scope" gst_tag_list_get_scope :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO CUInt--{- |-Gets the scope of /@list@/.--}-tagListGetScope ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' -}-    -> m Gst.Enums.TagScope-    {- ^ __Returns:__ The scope of /@list@/ -}-tagListGetScope list = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_tag_list_get_scope list'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr list-    return result'--#if ENABLE_OVERLOADING-data TagListGetScopeMethodInfo-instance (signature ~ (m Gst.Enums.TagScope), MonadIO m) => O.MethodInfo TagListGetScopeMethodInfo TagList signature where-    overloadedMethod _ = tagListGetScope--#endif---- method TagList::get_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_string" gst_tag_list_get_string :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr CString ->                          -- value : TBasicType TUTF8-    IO CInt--{- |-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-'Nothing' and non-empty.--Free-function: g_free--}-tagListGetString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, T.Text))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetString list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CString)-    result <- gst_tag_list_get_string list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- cstringToText value'-    freeMem value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetStringMethodInfo-instance (signature ~ (T.Text -> m ((Bool, T.Text))), MonadIO m) => O.MethodInfo TagListGetStringMethodInfo TagList signature where-    overloadedMethod _ = tagListGetString--#endif---- method TagList::get_string_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_string_index" gst_tag_list_get_string_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr CString ->                          -- value : TBasicType TUTF8-    IO CInt--{- |-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-'Nothing' and non-empty.--Free-function: g_free--}-tagListGetStringIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, T.Text))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetStringIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CString)-    result <- gst_tag_list_get_string_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- cstringToText value'-    freeMem value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListGetStringIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, T.Text))), MonadIO m) => O.MethodInfo TagListGetStringIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetStringIndex--#endif---- method TagList::get_tag_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a taglist", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_tag_size" gst_tag_list_get_tag_size :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    IO Word32--{- |-Checks how many value are stored in this tag list for the given tag.--}-tagListGetTagSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a taglist -}-    -> T.Text-    {- ^ /@tag@/: the tag to query -}-    -> m Word32-    {- ^ __Returns:__ The number of tags stored -}-tagListGetTagSize list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    result <- gst_tag_list_get_tag_size list' tag'-    touchManagedPtr list-    freeMem tag'-    return result--#if ENABLE_OVERLOADING-data TagListGetTagSizeMethodInfo-instance (signature ~ (T.Text -> m Word32), MonadIO m) => O.MethodInfo TagListGetTagSizeMethodInfo TagList signature where-    overloadedMethod _ = tagListGetTagSize--#endif---- method TagList::get_uint--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_uint" gst_tag_list_get_uint :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr Word32 ->                           -- value : TBasicType TUInt-    IO CInt--{- |-Copies the contents for the given tag into the value, merging multiple values-into one if multiple values are associated with the tag.--}-tagListGetUint ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Word32))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetUint list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr Word32)-    result <- gst_tag_list_get_uint list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetUintMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Word32))), MonadIO m) => O.MethodInfo TagListGetUintMethodInfo TagList signature where-    overloadedMethod _ = tagListGetUint--#endif---- method TagList::get_uint64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_uint64" gst_tag_list_get_uint64 :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Ptr Word64 ->                           -- value : TBasicType TUInt64-    IO CInt--{- |-Copies the contents for the given tag into the value, merging multiple values-into one if multiple values are associated with the tag.--}-tagListGetUint64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, Word64))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetUint64 list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr Word64)-    result <- gst_tag_list_get_uint64 list' tag' value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetUint64MethodInfo-instance (signature ~ (T.Text -> m ((Bool, Word64))), MonadIO m) => O.MethodInfo TagListGetUint64MethodInfo TagList signature where-    overloadedMethod _ = tagListGetUint64--#endif---- method TagList::get_uint64_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_uint64_index" gst_tag_list_get_uint64_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr Word64 ->                           -- value : TBasicType TUInt64-    IO CInt--{- |-Gets the value that is at the given index for the given tag in the given-list.--}-tagListGetUint64Index ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Word64))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetUint64Index list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr Word64)-    result <- gst_tag_list_get_uint64_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetUint64IndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Word64))), MonadIO m) => O.MethodInfo TagListGetUint64IndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetUint64Index--#endif---- method TagList::get_uint_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_uint_index" gst_tag_list_get_uint_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr Word32 ->                           -- value : TBasicType TUInt-    IO CInt--{- |-Gets the value that is at the given index for the given tag in the given-list.--}-tagListGetUintIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, Word32))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-             given list. -}-tagListGetUintIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr Word32)-    result <- gst_tag_list_get_uint_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value')--#if ENABLE_OVERLOADING-data TagListGetUintIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, Word32))), MonadIO m) => O.MethodInfo TagListGetUintIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetUintIndex--#endif---- method TagList::get_value_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GObject", name = "Value"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_get_value_index" gst_tag_list_get_value_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    IO (Ptr GValue)--{- |-Gets the value that is at the given index for the given tag in the given-list.--}-tagListGetValueIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m (Maybe GValue)-    {- ^ __Returns:__ The GValue for the specified-         entry or 'Nothing' if the tag wasn\'t available or the tag-         doesn\'t have as many entries -}-tagListGetValueIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    result <- gst_tag_list_get_value_index list' tag' index-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed GValue) result'-        return result''-    touchManagedPtr list-    freeMem tag'-    return maybeResult--#if ENABLE_OVERLOADING-data TagListGetValueIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m (Maybe GValue)), MonadIO m) => O.MethodInfo TagListGetValueIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListGetValueIndex--#endif---- method TagList::insert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "into", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list to merge into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list to merge from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "TagMergeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mode to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_insert" gst_tag_list_insert :: -    Ptr TagList ->                          -- into : TInterface (Name {namespace = "Gst", name = "TagList"})-    Ptr TagList ->                          -- from : TInterface (Name {namespace = "Gst", name = "TagList"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"})-    IO ()--{- |-Inserts the tags of the /@from@/ list into the first list using the given mode.--}-tagListInsert ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@into@/: list to merge into -}-    -> TagList-    {- ^ /@from@/: list to merge from -}-    -> Gst.Enums.TagMergeMode-    {- ^ /@mode@/: the mode to use -}-    -> m ()-tagListInsert into from mode = liftIO $ do-    into' <- unsafeManagedPtrGetPtr into-    from' <- unsafeManagedPtrGetPtr from-    let mode' = (fromIntegral . fromEnum) mode-    gst_tag_list_insert into' from' mode'-    touchManagedPtr into-    touchManagedPtr from-    return ()--#if ENABLE_OVERLOADING-data TagListInsertMethodInfo-instance (signature ~ (TagList -> Gst.Enums.TagMergeMode -> m ()), MonadIO m) => O.MethodInfo TagListInsertMethodInfo TagList signature where-    overloadedMethod _ = tagListInsert--#endif---- method TagList::is_empty--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTagList.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_is_empty" gst_tag_list_is_empty :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO CInt--{- |-Checks if the given taglist is empty.--}-tagListIsEmpty ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: A 'GI.Gst.Structs.TagList.TagList'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the taglist is empty, otherwise 'False'. -}-tagListIsEmpty list = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_tag_list_is_empty list'-    let result' = (/= 0) result-    touchManagedPtr list-    return result'--#if ENABLE_OVERLOADING-data TagListIsEmptyMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TagListIsEmptyMethodInfo TagList signature where-    overloadedMethod _ = tagListIsEmpty--#endif---- method TagList::is_equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list1", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list2", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_is_equal" gst_tag_list_is_equal :: -    Ptr TagList ->                          -- list1 : TInterface (Name {namespace = "Gst", name = "TagList"})-    Ptr TagList ->                          -- list2 : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO CInt--{- |-Checks if the two given taglists are equal.--}-tagListIsEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list1@/: a 'GI.Gst.Structs.TagList.TagList'. -}-    -> TagList-    {- ^ /@list2@/: a 'GI.Gst.Structs.TagList.TagList'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the taglists are equal, otherwise 'False' -}-tagListIsEqual list1 list2 = liftIO $ do-    list1' <- unsafeManagedPtrGetPtr list1-    list2' <- unsafeManagedPtrGetPtr list2-    result <- gst_tag_list_is_equal list1' list2'-    let result' = (/= 0) result-    touchManagedPtr list1-    touchManagedPtr list2-    return result'--#if ENABLE_OVERLOADING-data TagListIsEqualMethodInfo-instance (signature ~ (TagList -> m Bool), MonadIO m) => O.MethodInfo TagListIsEqualMethodInfo TagList signature where-    overloadedMethod _ = tagListIsEqual--#endif---- method TagList::merge--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list1", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "first list to merge", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list2", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "second list to merge", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "TagMergeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mode to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_merge" gst_tag_list_merge :: -    Ptr TagList ->                          -- list1 : TInterface (Name {namespace = "Gst", name = "TagList"})-    Ptr TagList ->                          -- list2 : TInterface (Name {namespace = "Gst", name = "TagList"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"})-    IO (Ptr TagList)--{- |-Merges the two given lists into a new list. If one of the lists is 'Nothing', a-copy of the other is returned. If both lists are 'Nothing', 'Nothing' is returned.--Free-function: gst_tag_list_unref--}-tagListMerge ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list1@/: first list to merge -}-    -> Maybe (TagList)-    {- ^ /@list2@/: second list to merge -}-    -> Gst.Enums.TagMergeMode-    {- ^ /@mode@/: the mode to use -}-    -> m (Maybe TagList)-    {- ^ __Returns:__ the new list -}-tagListMerge list1 list2 mode = liftIO $ do-    list1' <- unsafeManagedPtrGetPtr list1-    maybeList2 <- case list2 of-        Nothing -> return nullPtr-        Just jList2 -> do-            jList2' <- unsafeManagedPtrGetPtr jList2-            return jList2'-    let mode' = (fromIntegral . fromEnum) mode-    result <- gst_tag_list_merge list1' maybeList2 mode'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed TagList) result'-        return result''-    touchManagedPtr list1-    whenJust list2 touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-data TagListMergeMethodInfo-instance (signature ~ (Maybe (TagList) -> Gst.Enums.TagMergeMode -> m (Maybe TagList)), MonadIO m) => O.MethodInfo TagListMergeMethodInfo TagList signature where-    overloadedMethod _ = tagListMerge--#endif---- method TagList::n_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTagList.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_n_tags" gst_tag_list_n_tags :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO Int32--{- |-Get the number of tags in /@list@/.--}-tagListNTags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: A 'GI.Gst.Structs.TagList.TagList'. -}-    -> m Int32-    {- ^ __Returns:__ The number of tags in /@list@/. -}-tagListNTags list = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_tag_list_n_tags list'-    touchManagedPtr list-    return result--#if ENABLE_OVERLOADING-data TagListNTagsMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TagListNTagsMethodInfo TagList signature where-    overloadedMethod _ = tagListNTags--#endif---- method TagList::nth_tag_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTagList.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_nth_tag_name" gst_tag_list_nth_tag_name :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    Word32 ->                               -- index : TBasicType TUInt-    IO CString--{- |-Get the name of the tag in /@list@/ at /@index@/.--}-tagListNthTagName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: A 'GI.Gst.Structs.TagList.TagList'. -}-    -> Word32-    {- ^ /@index@/: the index -}-    -> m T.Text-    {- ^ __Returns:__ The name of the tag at /@index@/. -}-tagListNthTagName list index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_tag_list_nth_tag_name list' index-    checkUnexpectedReturnNULL "tagListNthTagName" result-    result' <- cstringToText result-    touchManagedPtr list-    return result'--#if ENABLE_OVERLOADING-data TagListNthTagNameMethodInfo-instance (signature ~ (Word32 -> m T.Text), MonadIO m) => O.MethodInfo TagListNthTagNameMethodInfo TagList signature where-    overloadedMethod _ = tagListNthTagName--#endif---- method TagList::peek_string_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of entry to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location for the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_peek_string_index" gst_tag_list_peek_string_index :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    Word32 ->                               -- index : TBasicType TUInt-    Ptr CString ->                          -- value : TBasicType TUTF8-    IO CInt--{- |-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-'Nothing' and non-empty.--}-tagListPeekStringIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> Word32-    {- ^ /@index@/: number of entry to read out -}-    -> m ((Bool, T.Text))-    {- ^ __Returns:__ 'True', if a value was set, 'False' if the tag didn\'t exist in the-             given list. -}-tagListPeekStringIndex list tag index = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    value <- allocMem :: IO (Ptr CString)-    result <- gst_tag_list_peek_string_index list' tag' index value-    let result' = (/= 0) result-    value' <- peek value-    value'' <- cstringToText value'-    touchManagedPtr list-    freeMem tag'-    freeMem value-    return (result', value'')--#if ENABLE_OVERLOADING-data TagListPeekStringIndexMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ((Bool, T.Text))), MonadIO m) => O.MethodInfo TagListPeekStringIndexMethodInfo TagList signature where-    overloadedMethod _ = tagListPeekStringIndex--#endif---- method TagList::remove_tag--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list to remove tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_remove_tag" gst_tag_list_remove_tag :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    IO ()--{- |-Removes the given tag from the taglist.--}-tagListRemoveTag ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: list to remove tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to remove -}-    -> m ()-tagListRemoveTag list tag = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    gst_tag_list_remove_tag list' tag'-    touchManagedPtr list-    freeMem tag'-    return ()--#if ENABLE_OVERLOADING-data TagListRemoveTagMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo TagListRemoveTagMethodInfo TagList signature where-    overloadedMethod _ = tagListRemoveTag--#endif---- method TagList::set_scope--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scope", argType = TInterface (Name {namespace = "Gst", name = "TagScope"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new scope for @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_set_scope" gst_tag_list_set_scope :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CUInt ->                                -- scope : TInterface (Name {namespace = "Gst", name = "TagScope"})-    IO ()--{- |-Sets the scope of /@list@/ to /@scope@/. By default the scope-of a taglist is stream scope.--}-tagListSetScope ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' -}-    -> Gst.Enums.TagScope-    {- ^ /@scope@/: new scope for /@list@/ -}-    -> m ()-tagListSetScope list scope = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    let scope' = (fromIntegral . fromEnum) scope-    gst_tag_list_set_scope list' scope'-    touchManagedPtr list-    return ()--#if ENABLE_OVERLOADING-data TagListSetScopeMethodInfo-instance (signature ~ (Gst.Enums.TagScope -> m ()), MonadIO m) => O.MethodInfo TagListSetScopeMethodInfo TagList signature where-    overloadedMethod _ = tagListSetScope--#endif---- method TagList::to_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTagList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_to_string" gst_tag_list_to_string :: -    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO CString--{- |-Serializes a tag list to a string.--}-tagListToString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: a 'GI.Gst.Structs.TagList.TagList' -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ a newly-allocated string, or 'Nothing' in case of-    an error. The string must be freed with 'GI.GLib.Functions.free' when no longer-    needed. -}-tagListToString list = liftIO $ do-    list' <- unsafeManagedPtrGetPtr list-    result <- gst_tag_list_to_string list'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr list-    return maybeResult--#if ENABLE_OVERLOADING-data TagListToStringMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo TagListToStringMethodInfo TagList signature where-    overloadedMethod _ = tagListToString--#endif---- method TagList::copy_value--- method type : MemberFunction--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "uninitialized #GValue to copy into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "list", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "list to get the tag from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "tag to read out", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_tag_list_copy_value" gst_tag_list_copy_value :: -    Ptr GValue ->                           -- dest : TInterface (Name {namespace = "GObject", name = "Value"})-    Ptr TagList ->                          -- list : TInterface (Name {namespace = "Gst", name = "TagList"})-    CString ->                              -- tag : TBasicType TUTF8-    IO CInt--{- |-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 'GI.GObject.Structs.Value.valueUnset' the value after use.--}-tagListCopyValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TagList-    {- ^ /@list@/: list to get the tag from -}-    -> T.Text-    {- ^ /@tag@/: tag to read out -}-    -> m ((Bool, GValue))-    {- ^ __Returns:__ 'True', if a value was copied, 'False' if the tag didn\'t exist in the-         given list. -}-tagListCopyValue list tag = liftIO $ do-    dest <- callocBoxedBytes 24 :: IO (Ptr GValue)-    list' <- unsafeManagedPtrGetPtr list-    tag' <- textToCString tag-    result <- gst_tag_list_copy_value dest list' tag'-    let result' = (/= 0) result-    dest' <- (wrapBoxed GValue) dest-    touchManagedPtr list-    freeMem tag'-    return (result', dest')--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveTagListMethod (t :: Symbol) (o :: *) :: * where-    ResolveTagListMethod "addValue" o = TagListAddValueMethodInfo-    ResolveTagListMethod "foreach" o = TagListForeachMethodInfo-    ResolveTagListMethod "insert" o = TagListInsertMethodInfo-    ResolveTagListMethod "isEmpty" o = TagListIsEmptyMethodInfo-    ResolveTagListMethod "isEqual" o = TagListIsEqualMethodInfo-    ResolveTagListMethod "merge" o = TagListMergeMethodInfo-    ResolveTagListMethod "nTags" o = TagListNTagsMethodInfo-    ResolveTagListMethod "nthTagName" o = TagListNthTagNameMethodInfo-    ResolveTagListMethod "peekStringIndex" o = TagListPeekStringIndexMethodInfo-    ResolveTagListMethod "removeTag" o = TagListRemoveTagMethodInfo-    ResolveTagListMethod "toString" o = TagListToStringMethodInfo-    ResolveTagListMethod "getBoolean" o = TagListGetBooleanMethodInfo-    ResolveTagListMethod "getBooleanIndex" o = TagListGetBooleanIndexMethodInfo-    ResolveTagListMethod "getDate" o = TagListGetDateMethodInfo-    ResolveTagListMethod "getDateIndex" o = TagListGetDateIndexMethodInfo-    ResolveTagListMethod "getDateTime" o = TagListGetDateTimeMethodInfo-    ResolveTagListMethod "getDateTimeIndex" o = TagListGetDateTimeIndexMethodInfo-    ResolveTagListMethod "getDouble" o = TagListGetDoubleMethodInfo-    ResolveTagListMethod "getDoubleIndex" o = TagListGetDoubleIndexMethodInfo-    ResolveTagListMethod "getFloat" o = TagListGetFloatMethodInfo-    ResolveTagListMethod "getFloatIndex" o = TagListGetFloatIndexMethodInfo-    ResolveTagListMethod "getInt" o = TagListGetIntMethodInfo-    ResolveTagListMethod "getInt64" o = TagListGetInt64MethodInfo-    ResolveTagListMethod "getInt64Index" o = TagListGetInt64IndexMethodInfo-    ResolveTagListMethod "getIntIndex" o = TagListGetIntIndexMethodInfo-    ResolveTagListMethod "getPointer" o = TagListGetPointerMethodInfo-    ResolveTagListMethod "getPointerIndex" o = TagListGetPointerIndexMethodInfo-    ResolveTagListMethod "getSample" o = TagListGetSampleMethodInfo-    ResolveTagListMethod "getSampleIndex" o = TagListGetSampleIndexMethodInfo-    ResolveTagListMethod "getScope" o = TagListGetScopeMethodInfo-    ResolveTagListMethod "getString" o = TagListGetStringMethodInfo-    ResolveTagListMethod "getStringIndex" o = TagListGetStringIndexMethodInfo-    ResolveTagListMethod "getTagSize" o = TagListGetTagSizeMethodInfo-    ResolveTagListMethod "getUint" o = TagListGetUintMethodInfo-    ResolveTagListMethod "getUint64" o = TagListGetUint64MethodInfo-    ResolveTagListMethod "getUint64Index" o = TagListGetUint64IndexMethodInfo-    ResolveTagListMethod "getUintIndex" o = TagListGetUintIndexMethodInfo-    ResolveTagListMethod "getValueIndex" o = TagListGetValueIndexMethodInfo-    ResolveTagListMethod "setScope" o = TagListSetScopeMethodInfo-    ResolveTagListMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTagListMethod t TagList, O.MethodInfo info TagList p) => OL.IsLabel t (TagList -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/TagList.hs-boot
@@ -1,143 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.TagList where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TagList = TagList (ManagedPtr TagList)-instance BoxedObject TagList where-#if ENABLE_OVERLOADING-data TagListAddValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListForeachMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetBooleanMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetBooleanIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetDateMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetDateIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetDateTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetDateTimeIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetDoubleMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetDoubleIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetFloatMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetFloatIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetIntMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetInt64MethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetInt64IndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetIntIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetPointerMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetPointerIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetSampleMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetSampleIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetScopeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetStringIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetTagSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetUintMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetUint64MethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetUint64IndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetUintIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListGetValueIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListInsertMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListIsEmptyMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListIsEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListMergeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListNTagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListNthTagNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListPeekStringIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListRemoveTagMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListSetScopeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TagListToStringMethodInfo-#endif
− GI/Gst/Structs/TimedValue.hs
@@ -1,203 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Structure for saving a timestamp and a value.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.TimedValue-    ( ---- * Exported types-    TimedValue(..)                          ,-    newZeroTimedValue                       ,-    noTimedValue                            ,--- -- * Properties--- ** timestamp #attr:timestamp#-{- | timestamp of the value change--}-    getTimedValueTimestamp                  ,-    setTimedValueTimestamp                  ,-#if ENABLE_OVERLOADING-    timedValue_timestamp                    ,-#endif----- ** value #attr:value#-{- | the corresponding value--}-    getTimedValueValue                      ,-    setTimedValueValue                      ,-#if ENABLE_OVERLOADING-    timedValue_value                        ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL----- | Memory-managed wrapper type.-newtype TimedValue = TimedValue (ManagedPtr TimedValue)-instance WrappedPtr TimedValue where-    wrappedPtrCalloc = callocBytes 16-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr TimedValue)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `TimedValue` struct initialized to zero.-newZeroTimedValue :: MonadIO m => m TimedValue-newZeroTimedValue = liftIO $ wrappedPtrCalloc >>= wrapPtr TimedValue--instance tag ~ 'AttrSet => Constructible TimedValue tag where-    new _ attrs = do-        o <- newZeroTimedValue-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `TimedValue`.-noTimedValue :: Maybe TimedValue-noTimedValue = Nothing--{- |-Get the value of the “@timestamp@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' timedValue #timestamp-@--}-getTimedValueTimestamp :: MonadIO m => TimedValue -> m Word64-getTimedValueTimestamp s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word64-    return val--{- |-Set the value of the “@timestamp@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' timedValue [ #timestamp 'Data.GI.Base.Attributes.:=' value ]-@--}-setTimedValueTimestamp :: MonadIO m => TimedValue -> Word64 -> m ()-setTimedValueTimestamp s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Word64)--#if ENABLE_OVERLOADING-data TimedValueTimestampFieldInfo-instance AttrInfo TimedValueTimestampFieldInfo where-    type AttrAllowedOps TimedValueTimestampFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TimedValueTimestampFieldInfo = (~) Word64-    type AttrBaseTypeConstraint TimedValueTimestampFieldInfo = (~) TimedValue-    type AttrGetType TimedValueTimestampFieldInfo = Word64-    type AttrLabel TimedValueTimestampFieldInfo = "timestamp"-    type AttrOrigin TimedValueTimestampFieldInfo = TimedValue-    attrGet _ = getTimedValueTimestamp-    attrSet _ = setTimedValueTimestamp-    attrConstruct = undefined-    attrClear _ = undefined--timedValue_timestamp :: AttrLabelProxy "timestamp"-timedValue_timestamp = AttrLabelProxy--#endif---{- |-Get the value of the “@value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' timedValue #value-@--}-getTimedValueValue :: MonadIO m => TimedValue -> m Double-getTimedValueValue s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CDouble-    let val' = realToFrac val-    return val'--{- |-Set the value of the “@value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' timedValue [ #value 'Data.GI.Base.Attributes.:=' value ]-@--}-setTimedValueValue :: MonadIO m => TimedValue -> Double -> m ()-setTimedValueValue s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = realToFrac val-    poke (ptr `plusPtr` 8) (val' :: CDouble)--#if ENABLE_OVERLOADING-data TimedValueValueFieldInfo-instance AttrInfo TimedValueValueFieldInfo where-    type AttrAllowedOps TimedValueValueFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TimedValueValueFieldInfo = (~) Double-    type AttrBaseTypeConstraint TimedValueValueFieldInfo = (~) TimedValue-    type AttrGetType TimedValueValueFieldInfo = Double-    type AttrLabel TimedValueValueFieldInfo = "value"-    type AttrOrigin TimedValueValueFieldInfo = TimedValue-    attrGet _ = getTimedValueValue-    attrSet _ = setTimedValueValue-    attrConstruct = undefined-    attrClear _ = undefined--timedValue_value :: AttrLabelProxy "value"-timedValue_value = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList TimedValue-type instance O.AttributeList TimedValue = TimedValueAttributeList-type TimedValueAttributeList = ('[ '("timestamp", TimedValueTimestampFieldInfo), '("value", TimedValueValueFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveTimedValueMethod (t :: Symbol) (o :: *) :: * where-    ResolveTimedValueMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTimedValueMethod t TimedValue, O.MethodInfo info TimedValue p) => OL.IsLabel t (TimedValue -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/TimedValue.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.TimedValue where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TimedValue = TimedValue (ManagedPtr TimedValue)-instance WrappedPtr TimedValue where
− GI/Gst/Structs/Toc.hs
@@ -1,544 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--'GI.Gst.Structs.Toc.Toc' functions are used to create\/free 'GI.Gst.Structs.Toc.Toc' and 'GI.Gst.Structs.TocEntry.TocEntry' structures.-Also they are used to convert 'GI.Gst.Structs.Toc.Toc' into 'GI.Gst.Structs.Structure.Structure' and vice versa.--'GI.Gst.Structs.Toc.Toc' 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 'GI.Gst.Structs.Toc.Toc' structure which represents root-contents of the source. You can also attach TOC-specific tags to it. Then fill-it with 'GI.Gst.Structs.TocEntry.TocEntry' entries by appending them to the 'GI.Gst.Structs.Toc.Toc' using-'GI.Gst.Structs.Toc.tocAppendEntry', and appending subentries to a 'GI.Gst.Structs.TocEntry.TocEntry' using-'GI.Gst.Structs.TocEntry.tocEntryAppendSubEntry'.--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 'GI.Gst.Structs.Event.eventNewToc' to create a new TOC 'GI.Gst.Structs.Event.Event', and 'GI.Gst.Structs.Event.eventParseToc' to-parse received TOC event. Use 'GI.Gst.Structs.Event.eventNewTocSelect' to create a new TOC select 'GI.Gst.Structs.Event.Event',-and 'GI.Gst.Structs.Event.eventParseTocSelect' to parse received TOC select event. The same rule for-the 'GI.Gst.Structs.Message.Message': 'GI.Gst.Structs.Message.messageNewToc' to create new TOC 'GI.Gst.Structs.Message.Message', and-'GI.Gst.Structs.Message.messageParseToc' 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).--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Toc-    ( ---- * Exported types-    Toc(..)                                 ,-    noToc                                   ,--- -- * Methods--- ** appendEntry #method:appendEntry#--#if ENABLE_OVERLOADING-    TocAppendEntryMethodInfo                ,-#endif-    tocAppendEntry                          ,----- ** dump #method:dump#--#if ENABLE_OVERLOADING-    TocDumpMethodInfo                       ,-#endif-    tocDump                                 ,----- ** findEntry #method:findEntry#--#if ENABLE_OVERLOADING-    TocFindEntryMethodInfo                  ,-#endif-    tocFindEntry                            ,----- ** getEntries #method:getEntries#--#if ENABLE_OVERLOADING-    TocGetEntriesMethodInfo                 ,-#endif-    tocGetEntries                           ,----- ** getScope #method:getScope#--#if ENABLE_OVERLOADING-    TocGetScopeMethodInfo                   ,-#endif-    tocGetScope                             ,----- ** getTags #method:getTags#--#if ENABLE_OVERLOADING-    TocGetTagsMethodInfo                    ,-#endif-    tocGetTags                              ,----- ** mergeTags #method:mergeTags#--#if ENABLE_OVERLOADING-    TocMergeTagsMethodInfo                  ,-#endif-    tocMergeTags                            ,----- ** new #method:new#--    tocNew                                  ,----- ** setTags #method:setTags#--#if ENABLE_OVERLOADING-    TocSetTagsMethodInfo                    ,-#endif-    tocSetTags                              ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList-import {-# SOURCE #-} qualified GI.Gst.Structs.TocEntry as Gst.TocEntry---- | Memory-managed wrapper type.-newtype Toc = Toc (ManagedPtr Toc)-foreign import ccall "gst_toc_get_type" c_gst_toc_get_type :: -    IO GType--instance BoxedObject Toc where-    boxedType _ = c_gst_toc_get_type---- | A convenience alias for `Nothing` :: `Maybe` `Toc`.-noToc :: Maybe Toc-noToc = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Toc-type instance O.AttributeList Toc = TocAttributeList-type TocAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Toc::new--- method type : Constructor--- Args : [Arg {argCName = "scope", argType = TInterface (Name {namespace = "Gst", name = "TocScope"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "scope of this TOC", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Toc"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_new" gst_toc_new :: -    CUInt ->                                -- scope : TInterface (Name {namespace = "Gst", name = "TocScope"})-    IO (Ptr Toc)--{- |-Create a new 'GI.Gst.Structs.Toc.Toc' structure.--}-tocNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.TocScope-    {- ^ /@scope@/: scope of this TOC -}-    -> m Toc-    {- ^ __Returns:__ newly allocated 'GI.Gst.Structs.Toc.Toc' structure, free it-    with @/gst_toc_unref()/@. -}-tocNew scope = liftIO $ do-    let scope' = (fromIntegral . fromEnum) scope-    result <- gst_toc_new scope'-    checkUnexpectedReturnNULL "tocNew" result-    result' <- (wrapBoxed Toc) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Toc::append_entry--- method type : OrdinaryMethod--- Args : [Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstToc instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_append_entry" gst_toc_append_entry :: -    Ptr Toc ->                              -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    Ptr Gst.TocEntry.TocEntry ->            -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO ()--{- |-Appends the 'GI.Gst.Structs.TocEntry.TocEntry' /@entry@/ to /@toc@/.--}-tocAppendEntry ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Toc-    {- ^ /@toc@/: A 'GI.Gst.Structs.Toc.Toc' instance -}-    -> Gst.TocEntry.TocEntry-    {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' -}-    -> m ()-tocAppendEntry toc entry = liftIO $ do-    toc' <- unsafeManagedPtrGetPtr toc-    entry' <- B.ManagedPtr.disownBoxed entry-    gst_toc_append_entry toc' entry'-    touchManagedPtr toc-    touchManagedPtr entry-    return ()--#if ENABLE_OVERLOADING-data TocAppendEntryMethodInfo-instance (signature ~ (Gst.TocEntry.TocEntry -> m ()), MonadIO m) => O.MethodInfo TocAppendEntryMethodInfo Toc signature where-    overloadedMethod _ = tocAppendEntry--#endif---- method Toc::dump--- method type : OrdinaryMethod--- Args : [Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_dump" gst_toc_dump :: -    Ptr Toc ->                              -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    IO ()--{- |-/No description available in the introspection data./--}-tocDump ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Toc-    -> m ()-tocDump toc = liftIO $ do-    toc' <- unsafeManagedPtrGetPtr toc-    gst_toc_dump toc'-    touchManagedPtr toc-    return ()--#if ENABLE_OVERLOADING-data TocDumpMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TocDumpMethodInfo Toc signature where-    overloadedMethod _ = tocDump--#endif---- method Toc::find_entry--- method type : OrdinaryMethod--- Args : [Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstToc to search in.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "UID to find #GstTocEntry with.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TocEntry"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_find_entry" gst_toc_find_entry :: -    Ptr Toc ->                              -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    CString ->                              -- uid : TBasicType TUTF8-    IO (Ptr Gst.TocEntry.TocEntry)--{- |-Find 'GI.Gst.Structs.TocEntry.TocEntry' with given /@uid@/ in the /@toc@/.--}-tocFindEntry ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Toc-    {- ^ /@toc@/: 'GI.Gst.Structs.Toc.Toc' to search in. -}-    -> T.Text-    {- ^ /@uid@/: UID to find 'GI.Gst.Structs.TocEntry.TocEntry' with. -}-    -> m (Maybe Gst.TocEntry.TocEntry)-    {- ^ __Returns:__ 'GI.Gst.Structs.TocEntry.TocEntry' with specified-/@uid@/ from the /@toc@/, or 'Nothing' if not found. -}-tocFindEntry toc uid = liftIO $ do-    toc' <- unsafeManagedPtrGetPtr toc-    uid' <- textToCString uid-    result <- gst_toc_find_entry toc' uid'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed Gst.TocEntry.TocEntry) result'-        return result''-    touchManagedPtr toc-    freeMem uid'-    return maybeResult--#if ENABLE_OVERLOADING-data TocFindEntryMethodInfo-instance (signature ~ (T.Text -> m (Maybe Gst.TocEntry.TocEntry)), MonadIO m) => O.MethodInfo TocFindEntryMethodInfo Toc signature where-    overloadedMethod _ = tocFindEntry--#endif---- method Toc::get_entries--- method type : OrdinaryMethod--- Args : [Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstToc instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "TocEntry"})))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_get_entries" gst_toc_get_entries :: -    Ptr Toc ->                              -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    IO (Ptr (GList (Ptr Gst.TocEntry.TocEntry)))--{- |-Gets the list of 'GI.Gst.Structs.TocEntry.TocEntry' of /@toc@/.--}-tocGetEntries ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Toc-    {- ^ /@toc@/: A 'GI.Gst.Structs.Toc.Toc' instance -}-    -> m [Gst.TocEntry.TocEntry]-    {- ^ __Returns:__ A 'GI.GLib.Structs.List.List' of 'GI.Gst.Structs.TocEntry.TocEntry' for /@entry@/ -}-tocGetEntries toc = liftIO $ do-    toc' <- unsafeManagedPtrGetPtr toc-    result <- gst_toc_get_entries toc'-    result' <- unpackGList result-    result'' <- mapM (newBoxed Gst.TocEntry.TocEntry) result'-    touchManagedPtr toc-    return result''--#if ENABLE_OVERLOADING-data TocGetEntriesMethodInfo-instance (signature ~ (m [Gst.TocEntry.TocEntry]), MonadIO m) => O.MethodInfo TocGetEntriesMethodInfo Toc signature where-    overloadedMethod _ = tocGetEntries--#endif---- method Toc::get_scope--- method type : OrdinaryMethod--- Args : [Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstToc instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TocScope"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_get_scope" gst_toc_get_scope :: -    Ptr Toc ->                              -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    IO CUInt--{- |-/No description available in the introspection data./--}-tocGetScope ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Toc-    {- ^ /@toc@/: a 'GI.Gst.Structs.Toc.Toc' instance -}-    -> m Gst.Enums.TocScope-    {- ^ __Returns:__ scope of /@toc@/ -}-tocGetScope toc = liftIO $ do-    toc' <- unsafeManagedPtrGetPtr toc-    result <- gst_toc_get_scope toc'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr toc-    return result'--#if ENABLE_OVERLOADING-data TocGetScopeMethodInfo-instance (signature ~ (m Gst.Enums.TocScope), MonadIO m) => O.MethodInfo TocGetScopeMethodInfo Toc signature where-    overloadedMethod _ = tocGetScope--#endif---- method Toc::get_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstToc instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_get_tags" gst_toc_get_tags :: -    Ptr Toc ->                              -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    IO (Ptr Gst.TagList.TagList)--{- |-Gets the tags for /@toc@/.--}-tocGetTags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Toc-    {- ^ /@toc@/: A 'GI.Gst.Structs.Toc.Toc' instance -}-    -> m Gst.TagList.TagList-    {- ^ __Returns:__ A 'GI.Gst.Structs.TagList.TagList' for /@entry@/ -}-tocGetTags toc = liftIO $ do-    toc' <- unsafeManagedPtrGetPtr toc-    result <- gst_toc_get_tags toc'-    checkUnexpectedReturnNULL "tocGetTags" result-    result' <- (newBoxed Gst.TagList.TagList) result-    touchManagedPtr toc-    return result'--#if ENABLE_OVERLOADING-data TocGetTagsMethodInfo-instance (signature ~ (m Gst.TagList.TagList), MonadIO m) => O.MethodInfo TocGetTagsMethodInfo Toc signature where-    overloadedMethod _ = tocGetTags--#endif---- method Toc::merge_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstToc instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GstTagList or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "TagMergeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTagMergeMode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_merge_tags" gst_toc_merge_tags :: -    Ptr Toc ->                              -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    Ptr Gst.TagList.TagList ->              -- tags : TInterface (Name {namespace = "Gst", name = "TagList"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"})-    IO ()--{- |-Merge /@tags@/ into the existing tags of /@toc@/ using /@mode@/.--}-tocMergeTags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Toc-    {- ^ /@toc@/: A 'GI.Gst.Structs.Toc.Toc' instance -}-    -> Maybe (Gst.TagList.TagList)-    {- ^ /@tags@/: A 'GI.Gst.Structs.TagList.TagList' or 'Nothing' -}-    -> Gst.Enums.TagMergeMode-    {- ^ /@mode@/: A 'GI.Gst.Enums.TagMergeMode' -}-    -> m ()-tocMergeTags toc tags mode = liftIO $ do-    toc' <- unsafeManagedPtrGetPtr toc-    maybeTags <- case tags of-        Nothing -> return nullPtr-        Just jTags -> do-            jTags' <- unsafeManagedPtrGetPtr jTags-            return jTags'-    let mode' = (fromIntegral . fromEnum) mode-    gst_toc_merge_tags toc' maybeTags mode'-    touchManagedPtr toc-    whenJust tags touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data TocMergeTagsMethodInfo-instance (signature ~ (Maybe (Gst.TagList.TagList) -> Gst.Enums.TagMergeMode -> m ()), MonadIO m) => O.MethodInfo TocMergeTagsMethodInfo Toc signature where-    overloadedMethod _ = tocMergeTags--#endif---- method Toc::set_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "toc", argType = TInterface (Name {namespace = "Gst", name = "Toc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstToc instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GstTagList or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_set_tags" gst_toc_set_tags :: -    Ptr Toc ->                              -- toc : TInterface (Name {namespace = "Gst", name = "Toc"})-    Ptr Gst.TagList.TagList ->              -- tags : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO ()--{- |-Set a 'GI.Gst.Structs.TagList.TagList' with tags for the complete /@toc@/.--}-tocSetTags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Toc-    {- ^ /@toc@/: A 'GI.Gst.Structs.Toc.Toc' instance -}-    -> Maybe (Gst.TagList.TagList)-    {- ^ /@tags@/: A 'GI.Gst.Structs.TagList.TagList' or 'Nothing' -}-    -> m ()-tocSetTags toc tags = liftIO $ do-    toc' <- unsafeManagedPtrGetPtr toc-    maybeTags <- case tags of-        Nothing -> return nullPtr-        Just jTags -> do-            jTags' <- B.ManagedPtr.disownBoxed jTags-            return jTags'-    gst_toc_set_tags toc' maybeTags-    touchManagedPtr toc-    whenJust tags touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data TocSetTagsMethodInfo-instance (signature ~ (Maybe (Gst.TagList.TagList) -> m ()), MonadIO m) => O.MethodInfo TocSetTagsMethodInfo Toc signature where-    overloadedMethod _ = tocSetTags--#endif--#if ENABLE_OVERLOADING-type family ResolveTocMethod (t :: Symbol) (o :: *) :: * where-    ResolveTocMethod "appendEntry" o = TocAppendEntryMethodInfo-    ResolveTocMethod "dump" o = TocDumpMethodInfo-    ResolveTocMethod "findEntry" o = TocFindEntryMethodInfo-    ResolveTocMethod "mergeTags" o = TocMergeTagsMethodInfo-    ResolveTocMethod "getEntries" o = TocGetEntriesMethodInfo-    ResolveTocMethod "getScope" o = TocGetScopeMethodInfo-    ResolveTocMethod "getTags" o = TocGetTagsMethodInfo-    ResolveTocMethod "setTags" o = TocSetTagsMethodInfo-    ResolveTocMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTocMethod t Toc, O.MethodInfo info Toc p) => OL.IsLabel t (Toc -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Toc.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Toc where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Toc = Toc (ManagedPtr Toc)-instance BoxedObject Toc where-#if ENABLE_OVERLOADING-data TocAppendEntryMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocDumpMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocFindEntryMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocGetEntriesMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocGetScopeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocGetTagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocMergeTagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocSetTagsMethodInfo-#endif
− GI/Gst/Structs/TocEntry.hs
@@ -1,847 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--/No description available in the introspection data./--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.TocEntry-    ( ---- * Exported types-    TocEntry(..)                            ,-    noTocEntry                              ,--- -- * Methods--- ** appendSubEntry #method:appendSubEntry#--#if ENABLE_OVERLOADING-    TocEntryAppendSubEntryMethodInfo        ,-#endif-    tocEntryAppendSubEntry                  ,----- ** getEntryType #method:getEntryType#--#if ENABLE_OVERLOADING-    TocEntryGetEntryTypeMethodInfo          ,-#endif-    tocEntryGetEntryType                    ,----- ** getLoop #method:getLoop#--#if ENABLE_OVERLOADING-    TocEntryGetLoopMethodInfo               ,-#endif-    tocEntryGetLoop                         ,----- ** getParent #method:getParent#--#if ENABLE_OVERLOADING-    TocEntryGetParentMethodInfo             ,-#endif-    tocEntryGetParent                       ,----- ** getStartStopTimes #method:getStartStopTimes#--#if ENABLE_OVERLOADING-    TocEntryGetStartStopTimesMethodInfo     ,-#endif-    tocEntryGetStartStopTimes               ,----- ** getSubEntries #method:getSubEntries#--#if ENABLE_OVERLOADING-    TocEntryGetSubEntriesMethodInfo         ,-#endif-    tocEntryGetSubEntries                   ,----- ** getTags #method:getTags#--#if ENABLE_OVERLOADING-    TocEntryGetTagsMethodInfo               ,-#endif-    tocEntryGetTags                         ,----- ** getToc #method:getToc#--#if ENABLE_OVERLOADING-    TocEntryGetTocMethodInfo                ,-#endif-    tocEntryGetToc                          ,----- ** getUid #method:getUid#--#if ENABLE_OVERLOADING-    TocEntryGetUidMethodInfo                ,-#endif-    tocEntryGetUid                          ,----- ** isAlternative #method:isAlternative#--#if ENABLE_OVERLOADING-    TocEntryIsAlternativeMethodInfo         ,-#endif-    tocEntryIsAlternative                   ,----- ** isSequence #method:isSequence#--#if ENABLE_OVERLOADING-    TocEntryIsSequenceMethodInfo            ,-#endif-    tocEntryIsSequence                      ,----- ** mergeTags #method:mergeTags#--#if ENABLE_OVERLOADING-    TocEntryMergeTagsMethodInfo             ,-#endif-    tocEntryMergeTags                       ,----- ** new #method:new#--    tocEntryNew                             ,----- ** setLoop #method:setLoop#--#if ENABLE_OVERLOADING-    TocEntrySetLoopMethodInfo               ,-#endif-    tocEntrySetLoop                         ,----- ** setStartStopTimes #method:setStartStopTimes#--#if ENABLE_OVERLOADING-    TocEntrySetStartStopTimesMethodInfo     ,-#endif-    tocEntrySetStartStopTimes               ,----- ** setTags #method:setTags#--#if ENABLE_OVERLOADING-    TocEntrySetTagsMethodInfo               ,-#endif-    tocEntrySetTags                         ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums-import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList-import {-# SOURCE #-} qualified GI.Gst.Structs.Toc as Gst.Toc---- | Memory-managed wrapper type.-newtype TocEntry = TocEntry (ManagedPtr TocEntry)-foreign import ccall "gst_toc_entry_get_type" c_gst_toc_entry_get_type :: -    IO GType--instance BoxedObject TocEntry where-    boxedType _ = c_gst_toc_entry_get_type---- | A convenience alias for `Nothing` :: `Maybe` `TocEntry`.-noTocEntry :: Maybe TocEntry-noTocEntry = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList TocEntry-type instance O.AttributeList TocEntry = TocEntryAttributeList-type TocEntryAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method TocEntry::new--- method type : Constructor--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "TocEntryType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "entry type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "unique ID (UID) in the whole TOC.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TocEntry"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_new" gst_toc_entry_new :: -    CInt ->                                 -- type : TInterface (Name {namespace = "Gst", name = "TocEntryType"})-    CString ->                              -- uid : TBasicType TUTF8-    IO (Ptr TocEntry)--{- |-Create new 'GI.Gst.Structs.TocEntry.TocEntry' structure.--}-tocEntryNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.TocEntryType-    {- ^ /@type@/: entry type. -}-    -> T.Text-    {- ^ /@uid@/: unique ID (UID) in the whole TOC. -}-    -> m TocEntry-    {- ^ __Returns:__ newly allocated 'GI.Gst.Structs.TocEntry.TocEntry' structure, free it with @/gst_toc_entry_unref()/@. -}-tocEntryNew type_ uid = liftIO $ do-    let type_' = (fromIntegral . fromEnum) type_-    uid' <- textToCString uid-    result <- gst_toc_entry_new type_' uid'-    checkUnexpectedReturnNULL "tocEntryNew" result-    result' <- (wrapBoxed TocEntry) result-    freeMem uid'-    return result'--#if ENABLE_OVERLOADING-#endif---- method TocEntry::append_sub_entry--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subentry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_append_sub_entry" gst_toc_entry_append_sub_entry :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    Ptr TocEntry ->                         -- subentry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO ()--{- |-Appends the 'GI.Gst.Structs.TocEntry.TocEntry' /@subentry@/ to /@entry@/.--}-tocEntryAppendSubEntry ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -}-    -> TocEntry-    {- ^ /@subentry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' -}-    -> m ()-tocEntryAppendSubEntry entry subentry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    subentry' <- B.ManagedPtr.disownBoxed subentry-    gst_toc_entry_append_sub_entry entry' subentry'-    touchManagedPtr entry-    touchManagedPtr subentry-    return ()--#if ENABLE_OVERLOADING-data TocEntryAppendSubEntryMethodInfo-instance (signature ~ (TocEntry -> m ()), MonadIO m) => O.MethodInfo TocEntryAppendSubEntryMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryAppendSubEntry--#endif---- method TocEntry::get_entry_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTocEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TocEntryType"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_get_entry_type" gst_toc_entry_get_entry_type :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO CInt--{- |-/No description available in the introspection data./--}-tocEntryGetEntryType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: a 'GI.Gst.Structs.TocEntry.TocEntry' -}-    -> m Gst.Enums.TocEntryType-    {- ^ __Returns:__ /@entry@/\'s entry type -}-tocEntryGetEntryType entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    result <- gst_toc_entry_get_entry_type entry'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr entry-    return result'--#if ENABLE_OVERLOADING-data TocEntryGetEntryTypeMethodInfo-instance (signature ~ (m Gst.Enums.TocEntryType), MonadIO m) => O.MethodInfo TocEntryGetEntryTypeMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryGetEntryType--#endif---- method TocEntry::get_loop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstTocEntry to get values from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "loop_type", argType = TInterface (Name {namespace = "Gst", name = "TocLoopType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the loop_type\n            value, leave %NULL if not need.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "repeat_count", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the repeat_count\n               value, leave %NULL if not need.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_get_loop" gst_toc_entry_get_loop :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    Ptr CUInt ->                            -- loop_type : TInterface (Name {namespace = "Gst", name = "TocLoopType"})-    Ptr Int32 ->                            -- repeat_count : TBasicType TInt-    IO CInt--{- |-Get /@loopType@/ and /@repeatCount@/ 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.--/Since: 1.4/--}-tocEntryGetLoop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: 'GI.Gst.Structs.TocEntry.TocEntry' to get values from. -}-    -> m ((Bool, Gst.Enums.TocLoopType, Int32))-    {- ^ __Returns:__ 'True' if all non-'Nothing' storage pointers were filled with appropriate-values, 'False' otherwise. -}-tocEntryGetLoop entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    loopType <- allocMem :: IO (Ptr CUInt)-    repeatCount <- allocMem :: IO (Ptr Int32)-    result <- gst_toc_entry_get_loop entry' loopType repeatCount-    let result' = (/= 0) result-    loopType' <- peek loopType-    let loopType'' = (toEnum . fromIntegral) loopType'-    repeatCount' <- peek repeatCount-    touchManagedPtr entry-    freeMem loopType-    freeMem repeatCount-    return (result', loopType'', repeatCount')--#if ENABLE_OVERLOADING-data TocEntryGetLoopMethodInfo-instance (signature ~ (m ((Bool, Gst.Enums.TocLoopType, Int32))), MonadIO m) => O.MethodInfo TocEntryGetLoopMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryGetLoop--#endif---- method TocEntry::get_parent--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TocEntry"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_get_parent" gst_toc_entry_get_parent :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO (Ptr TocEntry)--{- |-Gets the parent 'GI.Gst.Structs.TocEntry.TocEntry' of /@entry@/.--}-tocEntryGetParent ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -}-    -> m (Maybe TocEntry)-    {- ^ __Returns:__ The parent 'GI.Gst.Structs.TocEntry.TocEntry' of /@entry@/ -}-tocEntryGetParent entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    result <- gst_toc_entry_get_parent entry'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed TocEntry) result'-        return result''-    touchManagedPtr entry-    return maybeResult--#if ENABLE_OVERLOADING-data TocEntryGetParentMethodInfo-instance (signature ~ (m (Maybe TocEntry)), MonadIO m) => O.MethodInfo TocEntryGetParentMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryGetParent--#endif---- method TocEntry::get_start_stop_times--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstTocEntry to get values from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the start value, leave\n  %NULL if not need.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the stop value, leave\n  %NULL if not need.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_get_start_stop_times" gst_toc_entry_get_start_stop_times :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    Ptr Int64 ->                            -- start : TBasicType TInt64-    Ptr Int64 ->                            -- stop : TBasicType TInt64-    IO CInt--{- |-Get /@start@/ and /@stop@/ values from the /@entry@/ and write them into appropriate-storages.--}-tocEntryGetStartStopTimes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: 'GI.Gst.Structs.TocEntry.TocEntry' to get values from. -}-    -> m ((Bool, Int64, Int64))-    {- ^ __Returns:__ 'True' if all non-'Nothing' storage pointers were filled with appropriate-values, 'False' otherwise. -}-tocEntryGetStartStopTimes entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    start <- allocMem :: IO (Ptr Int64)-    stop <- allocMem :: IO (Ptr Int64)-    result <- gst_toc_entry_get_start_stop_times entry' start stop-    let result' = (/= 0) result-    start' <- peek start-    stop' <- peek stop-    touchManagedPtr entry-    freeMem start-    freeMem stop-    return (result', start', stop')--#if ENABLE_OVERLOADING-data TocEntryGetStartStopTimesMethodInfo-instance (signature ~ (m ((Bool, Int64, Int64))), MonadIO m) => O.MethodInfo TocEntryGetStartStopTimesMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryGetStartStopTimes--#endif---- method TocEntry::get_sub_entries--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "TocEntry"})))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_get_sub_entries" gst_toc_entry_get_sub_entries :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO (Ptr (GList (Ptr TocEntry)))--{- |-Gets the sub-entries of /@entry@/.--}-tocEntryGetSubEntries ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -}-    -> m [TocEntry]-    {- ^ __Returns:__ A 'GI.GLib.Structs.List.List' of 'GI.Gst.Structs.TocEntry.TocEntry' of /@entry@/ -}-tocEntryGetSubEntries entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    result <- gst_toc_entry_get_sub_entries entry'-    result' <- unpackGList result-    result'' <- mapM (newBoxed TocEntry) result'-    touchManagedPtr entry-    return result''--#if ENABLE_OVERLOADING-data TocEntryGetSubEntriesMethodInfo-instance (signature ~ (m [TocEntry]), MonadIO m) => O.MethodInfo TocEntryGetSubEntriesMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryGetSubEntries--#endif---- method TocEntry::get_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_get_tags" gst_toc_entry_get_tags :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO (Ptr Gst.TagList.TagList)--{- |-Gets the tags for /@entry@/.--}-tocEntryGetTags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -}-    -> m Gst.TagList.TagList-    {- ^ __Returns:__ A 'GI.Gst.Structs.TagList.TagList' for /@entry@/ -}-tocEntryGetTags entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    result <- gst_toc_entry_get_tags entry'-    checkUnexpectedReturnNULL "tocEntryGetTags" result-    result' <- (newBoxed Gst.TagList.TagList) result-    touchManagedPtr entry-    return result'--#if ENABLE_OVERLOADING-data TocEntryGetTagsMethodInfo-instance (signature ~ (m Gst.TagList.TagList), MonadIO m) => O.MethodInfo TocEntryGetTagsMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryGetTags--#endif---- method TocEntry::get_toc--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Toc"}))--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_get_toc" gst_toc_entry_get_toc :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO (Ptr Gst.Toc.Toc)--{- |-Gets the parent 'GI.Gst.Structs.Toc.Toc' of /@entry@/.--}-tocEntryGetToc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -}-    -> m Gst.Toc.Toc-    {- ^ __Returns:__ The parent 'GI.Gst.Structs.Toc.Toc' of /@entry@/ -}-tocEntryGetToc entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    result <- gst_toc_entry_get_toc entry'-    checkUnexpectedReturnNULL "tocEntryGetToc" result-    result' <- (newBoxed Gst.Toc.Toc) result-    touchManagedPtr entry-    return result'--#if ENABLE_OVERLOADING-data TocEntryGetTocMethodInfo-instance (signature ~ (m Gst.Toc.Toc), MonadIO m) => O.MethodInfo TocEntryGetTocMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryGetToc--#endif---- method TocEntry::get_uid--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_get_uid" gst_toc_entry_get_uid :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO CString--{- |-Gets the UID of /@entry@/.--}-tocEntryGetUid ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -}-    -> m T.Text-    {- ^ __Returns:__ The UID of /@entry@/ -}-tocEntryGetUid entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    result <- gst_toc_entry_get_uid entry'-    checkUnexpectedReturnNULL "tocEntryGetUid" result-    result' <- cstringToText result-    touchManagedPtr entry-    return result'--#if ENABLE_OVERLOADING-data TocEntryGetUidMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo TocEntryGetUidMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryGetUid--#endif---- method TocEntry::is_alternative--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTocEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_is_alternative" gst_toc_entry_is_alternative :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO CInt--{- |-/No description available in the introspection data./--}-tocEntryIsAlternative ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: a 'GI.Gst.Structs.TocEntry.TocEntry' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@entry@/\'s type is an alternative type, otherwise 'False' -}-tocEntryIsAlternative entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    result <- gst_toc_entry_is_alternative entry'-    let result' = (/= 0) result-    touchManagedPtr entry-    return result'--#if ENABLE_OVERLOADING-data TocEntryIsAlternativeMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TocEntryIsAlternativeMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryIsAlternative--#endif---- method TocEntry::is_sequence--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTocEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_is_sequence" gst_toc_entry_is_sequence :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    IO CInt--{- |-/No description available in the introspection data./--}-tocEntryIsSequence ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: a 'GI.Gst.Structs.TocEntry.TocEntry' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@entry@/\'s type is a sequence type, otherwise 'False' -}-tocEntryIsSequence entry = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    result <- gst_toc_entry_is_sequence entry'-    let result' = (/= 0) result-    touchManagedPtr entry-    return result'--#if ENABLE_OVERLOADING-data TocEntryIsSequenceMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TocEntryIsSequenceMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryIsSequence--#endif---- method TocEntry::merge_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GstTagList or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "TagMergeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTagMergeMode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_merge_tags" gst_toc_entry_merge_tags :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    Ptr Gst.TagList.TagList ->              -- tags : TInterface (Name {namespace = "Gst", name = "TagList"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"})-    IO ()--{- |-Merge /@tags@/ into the existing tags of /@entry@/ using /@mode@/.--}-tocEntryMergeTags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -}-    -> Maybe (Gst.TagList.TagList)-    {- ^ /@tags@/: A 'GI.Gst.Structs.TagList.TagList' or 'Nothing' -}-    -> Gst.Enums.TagMergeMode-    {- ^ /@mode@/: A 'GI.Gst.Enums.TagMergeMode' -}-    -> m ()-tocEntryMergeTags entry tags mode = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    maybeTags <- case tags of-        Nothing -> return nullPtr-        Just jTags -> do-            jTags' <- unsafeManagedPtrGetPtr jTags-            return jTags'-    let mode' = (fromIntegral . fromEnum) mode-    gst_toc_entry_merge_tags entry' maybeTags mode'-    touchManagedPtr entry-    whenJust tags touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data TocEntryMergeTagsMethodInfo-instance (signature ~ (Maybe (Gst.TagList.TagList) -> Gst.Enums.TagMergeMode -> m ()), MonadIO m) => O.MethodInfo TocEntryMergeTagsMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntryMergeTags--#endif---- method TocEntry::set_loop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstTocEntry to set values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "loop_type", argType = TInterface (Name {namespace = "Gst", name = "TocLoopType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "loop_type value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "repeat_count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "repeat_count value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_set_loop" gst_toc_entry_set_loop :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    CUInt ->                                -- loop_type : TInterface (Name {namespace = "Gst", name = "TocLoopType"})-    Int32 ->                                -- repeat_count : TBasicType TInt-    IO ()--{- |-Set /@loopType@/ and /@repeatCount@/ values for the /@entry@/.--/Since: 1.4/--}-tocEntrySetLoop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: 'GI.Gst.Structs.TocEntry.TocEntry' to set values. -}-    -> Gst.Enums.TocLoopType-    {- ^ /@loopType@/: loop_type value to set. -}-    -> Int32-    {- ^ /@repeatCount@/: repeat_count value to set. -}-    -> m ()-tocEntrySetLoop entry loopType repeatCount = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    let loopType' = (fromIntegral . fromEnum) loopType-    gst_toc_entry_set_loop entry' loopType' repeatCount-    touchManagedPtr entry-    return ()--#if ENABLE_OVERLOADING-data TocEntrySetLoopMethodInfo-instance (signature ~ (Gst.Enums.TocLoopType -> Int32 -> m ()), MonadIO m) => O.MethodInfo TocEntrySetLoopMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntrySetLoop--#endif---- method TocEntry::set_start_stop_times--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstTocEntry to set values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "stop value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_set_start_stop_times" gst_toc_entry_set_start_stop_times :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    Int64 ->                                -- start : TBasicType TInt64-    Int64 ->                                -- stop : TBasicType TInt64-    IO ()--{- |-Set /@start@/ and /@stop@/ values for the /@entry@/.--}-tocEntrySetStartStopTimes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: 'GI.Gst.Structs.TocEntry.TocEntry' to set values. -}-    -> Int64-    {- ^ /@start@/: start value to set. -}-    -> Int64-    {- ^ /@stop@/: stop value to set. -}-    -> m ()-tocEntrySetStartStopTimes entry start stop = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    gst_toc_entry_set_start_stop_times entry' start stop-    touchManagedPtr entry-    return ()--#if ENABLE_OVERLOADING-data TocEntrySetStartStopTimesMethodInfo-instance (signature ~ (Int64 -> Int64 -> m ()), MonadIO m) => O.MethodInfo TocEntrySetStartStopTimesMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntrySetStartStopTimes--#endif---- method TocEntry::set_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GstTagList or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_toc_entry_set_tags" gst_toc_entry_set_tags :: -    Ptr TocEntry ->                         -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"})-    Ptr Gst.TagList.TagList ->              -- tags : TInterface (Name {namespace = "Gst", name = "TagList"})-    IO ()--{- |-Set a 'GI.Gst.Structs.TagList.TagList' with tags for the complete /@entry@/.--}-tocEntrySetTags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TocEntry-    {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -}-    -> Maybe (Gst.TagList.TagList)-    {- ^ /@tags@/: A 'GI.Gst.Structs.TagList.TagList' or 'Nothing' -}-    -> m ()-tocEntrySetTags entry tags = liftIO $ do-    entry' <- unsafeManagedPtrGetPtr entry-    maybeTags <- case tags of-        Nothing -> return nullPtr-        Just jTags -> do-            jTags' <- B.ManagedPtr.disownBoxed jTags-            return jTags'-    gst_toc_entry_set_tags entry' maybeTags-    touchManagedPtr entry-    whenJust tags touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data TocEntrySetTagsMethodInfo-instance (signature ~ (Maybe (Gst.TagList.TagList) -> m ()), MonadIO m) => O.MethodInfo TocEntrySetTagsMethodInfo TocEntry signature where-    overloadedMethod _ = tocEntrySetTags--#endif--#if ENABLE_OVERLOADING-type family ResolveTocEntryMethod (t :: Symbol) (o :: *) :: * where-    ResolveTocEntryMethod "appendSubEntry" o = TocEntryAppendSubEntryMethodInfo-    ResolveTocEntryMethod "isAlternative" o = TocEntryIsAlternativeMethodInfo-    ResolveTocEntryMethod "isSequence" o = TocEntryIsSequenceMethodInfo-    ResolveTocEntryMethod "mergeTags" o = TocEntryMergeTagsMethodInfo-    ResolveTocEntryMethod "getEntryType" o = TocEntryGetEntryTypeMethodInfo-    ResolveTocEntryMethod "getLoop" o = TocEntryGetLoopMethodInfo-    ResolveTocEntryMethod "getParent" o = TocEntryGetParentMethodInfo-    ResolveTocEntryMethod "getStartStopTimes" o = TocEntryGetStartStopTimesMethodInfo-    ResolveTocEntryMethod "getSubEntries" o = TocEntryGetSubEntriesMethodInfo-    ResolveTocEntryMethod "getTags" o = TocEntryGetTagsMethodInfo-    ResolveTocEntryMethod "getToc" o = TocEntryGetTocMethodInfo-    ResolveTocEntryMethod "getUid" o = TocEntryGetUidMethodInfo-    ResolveTocEntryMethod "setLoop" o = TocEntrySetLoopMethodInfo-    ResolveTocEntryMethod "setStartStopTimes" o = TocEntrySetStartStopTimesMethodInfo-    ResolveTocEntryMethod "setTags" o = TocEntrySetTagsMethodInfo-    ResolveTocEntryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTocEntryMethod t TocEntry, O.MethodInfo info TocEntry p) => OL.IsLabel t (TocEntry -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/TocEntry.hs-boot
@@ -1,71 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.TocEntry where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TocEntry = TocEntry (ManagedPtr TocEntry)-instance BoxedObject TocEntry where-#if ENABLE_OVERLOADING-data TocEntryAppendSubEntryMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryGetEntryTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryGetLoopMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryGetParentMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryGetStartStopTimesMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryGetSubEntriesMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryGetTagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryGetTocMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryGetUidMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryIsAlternativeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryIsSequenceMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntryMergeTagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntrySetLoopMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntrySetStartStopTimesMethodInfo-#endif-#if ENABLE_OVERLOADING-data TocEntrySetTagsMethodInfo-#endif
− GI/Gst/Structs/TypeFind.hs
@@ -1,608 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The following functions allow you to detect the media type of an unknown-stream.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.TypeFind-    ( ---- * Exported types-    TypeFind(..)                            ,-    newZeroTypeFind                         ,-    noTypeFind                              ,--- -- * Methods--- ** getLength #method:getLength#--#if ENABLE_OVERLOADING-    TypeFindGetLengthMethodInfo             ,-#endif-    typeFindGetLength                       ,----- ** peek #method:peek#--#if ENABLE_OVERLOADING-    TypeFindPeekMethodInfo                  ,-#endif-    typeFindPeek                            ,----- ** register #method:register#--    typeFindRegister                        ,----- ** suggest #method:suggest#--#if ENABLE_OVERLOADING-    TypeFindSuggestMethodInfo               ,-#endif-    typeFindSuggest                         ,----- -- * Properties--- ** data #attr:data#-{- | The data used by the caller of the typefinding function.--}-    clearTypeFindData                       ,-    getTypeFindData                         ,-    setTypeFindData                         ,-#if ENABLE_OVERLOADING-    typeFind_data                           ,-#endif----- ** getLength #attr:getLength#-{- | /No description available in the introspection data./--}-    clearTypeFindGetLength                  ,-    getTypeFindGetLength                    ,-    setTypeFindGetLength                    ,-#if ENABLE_OVERLOADING-    typeFind_getLength                      ,-#endif----- ** peek #attr:peek#-{- | /No description available in the introspection data./--}-    clearTypeFindPeek                       ,-    getTypeFindPeek                         ,-    setTypeFindPeek                         ,-#if ENABLE_OVERLOADING-    typeFind_peek                           ,-#endif----- ** suggest #attr:suggest#-{- | /No description available in the introspection data./--}-    clearTypeFindSuggest                    ,-    getTypeFindSuggest                      ,-    setTypeFindSuggest                      ,-#if ENABLE_OVERLOADING-    typeFind_suggest                        ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.GLib.Callbacks as GLib.Callbacks-import qualified GI.Gst.Callbacks as Gst.Callbacks-import {-# SOURCE #-} qualified GI.Gst.Objects.Plugin as Gst.Plugin-import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps---- | Memory-managed wrapper type.-newtype TypeFind = TypeFind (ManagedPtr TypeFind)-instance WrappedPtr TypeFind where-    wrappedPtrCalloc = callocBytes 64-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr TypeFind)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `TypeFind` struct initialized to zero.-newZeroTypeFind :: MonadIO m => m TypeFind-newZeroTypeFind = liftIO $ wrappedPtrCalloc >>= wrapPtr TypeFind--instance tag ~ 'AttrSet => Constructible TypeFind tag where-    new _ attrs = do-        o <- newZeroTypeFind-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `TypeFind`.-noTypeFind :: Maybe TypeFind-noTypeFind = Nothing--{- |-Get the value of the “@peek@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' typeFind #peek-@--}-getTypeFindPeek :: MonadIO m => TypeFind -> m (Maybe Gst.Callbacks.TypeFindPeekFieldCallback)-getTypeFindPeek s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr Gst.Callbacks.C_TypeFindPeekFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_TypeFindPeekFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@peek@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' typeFind [ #peek 'Data.GI.Base.Attributes.:=' value ]-@--}-setTypeFindPeek :: MonadIO m => TypeFind -> FunPtr Gst.Callbacks.C_TypeFindPeekFieldCallback -> m ()-setTypeFindPeek s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: FunPtr Gst.Callbacks.C_TypeFindPeekFieldCallback)--{- |-Set the value of the “@peek@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #peek-@--}-clearTypeFindPeek :: MonadIO m => TypeFind -> m ()-clearTypeFindPeek s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_TypeFindPeekFieldCallback)--#if ENABLE_OVERLOADING-data TypeFindPeekFieldInfo-instance AttrInfo TypeFindPeekFieldInfo where-    type AttrAllowedOps TypeFindPeekFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TypeFindPeekFieldInfo = (~) (FunPtr Gst.Callbacks.C_TypeFindPeekFieldCallback)-    type AttrBaseTypeConstraint TypeFindPeekFieldInfo = (~) TypeFind-    type AttrGetType TypeFindPeekFieldInfo = Maybe Gst.Callbacks.TypeFindPeekFieldCallback-    type AttrLabel TypeFindPeekFieldInfo = "peek"-    type AttrOrigin TypeFindPeekFieldInfo = TypeFind-    attrGet _ = getTypeFindPeek-    attrSet _ = setTypeFindPeek-    attrConstruct = undefined-    attrClear _ = clearTypeFindPeek--typeFind_peek :: AttrLabelProxy "peek"-typeFind_peek = AttrLabelProxy--#endif---{- |-Get the value of the “@suggest@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' typeFind #suggest-@--}-getTypeFindSuggest :: MonadIO m => TypeFind -> m (Maybe Gst.Callbacks.TypeFindSuggestFieldCallback)-getTypeFindSuggest s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr Gst.Callbacks.C_TypeFindSuggestFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_TypeFindSuggestFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@suggest@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' typeFind [ #suggest 'Data.GI.Base.Attributes.:=' value ]-@--}-setTypeFindSuggest :: MonadIO m => TypeFind -> FunPtr Gst.Callbacks.C_TypeFindSuggestFieldCallback -> m ()-setTypeFindSuggest s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: FunPtr Gst.Callbacks.C_TypeFindSuggestFieldCallback)--{- |-Set the value of the “@suggest@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #suggest-@--}-clearTypeFindSuggest :: MonadIO m => TypeFind -> m ()-clearTypeFindSuggest s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_TypeFindSuggestFieldCallback)--#if ENABLE_OVERLOADING-data TypeFindSuggestFieldInfo-instance AttrInfo TypeFindSuggestFieldInfo where-    type AttrAllowedOps TypeFindSuggestFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TypeFindSuggestFieldInfo = (~) (FunPtr Gst.Callbacks.C_TypeFindSuggestFieldCallback)-    type AttrBaseTypeConstraint TypeFindSuggestFieldInfo = (~) TypeFind-    type AttrGetType TypeFindSuggestFieldInfo = Maybe Gst.Callbacks.TypeFindSuggestFieldCallback-    type AttrLabel TypeFindSuggestFieldInfo = "suggest"-    type AttrOrigin TypeFindSuggestFieldInfo = TypeFind-    attrGet _ = getTypeFindSuggest-    attrSet _ = setTypeFindSuggest-    attrConstruct = undefined-    attrClear _ = clearTypeFindSuggest--typeFind_suggest :: AttrLabelProxy "suggest"-typeFind_suggest = AttrLabelProxy--#endif---{- |-Get the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' typeFind #data-@--}-getTypeFindData :: MonadIO m => TypeFind -> m (Ptr ())-getTypeFindData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr ())-    return val--{- |-Set the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' typeFind [ #data 'Data.GI.Base.Attributes.:=' value ]-@--}-setTypeFindData :: MonadIO m => TypeFind -> Ptr () -> m ()-setTypeFindData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Ptr ())--{- |-Set the value of the “@data@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #data-@--}-clearTypeFindData :: MonadIO m => TypeFind -> m ()-clearTypeFindData s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data TypeFindDataFieldInfo-instance AttrInfo TypeFindDataFieldInfo where-    type AttrAllowedOps TypeFindDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TypeFindDataFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint TypeFindDataFieldInfo = (~) TypeFind-    type AttrGetType TypeFindDataFieldInfo = Ptr ()-    type AttrLabel TypeFindDataFieldInfo = "data"-    type AttrOrigin TypeFindDataFieldInfo = TypeFind-    attrGet _ = getTypeFindData-    attrSet _ = setTypeFindData-    attrConstruct = undefined-    attrClear _ = clearTypeFindData--typeFind_data :: AttrLabelProxy "data"-typeFind_data = AttrLabelProxy--#endif---{- |-Get the value of the “@get_length@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' typeFind #getLength-@--}-getTypeFindGetLength :: MonadIO m => TypeFind -> m (Maybe Gst.Callbacks.TypeFindGetLengthFieldCallback)-getTypeFindGetLength s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr Gst.Callbacks.C_TypeFindGetLengthFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_TypeFindGetLengthFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@get_length@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' typeFind [ #getLength 'Data.GI.Base.Attributes.:=' value ]-@--}-setTypeFindGetLength :: MonadIO m => TypeFind -> FunPtr Gst.Callbacks.C_TypeFindGetLengthFieldCallback -> m ()-setTypeFindGetLength s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: FunPtr Gst.Callbacks.C_TypeFindGetLengthFieldCallback)--{- |-Set the value of the “@get_length@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #getLength-@--}-clearTypeFindGetLength :: MonadIO m => TypeFind -> m ()-clearTypeFindGetLength s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_TypeFindGetLengthFieldCallback)--#if ENABLE_OVERLOADING-data TypeFindGetLengthFieldInfo-instance AttrInfo TypeFindGetLengthFieldInfo where-    type AttrAllowedOps TypeFindGetLengthFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TypeFindGetLengthFieldInfo = (~) (FunPtr Gst.Callbacks.C_TypeFindGetLengthFieldCallback)-    type AttrBaseTypeConstraint TypeFindGetLengthFieldInfo = (~) TypeFind-    type AttrGetType TypeFindGetLengthFieldInfo = Maybe Gst.Callbacks.TypeFindGetLengthFieldCallback-    type AttrLabel TypeFindGetLengthFieldInfo = "get_length"-    type AttrOrigin TypeFindGetLengthFieldInfo = TypeFind-    attrGet _ = getTypeFindGetLength-    attrSet _ = setTypeFindGetLength-    attrConstruct = undefined-    attrClear _ = clearTypeFindGetLength--typeFind_getLength :: AttrLabelProxy "getLength"-typeFind_getLength = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList TypeFind-type instance O.AttributeList TypeFind = TypeFindAttributeList-type TypeFindAttributeList = ('[ '("peek", TypeFindPeekFieldInfo), '("suggest", TypeFindSuggestFieldInfo), '("data", TypeFindDataFieldInfo), '("getLength", TypeFindGetLengthFieldInfo)] :: [(Symbol, *)])-#endif---- method TypeFind::get_length--- method type : OrdinaryMethod--- Args : [Arg {argCName = "find", argType = TInterface (Name {namespace = "Gst", name = "TypeFind"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTypeFind the function was called with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_get_length" gst_type_find_get_length :: -    Ptr TypeFind ->                         -- find : TInterface (Name {namespace = "Gst", name = "TypeFind"})-    IO Word64--{- |-Get the length of the data stream.--}-typeFindGetLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TypeFind-    {- ^ /@find@/: The 'GI.Gst.Structs.TypeFind.TypeFind' the function was called with -}-    -> m Word64-    {- ^ __Returns:__ The length of the data stream, or 0 if it is not available. -}-typeFindGetLength find = liftIO $ do-    find' <- unsafeManagedPtrGetPtr find-    result <- gst_type_find_get_length find'-    touchManagedPtr find-    return result--#if ENABLE_OVERLOADING-data TypeFindGetLengthMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo TypeFindGetLengthMethodInfo TypeFind signature where-    overloadedMethod _ = typeFindGetLength--#endif---- method TypeFind::peek--- method type : OrdinaryMethod--- Args : [Arg {argCName = "find", argType = TInterface (Name {namespace = "Gst", name = "TypeFind"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTypeFind object the function was called with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of bytes to return", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of bytes to return", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 2 (TBasicType TUInt8))--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_peek" gst_type_find_peek :: -    Ptr TypeFind ->                         -- find : TInterface (Name {namespace = "Gst", name = "TypeFind"})-    Int64 ->                                -- offset : TBasicType TInt64-    Ptr Word32 ->                           -- size : TBasicType TUInt-    IO (Ptr Word8)--{- |-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.--}-typeFindPeek ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TypeFind-    {- ^ /@find@/: The 'GI.Gst.Structs.TypeFind.TypeFind' object the function was called with -}-    -> Int64-    {- ^ /@offset@/: The offset -}-    -> m (Maybe ByteString)-    {- ^ __Returns:__ the-    requested data, or 'Nothing' if that data is not available. -}-typeFindPeek find offset = liftIO $ do-    find' <- unsafeManagedPtrGetPtr find-    size <- allocMem :: IO (Ptr Word32)-    result <- gst_type_find_peek find' offset size-    size' <- peek size-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (unpackByteStringWithLength size') result'-        return result''-    touchManagedPtr find-    freeMem size-    return maybeResult--#if ENABLE_OVERLOADING-data TypeFindPeekMethodInfo-instance (signature ~ (Int64 -> m (Maybe ByteString)), MonadIO m) => O.MethodInfo TypeFindPeekMethodInfo TypeFind signature where-    overloadedMethod _ = typeFindPeek--#endif---- method TypeFind::suggest--- method type : OrdinaryMethod--- Args : [Arg {argCName = "find", argType = TInterface (Name {namespace = "Gst", name = "TypeFind"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTypeFind object the function was called with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "probability", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The probability in percent that the suggestion is right", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The fixed #GstCaps to suggest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_suggest" gst_type_find_suggest :: -    Ptr TypeFind ->                         -- find : TInterface (Name {namespace = "Gst", name = "TypeFind"})-    Word32 ->                               -- probability : TBasicType TUInt-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-If a 'GI.Gst.Callbacks.TypeFindFunction' calls this function it suggests the caps with the-given probability. A 'GI.Gst.Callbacks.TypeFindFunction' may supply different suggestions-in one call.-It is up to the caller of the 'GI.Gst.Callbacks.TypeFindFunction' to interpret these values.--}-typeFindSuggest ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TypeFind-    {- ^ /@find@/: The 'GI.Gst.Structs.TypeFind.TypeFind' object the function was called with -}-    -> Word32-    {- ^ /@probability@/: The probability in percent that the suggestion is right -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: The fixed 'GI.Gst.Structs.Caps.Caps' to suggest -}-    -> m ()-typeFindSuggest find probability caps = liftIO $ do-    find' <- unsafeManagedPtrGetPtr find-    caps' <- unsafeManagedPtrGetPtr caps-    gst_type_find_suggest find' probability caps'-    touchManagedPtr find-    touchManagedPtr caps-    return ()--#if ENABLE_OVERLOADING-data TypeFindSuggestMethodInfo-instance (signature ~ (Word32 -> Gst.Caps.Caps -> m ()), MonadIO m) => O.MethodInfo TypeFindSuggestMethodInfo TypeFind signature where-    overloadedMethod _ = typeFindSuggest--#endif---- method TypeFind::register--- method type : MemberFunction--- Args : [Arg {argCName = "plugin", argType = TInterface (Name {namespace = "Gst", name = "Plugin"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GstPlugin, or %NULL for a static typefind function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name for registering", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rank", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The rank (or importance) of this typefind function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "Gst", name = "TypeFindFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstTypeFindFunction to use", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 6, argDestroy = 7, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extensions", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional comma-separated list of extensions\n    that could belong to this type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "possible_caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Optionally the caps that could be returned when typefinding\n                succeeds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional user data. This user data must be available until the plugin\n       is unloaded.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data_notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDestroyNotify that will be called on @data when the plugin\n       is unloaded.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_register" gst_type_find_register :: -    Ptr Gst.Plugin.Plugin ->                -- plugin : TInterface (Name {namespace = "Gst", name = "Plugin"})-    CString ->                              -- name : TBasicType TUTF8-    Word32 ->                               -- rank : TBasicType TUInt-    FunPtr Gst.Callbacks.C_TypeFindFunction -> -- func : TInterface (Name {namespace = "Gst", name = "TypeFindFunction"})-    CString ->                              -- extensions : TBasicType TUTF8-    Ptr Gst.Caps.Caps ->                    -- possible_caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- data_notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO CInt--{- |-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.--}-typeFindRegister ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Plugin.IsPlugin a) =>-    Maybe (a)-    {- ^ /@plugin@/: A 'GI.Gst.Objects.Plugin.Plugin', or 'Nothing' for a static typefind function -}-    -> T.Text-    {- ^ /@name@/: The name for registering -}-    -> Word32-    {- ^ /@rank@/: The rank (or importance) of this typefind function -}-    -> Gst.Callbacks.TypeFindFunction-    {- ^ /@func@/: The 'GI.Gst.Callbacks.TypeFindFunction' to use -}-    -> Maybe (T.Text)-    {- ^ /@extensions@/: Optional comma-separated list of extensions-    that could belong to this type -}-    -> Gst.Caps.Caps-    {- ^ /@possibleCaps@/: Optionally the caps that could be returned when typefinding-                succeeds -}-    -> m Bool-    {- ^ __Returns:__ 'True' on success, 'False' otherwise -}-typeFindRegister plugin name rank func extensions possibleCaps = liftIO $ do-    maybePlugin <- case plugin of-        Nothing -> return nullPtr-        Just jPlugin -> do-            jPlugin' <- unsafeManagedPtrCastPtr jPlugin-            return jPlugin'-    name' <- textToCString name-    func' <- Gst.Callbacks.mk_TypeFindFunction (Gst.Callbacks.wrap_TypeFindFunction Nothing (Gst.Callbacks.drop_closures_TypeFindFunction func))-    maybeExtensions <- case extensions of-        Nothing -> return nullPtr-        Just jExtensions -> do-            jExtensions' <- textToCString jExtensions-            return jExtensions'-    possibleCaps' <- unsafeManagedPtrGetPtr possibleCaps-    let data_ = castFunPtrToPtr func'-    let dataNotify = safeFreeFunPtrPtr-    result <- gst_type_find_register maybePlugin name' rank func' maybeExtensions possibleCaps' data_ dataNotify-    let result' = (/= 0) result-    whenJust plugin touchManagedPtr-    touchManagedPtr possibleCaps-    freeMem name'-    freeMem maybeExtensions-    return result'--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveTypeFindMethod (t :: Symbol) (o :: *) :: * where-    ResolveTypeFindMethod "peek" o = TypeFindPeekMethodInfo-    ResolveTypeFindMethod "suggest" o = TypeFindSuggestMethodInfo-    ResolveTypeFindMethod "getLength" o = TypeFindGetLengthMethodInfo-    ResolveTypeFindMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTypeFindMethod t TypeFind, O.MethodInfo info TypeFind p) => OL.IsLabel t (TypeFind -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/TypeFind.hs-boot
@@ -1,35 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.TypeFind where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype TypeFind = TypeFind (ManagedPtr TypeFind)-instance WrappedPtr TypeFind where-#if ENABLE_OVERLOADING-data TypeFindGetLengthMethodInfo-#endif-#if ENABLE_OVERLOADING-data TypeFindPeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data TypeFindSuggestMethodInfo-#endif
− GI/Gst/Structs/Uri.hs
@@ -1,2552 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A 'GI.Gst.Structs.Uri.Uri' object can be used to parse and split a URI string into its-constituent parts. Two 'GI.Gst.Structs.Uri.Uri' objects can be joined to make a new 'GI.Gst.Structs.Uri.Uri'-using the algorithm described in RFC3986.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.Uri-    ( ---- * Exported types-    Uri(..)                                 ,-    noUri                                   ,--- -- * Methods--- ** appendPath #method:appendPath#--#if ENABLE_OVERLOADING-    UriAppendPathMethodInfo                 ,-#endif-    uriAppendPath                           ,----- ** appendPathSegment #method:appendPathSegment#--#if ENABLE_OVERLOADING-    UriAppendPathSegmentMethodInfo          ,-#endif-    uriAppendPathSegment                    ,----- ** construct #method:construct#--    uriConstruct                            ,----- ** equal #method:equal#--#if ENABLE_OVERLOADING-    UriEqualMethodInfo                      ,-#endif-    uriEqual                                ,----- ** fromString #method:fromString#--    uriFromString                           ,----- ** fromStringWithBase #method:fromStringWithBase#--#if ENABLE_OVERLOADING-    UriFromStringWithBaseMethodInfo         ,-#endif-    uriFromStringWithBase                   ,----- ** getFragment #method:getFragment#--#if ENABLE_OVERLOADING-    UriGetFragmentMethodInfo                ,-#endif-    uriGetFragment                          ,----- ** getHost #method:getHost#--#if ENABLE_OVERLOADING-    UriGetHostMethodInfo                    ,-#endif-    uriGetHost                              ,----- ** getLocation #method:getLocation#--    uriGetLocation                          ,----- ** getMediaFragmentTable #method:getMediaFragmentTable#--#if ENABLE_OVERLOADING-    UriGetMediaFragmentTableMethodInfo      ,-#endif-    uriGetMediaFragmentTable                ,----- ** getPath #method:getPath#--#if ENABLE_OVERLOADING-    UriGetPathMethodInfo                    ,-#endif-    uriGetPath                              ,----- ** getPathSegments #method:getPathSegments#--#if ENABLE_OVERLOADING-    UriGetPathSegmentsMethodInfo            ,-#endif-    uriGetPathSegments                      ,----- ** getPathString #method:getPathString#--#if ENABLE_OVERLOADING-    UriGetPathStringMethodInfo              ,-#endif-    uriGetPathString                        ,----- ** getPort #method:getPort#--#if ENABLE_OVERLOADING-    UriGetPortMethodInfo                    ,-#endif-    uriGetPort                              ,----- ** getProtocol #method:getProtocol#--    uriGetProtocol                          ,----- ** getQueryKeys #method:getQueryKeys#--#if ENABLE_OVERLOADING-    UriGetQueryKeysMethodInfo               ,-#endif-    uriGetQueryKeys                         ,----- ** getQueryString #method:getQueryString#--#if ENABLE_OVERLOADING-    UriGetQueryStringMethodInfo             ,-#endif-    uriGetQueryString                       ,----- ** getQueryTable #method:getQueryTable#--#if ENABLE_OVERLOADING-    UriGetQueryTableMethodInfo              ,-#endif-    uriGetQueryTable                        ,----- ** getQueryValue #method:getQueryValue#--#if ENABLE_OVERLOADING-    UriGetQueryValueMethodInfo              ,-#endif-    uriGetQueryValue                        ,----- ** getScheme #method:getScheme#--#if ENABLE_OVERLOADING-    UriGetSchemeMethodInfo                  ,-#endif-    uriGetScheme                            ,----- ** getUserinfo #method:getUserinfo#--#if ENABLE_OVERLOADING-    UriGetUserinfoMethodInfo                ,-#endif-    uriGetUserinfo                          ,----- ** hasProtocol #method:hasProtocol#--    uriHasProtocol                          ,----- ** isNormalized #method:isNormalized#--#if ENABLE_OVERLOADING-    UriIsNormalizedMethodInfo               ,-#endif-    uriIsNormalized                         ,----- ** isValid #method:isValid#--    uriIsValid                              ,----- ** isWritable #method:isWritable#--#if ENABLE_OVERLOADING-    UriIsWritableMethodInfo                 ,-#endif-    uriIsWritable                           ,----- ** join #method:join#--#if ENABLE_OVERLOADING-    UriJoinMethodInfo                       ,-#endif-    uriJoin                                 ,----- ** joinStrings #method:joinStrings#--    uriJoinStrings                          ,----- ** makeWritable #method:makeWritable#--#if ENABLE_OVERLOADING-    UriMakeWritableMethodInfo               ,-#endif-    uriMakeWritable                         ,----- ** new #method:new#--    uriNew                                  ,----- ** newWithBase #method:newWithBase#--#if ENABLE_OVERLOADING-    UriNewWithBaseMethodInfo                ,-#endif-    uriNewWithBase                          ,----- ** normalize #method:normalize#--#if ENABLE_OVERLOADING-    UriNormalizeMethodInfo                  ,-#endif-    uriNormalize                            ,----- ** protocolIsSupported #method:protocolIsSupported#--    uriProtocolIsSupported                  ,----- ** protocolIsValid #method:protocolIsValid#--    uriProtocolIsValid                      ,----- ** queryHasKey #method:queryHasKey#--#if ENABLE_OVERLOADING-    UriQueryHasKeyMethodInfo                ,-#endif-    uriQueryHasKey                          ,----- ** removeQueryKey #method:removeQueryKey#--#if ENABLE_OVERLOADING-    UriRemoveQueryKeyMethodInfo             ,-#endif-    uriRemoveQueryKey                       ,----- ** setFragment #method:setFragment#--#if ENABLE_OVERLOADING-    UriSetFragmentMethodInfo                ,-#endif-    uriSetFragment                          ,----- ** setHost #method:setHost#--#if ENABLE_OVERLOADING-    UriSetHostMethodInfo                    ,-#endif-    uriSetHost                              ,----- ** setPath #method:setPath#--#if ENABLE_OVERLOADING-    UriSetPathMethodInfo                    ,-#endif-    uriSetPath                              ,----- ** setPathSegments #method:setPathSegments#--#if ENABLE_OVERLOADING-    UriSetPathSegmentsMethodInfo            ,-#endif-    uriSetPathSegments                      ,----- ** setPathString #method:setPathString#--#if ENABLE_OVERLOADING-    UriSetPathStringMethodInfo              ,-#endif-    uriSetPathString                        ,----- ** setPort #method:setPort#--#if ENABLE_OVERLOADING-    UriSetPortMethodInfo                    ,-#endif-    uriSetPort                              ,----- ** setQueryString #method:setQueryString#--#if ENABLE_OVERLOADING-    UriSetQueryStringMethodInfo             ,-#endif-    uriSetQueryString                       ,----- ** setQueryTable #method:setQueryTable#--#if ENABLE_OVERLOADING-    UriSetQueryTableMethodInfo              ,-#endif-    uriSetQueryTable                        ,----- ** setQueryValue #method:setQueryValue#--#if ENABLE_OVERLOADING-    UriSetQueryValueMethodInfo              ,-#endif-    uriSetQueryValue                        ,----- ** setScheme #method:setScheme#--#if ENABLE_OVERLOADING-    UriSetSchemeMethodInfo                  ,-#endif-    uriSetScheme                            ,----- ** setUserinfo #method:setUserinfo#--#if ENABLE_OVERLOADING-    UriSetUserinfoMethodInfo                ,-#endif-    uriSetUserinfo                          ,----- ** toString #method:toString#--#if ENABLE_OVERLOADING-    UriToStringMethodInfo                   ,-#endif-    uriToString                             ,-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums---- | Memory-managed wrapper type.-newtype Uri = Uri (ManagedPtr Uri)-foreign import ccall "gst_uri_get_type" c_gst_uri_get_type :: -    IO GType--instance BoxedObject Uri where-    boxedType _ = c_gst_uri_get_type---- | A convenience alias for `Nothing` :: `Maybe` `Uri`.-noUri :: Maybe Uri-noUri = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Uri-type instance O.AttributeList Uri = UriAttributeList-type UriAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Uri::new--- method type : Constructor--- Args : [Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The scheme for the new URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "userinfo", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The user-info for the new URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The host name for the new URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The port number for the new URI or %GST_URI_NO_PORT.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The path for the new URI with '/' separating path\n                     elements.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The query string for the new URI with '&' separating\n                      query elements. Elements containing '&' characters\n                      should encode them as \"&percnt;26\".", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fragment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The fragment name for the new URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Uri"}))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_new" gst_uri_new :: -    CString ->                              -- scheme : TBasicType TUTF8-    CString ->                              -- userinfo : TBasicType TUTF8-    CString ->                              -- host : TBasicType TUTF8-    Word32 ->                               -- port : TBasicType TUInt-    CString ->                              -- path : TBasicType TUTF8-    CString ->                              -- query : TBasicType TUTF8-    CString ->                              -- fragment : TBasicType TUTF8-    IO (Ptr Uri)--{- |-Creates a new 'GI.Gst.Structs.Uri.Uri' 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.--/Since: 1.6/--}-uriNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@scheme@/: The scheme for the new URI. -}-    -> Maybe (T.Text)-    {- ^ /@userinfo@/: The user-info for the new URI. -}-    -> Maybe (T.Text)-    {- ^ /@host@/: The host name for the new URI. -}-    -> Word32-    {- ^ /@port@/: The port number for the new URI or 'GI.Gst.Constants.URI_NO_PORT'. -}-    -> Maybe (T.Text)-    {- ^ /@path@/: The path for the new URI with \'\/\' separating path-                     elements. -}-    -> Maybe (T.Text)-    {- ^ /@query@/: The query string for the new URI with \'&\' separating-                      query elements. Elements containing \'&\' characters-                      should encode them as \"&percnt;26\". -}-    -> Maybe (T.Text)-    {- ^ /@fragment@/: The fragment name for the new URI. -}-    -> m Uri-    {- ^ __Returns:__ A new 'GI.Gst.Structs.Uri.Uri' object. -}-uriNew scheme userinfo host port path query fragment = liftIO $ do-    maybeScheme <- case scheme of-        Nothing -> return nullPtr-        Just jScheme -> do-            jScheme' <- textToCString jScheme-            return jScheme'-    maybeUserinfo <- case userinfo of-        Nothing -> return nullPtr-        Just jUserinfo -> do-            jUserinfo' <- textToCString jUserinfo-            return jUserinfo'-    maybeHost <- case host of-        Nothing -> return nullPtr-        Just jHost -> do-            jHost' <- textToCString jHost-            return jHost'-    maybePath <- case path of-        Nothing -> return nullPtr-        Just jPath -> do-            jPath' <- textToCString jPath-            return jPath'-    maybeQuery <- case query of-        Nothing -> return nullPtr-        Just jQuery -> do-            jQuery' <- textToCString jQuery-            return jQuery'-    maybeFragment <- case fragment of-        Nothing -> return nullPtr-        Just jFragment -> do-            jFragment' <- textToCString jFragment-            return jFragment'-    result <- gst_uri_new maybeScheme maybeUserinfo maybeHost port maybePath maybeQuery maybeFragment-    checkUnexpectedReturnNULL "uriNew" result-    result' <- (wrapBoxed Uri) result-    freeMem maybeScheme-    freeMem maybeUserinfo-    freeMem maybeHost-    freeMem maybePath-    freeMem maybeQuery-    freeMem maybeFragment-    return result'--#if ENABLE_OVERLOADING-#endif---- method Uri::append_path--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relative_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Relative path to append to the end of the current path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_append_path" gst_uri_append_path :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- relative_path : TBasicType TUTF8-    IO CInt--{- |-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.--/Since: 1.6/--}-uriAppendPath ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@relativePath@/: Relative path to append to the end of the current path. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the path was appended successfully. -}-uriAppendPath uri relativePath = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    relativePath' <- textToCString relativePath-    result <- gst_uri_append_path uri' relativePath'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem relativePath'-    return result'--#if ENABLE_OVERLOADING-data UriAppendPathMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriAppendPathMethodInfo Uri signature where-    overloadedMethod _ = uriAppendPath--#endif---- method Uri::append_path_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path_segment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The path segment string to append to the URI path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_append_path_segment" gst_uri_append_path_segment :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- path_segment : TBasicType TUTF8-    IO CInt--{- |-Append a single path segment onto the end of the URI path.--/Since: 1.6/--}-uriAppendPathSegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@pathSegment@/: The path segment string to append to the URI path. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the path was appended successfully. -}-uriAppendPathSegment uri pathSegment = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    pathSegment' <- textToCString pathSegment-    result <- gst_uri_append_path_segment uri' pathSegment'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem pathSegment'-    return result'--#if ENABLE_OVERLOADING-data UriAppendPathSegmentMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriAppendPathSegmentMethodInfo Uri signature where-    overloadedMethod _ = uriAppendPathSegment--#endif---- method Uri::equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "first", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "First #GstUri to compare.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "second", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Second #GstUri to compare.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_equal" gst_uri_equal :: -    Ptr Uri ->                              -- first : TInterface (Name {namespace = "Gst", name = "Uri"})-    Ptr Uri ->                              -- second : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CInt--{- |-Compares two 'GI.Gst.Structs.Uri.Uri' objects to see if they represent the same normalized-URI.--/Since: 1.6/--}-uriEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@first@/: First 'GI.Gst.Structs.Uri.Uri' to compare. -}-    -> Uri-    {- ^ /@second@/: Second 'GI.Gst.Structs.Uri.Uri' to compare. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the normalized versions of the two URI\'s would be equal. -}-uriEqual first second = liftIO $ do-    first' <- unsafeManagedPtrGetPtr first-    second' <- unsafeManagedPtrGetPtr second-    result <- gst_uri_equal first' second'-    let result' = (/= 0) result-    touchManagedPtr first-    touchManagedPtr second-    return result'--#if ENABLE_OVERLOADING-data UriEqualMethodInfo-instance (signature ~ (Uri -> m Bool), MonadIO m) => O.MethodInfo UriEqualMethodInfo Uri signature where-    overloadedMethod _ = uriEqual--#endif---- method Uri::from_string_with_base--- method type : OrdinaryMethod--- Args : [Arg {argCName = "base", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The base URI to join the new URI with.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The URI string to parse.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Uri"}))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_from_string_with_base" gst_uri_from_string_with_base :: -    Ptr Uri ->                              -- base : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- uri : TBasicType TUTF8-    IO (Ptr Uri)--{- |-Like 'GI.Gst.Functions.uriFromString' but also joins with a base URI.--/Since: 1.6/--}-uriFromStringWithBase ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@base@/: The base URI to join the new URI with. -}-    -> T.Text-    {- ^ /@uri@/: The URI string to parse. -}-    -> m Uri-    {- ^ __Returns:__ A new 'GI.Gst.Structs.Uri.Uri' object. -}-uriFromStringWithBase base uri = liftIO $ do-    base' <- unsafeManagedPtrGetPtr base-    uri' <- textToCString uri-    result <- gst_uri_from_string_with_base base' uri'-    checkUnexpectedReturnNULL "uriFromStringWithBase" result-    result' <- (wrapBoxed Uri) result-    touchManagedPtr base-    freeMem uri'-    return result'--#if ENABLE_OVERLOADING-data UriFromStringWithBaseMethodInfo-instance (signature ~ (T.Text -> m Uri), MonadIO m) => O.MethodInfo UriFromStringWithBaseMethodInfo Uri signature where-    overloadedMethod _ = uriFromStringWithBase--#endif---- method Uri::get_fragment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "This #GstUri object.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_fragment" gst_uri_get_fragment :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CString--{- |-Get the fragment name from the URI or 'Nothing' if it doesn\'t exist.-If /@uri@/ is 'Nothing' then returns 'Nothing'.--/Since: 1.6/--}-uriGetFragment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: This 'GI.Gst.Structs.Uri.Uri' object. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The host name from the 'GI.Gst.Structs.Uri.Uri' object or 'Nothing'. -}-uriGetFragment uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_fragment uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr uri-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetFragmentMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo UriGetFragmentMethodInfo Uri signature where-    overloadedMethod _ = uriGetFragment--#endif---- method Uri::get_host--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "This #GstUri object.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_host" gst_uri_get_host :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CString--{- |-Get the host name from the URI or 'Nothing' if it doesn\'t exist.-If /@uri@/ is 'Nothing' then returns 'Nothing'.--/Since: 1.6/--}-uriGetHost ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: This 'GI.Gst.Structs.Uri.Uri' object. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The host name from the 'GI.Gst.Structs.Uri.Uri' object or 'Nothing'. -}-uriGetHost uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_host uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr uri-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetHostMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo UriGetHostMethodInfo Uri signature where-    overloadedMethod _ = uriGetHost--#endif---- method Uri::get_media_fragment_table--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to get the fragment table from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGHash (TBasicType TUTF8) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_media_fragment_table" gst_uri_get_media_fragment_table :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO (Ptr (GHashTable CString CString))--{- |-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 \"&\" 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 'Nothing' to indicate that the key should appear in the fragment-string in the URI, but does not have a value. Free the returned 'GI.GLib.Structs.HashTable.HashTable'-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\/--/Since: 1.12/--}-uriGetMediaFragmentTable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to get the fragment table from. -}-    -> m (Maybe (Map.Map T.Text T.Text))-    {- ^ __Returns:__ The-         fragment hash table from the URI. -}-uriGetMediaFragmentTable uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_media_fragment_table uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- unpackGHashTable result'-        let result''' = mapFirst cstringUnpackPtr result''-        result'''' <- mapFirstA cstringToText result'''-        let result''''' = mapSecond cstringUnpackPtr result''''-        result'''''' <- mapSecondA cstringToText result'''''-        let result''''''' = Map.fromList result''''''-        unrefGHashTable result'-        return result'''''''-    touchManagedPtr uri-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetMediaFragmentTableMethodInfo-instance (signature ~ (m (Maybe (Map.Map T.Text T.Text))), MonadIO m) => O.MethodInfo UriGetMediaFragmentTableMethodInfo Uri signature where-    overloadedMethod _ = uriGetMediaFragmentTable--#endif---- method Uri::get_path--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to get the path from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_path" gst_uri_get_path :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CString--{- |-Extract the path string from the URI object.--/Since: 1.6/--}-uriGetPath ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to get the path from. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The path from the URI. Once finished-                                     with the string should be 'GI.GLib.Functions.free'\'d. -}-uriGetPath uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_path uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr uri-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetPathMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo UriGetPathMethodInfo Uri signature where-    overloadedMethod _ = uriGetPath--#endif---- method Uri::get_path_segments--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to get the path from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_path_segments" gst_uri_get_path_segments :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO (Ptr (GList CString))--{- |-Get a list of path segments from the URI.--/Since: 1.6/--}-uriGetPathSegments ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to get the path from. -}-    -> m [T.Text]-    {- ^ __Returns:__ A 'GI.GLib.Structs.List.List' of path segment-         strings or 'Nothing' if no path segments are available. Free the list-         when no longer needed with g_list_free_full(list, g_free). -}-uriGetPathSegments uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_path_segments uri'-    result' <- unpackGList result-    result'' <- mapM cstringToText result'-    mapGList freeMem result-    g_list_free result-    touchManagedPtr uri-    return result''--#if ENABLE_OVERLOADING-data UriGetPathSegmentsMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m) => O.MethodInfo UriGetPathSegmentsMethodInfo Uri signature where-    overloadedMethod _ = uriGetPathSegments--#endif---- method Uri::get_path_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to get the path from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_path_string" gst_uri_get_path_string :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CString--{- |-Extract the path string from the URI object as a percent encoded URI path.--/Since: 1.6/--}-uriGetPathString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to get the path from. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The path from the URI. Once finished-                                     with the string should be 'GI.GLib.Functions.free'\'d. -}-uriGetPathString uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_path_string uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr uri-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetPathStringMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo UriGetPathStringMethodInfo Uri signature where-    overloadedMethod _ = uriGetPathString--#endif---- method Uri::get_port--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "This #GstUri object.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_port" gst_uri_get_port :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO Word32--{- |-Get the port number from the URI or 'GI.Gst.Constants.URI_NO_PORT' if it doesn\'t exist.-If /@uri@/ is 'Nothing' then returns 'GI.Gst.Constants.URI_NO_PORT'.--/Since: 1.6/--}-uriGetPort ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: This 'GI.Gst.Structs.Uri.Uri' object. -}-    -> m Word32-    {- ^ __Returns:__ The port number from the 'GI.Gst.Structs.Uri.Uri' object or 'GI.Gst.Constants.URI_NO_PORT'. -}-uriGetPort uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_port uri'-    touchManagedPtr uri-    return result--#if ENABLE_OVERLOADING-data UriGetPortMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo UriGetPortMethodInfo Uri signature where-    overloadedMethod _ = uriGetPort--#endif---- method Uri::get_query_keys--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to examine.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_query_keys" gst_uri_get_query_keys :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO (Ptr (GList CString))--{- |-Get a list of the query keys from the URI.--/Since: 1.6/--}-uriGetQueryKeys ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to examine. -}-    -> m [T.Text]-    {- ^ __Returns:__ A list of keys from-         the URI query. Free the list with @/g_list_free()/@. -}-uriGetQueryKeys uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_query_keys uri'-    result' <- unpackGList result-    result'' <- mapM cstringToText result'-    g_list_free result-    touchManagedPtr uri-    return result''--#if ENABLE_OVERLOADING-data UriGetQueryKeysMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m) => O.MethodInfo UriGetQueryKeysMethodInfo Uri signature where-    overloadedMethod _ = uriGetQueryKeys--#endif---- method Uri::get_query_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to get the query string from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_query_string" gst_uri_get_query_string :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CString--{- |-Get a percent encoded URI query string from the /@uri@/.--/Since: 1.6/--}-uriGetQueryString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to get the query string from. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ A percent encoded query string. Use-                                     'GI.GLib.Functions.free' when no longer needed. -}-uriGetQueryString uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_query_string uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr uri-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetQueryStringMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo UriGetQueryStringMethodInfo Uri signature where-    overloadedMethod _ = uriGetQueryString--#endif---- method Uri::get_query_table--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to get the query table from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGHash (TBasicType TUTF8) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_query_table" gst_uri_get_query_table :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO (Ptr (GHashTable CString CString))--{- |-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 'Nothing' to indicate that-the key should appear in the query string in the URI, but does not have a-value. Free the returned 'GI.GLib.Structs.HashTable.HashTable' with @/g_hash_table_unref/@() when it is-no longer required. Modifying this hash table will modify the query in the-URI.--/Since: 1.6/--}-uriGetQueryTable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to get the query table from. -}-    -> m (Maybe (Map.Map T.Text T.Text))-    {- ^ __Returns:__ The query-         hash table from the URI. -}-uriGetQueryTable uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_query_table uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- unpackGHashTable result'-        let result''' = mapFirst cstringUnpackPtr result''-        result'''' <- mapFirstA cstringToText result'''-        let result''''' = mapSecond cstringUnpackPtr result''''-        result'''''' <- mapSecondA cstringToText result'''''-        let result''''''' = Map.fromList result''''''-        unrefGHashTable result'-        return result'''''''-    touchManagedPtr uri-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetQueryTableMethodInfo-instance (signature ~ (m (Maybe (Map.Map T.Text T.Text))), MonadIO m) => O.MethodInfo UriGetQueryTableMethodInfo Uri signature where-    overloadedMethod _ = uriGetQueryTable--#endif---- method Uri::get_query_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to examine.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query_key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The key to lookup.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_query_value" gst_uri_get_query_value :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- query_key : TBasicType TUTF8-    IO CString--{- |-Get the value associated with the /@queryKey@/ key. Will return 'Nothing' if the-key has no value or if the key does not exist in the URI query table. Because-'Nothing' is returned for both missing keys and keys with no value, you should-use 'GI.Gst.Structs.Uri.uriQueryHasKey' to determine if a key is present in the URI-query.--/Since: 1.6/--}-uriGetQueryValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to examine. -}-    -> T.Text-    {- ^ /@queryKey@/: The key to lookup. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The value for the given key, or 'Nothing' if not found. -}-uriGetQueryValue uri queryKey = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    queryKey' <- textToCString queryKey-    result <- gst_uri_get_query_value uri' queryKey'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr uri-    freeMem queryKey'-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetQueryValueMethodInfo-instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo UriGetQueryValueMethodInfo Uri signature where-    overloadedMethod _ = uriGetQueryValue--#endif---- method Uri::get_scheme--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "This #GstUri object.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_scheme" gst_uri_get_scheme :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CString--{- |-Get the scheme name from the URI or 'Nothing' if it doesn\'t exist.-If /@uri@/ is 'Nothing' then returns 'Nothing'.--}-uriGetScheme ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: This 'GI.Gst.Structs.Uri.Uri' object. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The scheme from the 'GI.Gst.Structs.Uri.Uri' object or 'Nothing'. -}-uriGetScheme uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_scheme uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr uri-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetSchemeMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo UriGetSchemeMethodInfo Uri signature where-    overloadedMethod _ = uriGetScheme--#endif---- method Uri::get_userinfo--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "This #GstUri object.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_userinfo" gst_uri_get_userinfo :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CString--{- |-Get the userinfo (usually in the form \"username:password\") from the URI-or 'Nothing' if it doesn\'t exist. If /@uri@/ is 'Nothing' then returns 'Nothing'.--/Since: 1.6/--}-uriGetUserinfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: This 'GI.Gst.Structs.Uri.Uri' object. -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The userinfo from the 'GI.Gst.Structs.Uri.Uri' object or 'Nothing'. -}-uriGetUserinfo uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_get_userinfo uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        return result''-    touchManagedPtr uri-    return maybeResult--#if ENABLE_OVERLOADING-data UriGetUserinfoMethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo UriGetUserinfoMethodInfo Uri signature where-    overloadedMethod _ = uriGetUserinfo--#endif---- method Uri::is_normalized--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to test to see if it is normalized.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_is_normalized" gst_uri_is_normalized :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CInt--{- |-Tests the /@uri@/ to see if it is normalized. A 'Nothing' /@uri@/ is considered to be-normalized.--/Since: 1.6/--}-uriIsNormalized ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to test to see if it is normalized. -}-    -> m Bool-    {- ^ __Returns:__ TRUE if the URI is normalized or is 'Nothing'. -}-uriIsNormalized uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_is_normalized uri'-    let result' = (/= 0) result-    touchManagedPtr uri-    return result'--#if ENABLE_OVERLOADING-data UriIsNormalizedMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo UriIsNormalizedMethodInfo Uri signature where-    overloadedMethod _ = uriIsNormalized--#endif---- method Uri::is_writable--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri object to test.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_is_writable" gst_uri_is_writable :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CInt--{- |-Check if it is safe to write to this 'GI.Gst.Structs.Uri.Uri'.--Check if the refcount of /@uri@/ is exactly 1, meaning that no other-reference exists to the 'GI.Gst.Structs.Uri.Uri' and that the 'GI.Gst.Structs.Uri.Uri' is therefore writable.--Modification of a 'GI.Gst.Structs.Uri.Uri' should only be done after verifying that it is-writable.--/Since: 1.6/--}-uriIsWritable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' object to test. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if it is safe to write to the object. -}-uriIsWritable uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_is_writable uri'-    let result' = (/= 0) result-    touchManagedPtr uri-    return result'--#if ENABLE_OVERLOADING-data UriIsWritableMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo UriIsWritableMethodInfo Uri signature where-    overloadedMethod _ = uriIsWritable--#endif---- method Uri::join--- method type : OrdinaryMethod--- Args : [Arg {argCName = "base_uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The base URI to join another to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref_uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The reference URI to join onto the\n                                      base URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Uri"}))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_join" gst_uri_join :: -    Ptr Uri ->                              -- base_uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    Ptr Uri ->                              -- ref_uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO (Ptr Uri)--{- |-Join a reference URI onto a base URI using the method from RFC 3986.-If either URI is 'Nothing' then the other URI will be returned with the ref count-increased.--/Since: 1.6/--}-uriJoin ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@baseUri@/: The base URI to join another to. -}-    -> Maybe (Uri)-    {- ^ /@refUri@/: The reference URI to join onto the-                                      base URI. -}-    -> m (Maybe Uri)-    {- ^ __Returns:__ A 'GI.Gst.Structs.Uri.Uri' which represents the base-                                     with the reference URI joined on. -}-uriJoin baseUri refUri = liftIO $ do-    baseUri' <- unsafeManagedPtrGetPtr baseUri-    maybeRefUri <- case refUri of-        Nothing -> return nullPtr-        Just jRefUri -> do-            jRefUri' <- unsafeManagedPtrGetPtr jRefUri-            return jRefUri'-    result <- gst_uri_join baseUri' maybeRefUri-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Uri) result'-        return result''-    touchManagedPtr baseUri-    whenJust refUri touchManagedPtr-    return maybeResult--#if ENABLE_OVERLOADING-data UriJoinMethodInfo-instance (signature ~ (Maybe (Uri) -> m (Maybe Uri)), MonadIO m) => O.MethodInfo UriJoinMethodInfo Uri signature where-    overloadedMethod _ = uriJoin--#endif---- method Uri::make_writable--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri object to make writable.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Uri"}))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_make_writable" gst_uri_make_writable :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO (Ptr Uri)--{- |-Make the 'GI.Gst.Structs.Uri.Uri' 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 'GI.Gst.Structs.Uri.Uri'.-If /@uri@/ is 'Nothing' then 'Nothing' is returned.--/Since: 1.6/--}-uriMakeWritable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' object to make writable. -}-    -> m Uri-    {- ^ __Returns:__ A writable version of /@uri@/. -}-uriMakeWritable uri = liftIO $ do-    uri' <- B.ManagedPtr.disownBoxed uri-    result <- gst_uri_make_writable uri'-    checkUnexpectedReturnNULL "uriMakeWritable" result-    result' <- (wrapBoxed Uri) result-    touchManagedPtr uri-    return result'--#if ENABLE_OVERLOADING-data UriMakeWritableMethodInfo-instance (signature ~ (m Uri), MonadIO m) => O.MethodInfo UriMakeWritableMethodInfo Uri signature where-    overloadedMethod _ = uriMakeWritable--#endif---- method Uri::new_with_base--- method type : OrdinaryMethod--- Args : [Arg {argCName = "base", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The base URI to join the new URI to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The scheme for the new URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "userinfo", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The user-info for the new URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The host name for the new URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The port number for the new URI or %GST_URI_NO_PORT.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The path for the new URI with '/' separating path\n                     elements.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The query string for the new URI with '&' separating\n                      query elements. Elements containing '&' characters\n                      should encode them as \"&percnt;26\".", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fragment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The fragment name for the new URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Uri"}))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_new_with_base" gst_uri_new_with_base :: -    Ptr Uri ->                              -- base : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- scheme : TBasicType TUTF8-    CString ->                              -- userinfo : TBasicType TUTF8-    CString ->                              -- host : TBasicType TUTF8-    Word32 ->                               -- port : TBasicType TUInt-    CString ->                              -- path : TBasicType TUTF8-    CString ->                              -- query : TBasicType TUTF8-    CString ->                              -- fragment : TBasicType TUTF8-    IO (Ptr Uri)--{- |-Like 'GI.Gst.Structs.Uri.uriNew', but joins the new URI onto a base URI.--/Since: 1.6/--}-uriNewWithBase ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@base@/: The base URI to join the new URI to. -}-    -> Maybe (T.Text)-    {- ^ /@scheme@/: The scheme for the new URI. -}-    -> Maybe (T.Text)-    {- ^ /@userinfo@/: The user-info for the new URI. -}-    -> Maybe (T.Text)-    {- ^ /@host@/: The host name for the new URI. -}-    -> Word32-    {- ^ /@port@/: The port number for the new URI or 'GI.Gst.Constants.URI_NO_PORT'. -}-    -> Maybe (T.Text)-    {- ^ /@path@/: The path for the new URI with \'\/\' separating path-                     elements. -}-    -> Maybe (T.Text)-    {- ^ /@query@/: The query string for the new URI with \'&\' separating-                      query elements. Elements containing \'&\' characters-                      should encode them as \"&percnt;26\". -}-    -> Maybe (T.Text)-    {- ^ /@fragment@/: The fragment name for the new URI. -}-    -> m Uri-    {- ^ __Returns:__ The new URI joined onto /@base@/. -}-uriNewWithBase base scheme userinfo host port path query fragment = liftIO $ do-    base' <- unsafeManagedPtrGetPtr base-    maybeScheme <- case scheme of-        Nothing -> return nullPtr-        Just jScheme -> do-            jScheme' <- textToCString jScheme-            return jScheme'-    maybeUserinfo <- case userinfo of-        Nothing -> return nullPtr-        Just jUserinfo -> do-            jUserinfo' <- textToCString jUserinfo-            return jUserinfo'-    maybeHost <- case host of-        Nothing -> return nullPtr-        Just jHost -> do-            jHost' <- textToCString jHost-            return jHost'-    maybePath <- case path of-        Nothing -> return nullPtr-        Just jPath -> do-            jPath' <- textToCString jPath-            return jPath'-    maybeQuery <- case query of-        Nothing -> return nullPtr-        Just jQuery -> do-            jQuery' <- textToCString jQuery-            return jQuery'-    maybeFragment <- case fragment of-        Nothing -> return nullPtr-        Just jFragment -> do-            jFragment' <- textToCString jFragment-            return jFragment'-    result <- gst_uri_new_with_base base' maybeScheme maybeUserinfo maybeHost port maybePath maybeQuery maybeFragment-    checkUnexpectedReturnNULL "uriNewWithBase" result-    result' <- (wrapBoxed Uri) result-    touchManagedPtr base-    freeMem maybeScheme-    freeMem maybeUserinfo-    freeMem maybeHost-    freeMem maybePath-    freeMem maybeQuery-    freeMem maybeFragment-    return result'--#if ENABLE_OVERLOADING-data UriNewWithBaseMethodInfo-instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> Maybe (T.Text) -> Word32 -> Maybe (T.Text) -> Maybe (T.Text) -> Maybe (T.Text) -> m Uri), MonadIO m) => O.MethodInfo UriNewWithBaseMethodInfo Uri signature where-    overloadedMethod _ = uriNewWithBase--#endif---- method Uri::normalize--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to normalize.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_normalize" gst_uri_normalize :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CInt--{- |-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 'GI.Gst.Structs.Uri.Uri' object must be writable. Check with 'GI.Gst.Structs.Uri.uriIsWritable' or use-'GI.Gst.Structs.Uri.uriMakeWritable' first.--/Since: 1.6/--}-uriNormalize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to normalize. -}-    -> m Bool-    {- ^ __Returns:__ TRUE if the URI was modified. -}-uriNormalize uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_normalize uri'-    let result' = (/= 0) result-    touchManagedPtr uri-    return result'--#if ENABLE_OVERLOADING-data UriNormalizeMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo UriNormalizeMethodInfo Uri signature where-    overloadedMethod _ = uriNormalize--#endif---- method Uri::query_has_key--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to examine.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query_key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The key to lookup.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_query_has_key" gst_uri_query_has_key :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- query_key : TBasicType TUTF8-    IO CInt--{- |-Check if there is a query table entry for the /@queryKey@/ key.--/Since: 1.6/--}-uriQueryHasKey ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to examine. -}-    -> T.Text-    {- ^ /@queryKey@/: The key to lookup. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@queryKey@/ exists in the URI query table. -}-uriQueryHasKey uri queryKey = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    queryKey' <- textToCString queryKey-    result <- gst_uri_query_has_key uri' queryKey'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem queryKey'-    return result'--#if ENABLE_OVERLOADING-data UriQueryHasKeyMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriQueryHasKeyMethodInfo Uri signature where-    overloadedMethod _ = uriQueryHasKey--#endif---- method Uri::remove_query_key--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query_key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The key to remove.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_remove_query_key" gst_uri_remove_query_key :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- query_key : TBasicType TUTF8-    IO CInt--{- |-Remove an entry from the query table by key.--/Since: 1.6/--}-uriRemoveQueryKey ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@queryKey@/: The key to remove. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the key existed in the table and was removed. -}-uriRemoveQueryKey uri queryKey = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    queryKey' <- textToCString queryKey-    result <- gst_uri_remove_query_key uri' queryKey'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem queryKey'-    return result'--#if ENABLE_OVERLOADING-data UriRemoveQueryKeyMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriRemoveQueryKeyMethodInfo Uri signature where-    overloadedMethod _ = uriRemoveQueryKey--#endif---- method Uri::set_fragment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fragment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The fragment string to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_fragment" gst_uri_set_fragment :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- fragment : TBasicType TUTF8-    IO CInt--{- |-Sets the fragment string in the URI. Use a value of 'Nothing' in /@fragment@/ to-unset the fragment string.--/Since: 1.6/--}-uriSetFragment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> Maybe (T.Text)-    {- ^ /@fragment@/: The fragment string to set. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the fragment was set\/unset successfully. -}-uriSetFragment uri fragment = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    maybeFragment <- case fragment of-        Nothing -> return nullPtr-        Just jFragment -> do-            jFragment' <- textToCString jFragment-            return jFragment'-    result <- gst_uri_set_fragment uri' maybeFragment-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem maybeFragment-    return result'--#if ENABLE_OVERLOADING-data UriSetFragmentMethodInfo-instance (signature ~ (Maybe (T.Text) -> m Bool), MonadIO m) => O.MethodInfo UriSetFragmentMethodInfo Uri signature where-    overloadedMethod _ = uriSetFragment--#endif---- method Uri::set_host--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new host string to set or %NULL to unset.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_host" gst_uri_set_host :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- host : TBasicType TUTF8-    IO CInt--{- |-Set or unset the host for the URI.--/Since: 1.6/--}-uriSetHost ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@host@/: The new host string to set or 'Nothing' to unset. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the host was set\/unset successfully. -}-uriSetHost uri host = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    host' <- textToCString host-    result <- gst_uri_set_host uri' host'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem host'-    return result'--#if ENABLE_OVERLOADING-data UriSetHostMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriSetHostMethodInfo Uri signature where-    overloadedMethod _ = uriSetHost--#endif---- method Uri::set_path--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new path to set with path segments separated by '/', or use %NULL\n       to unset the path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_path" gst_uri_set_path :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- path : TBasicType TUTF8-    IO CInt--{- |-Sets or unsets the path in the URI.--/Since: 1.6/--}-uriSetPath ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@path@/: The new path to set with path segments separated by \'\/\', or use 'Nothing'-       to unset the path. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the path was set successfully. -}-uriSetPath uri path = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    path' <- textToCString path-    result <- gst_uri_set_path uri' path'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem path'-    return result'--#if ENABLE_OVERLOADING-data UriSetPathMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriSetPathMethodInfo Uri signature where-    overloadedMethod _ = uriSetPath--#endif---- method Uri::set_path_segments--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path_segments", argType = TGList (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The new\n                path list to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_path_segments" gst_uri_set_path_segments :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    Ptr (GList CString) ->                  -- path_segments : TGList (TBasicType TUTF8)-    IO CInt--{- |-Replace the path segments list in the URI.--/Since: 1.6/--}-uriSetPathSegments ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> [T.Text]-    {- ^ /@pathSegments@/: The new-                path list to set. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the path segments were set successfully. -}-uriSetPathSegments uri pathSegments = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    pathSegments' <- mapM textToCString pathSegments-    pathSegments'' <- packGList pathSegments'-    result <- gst_uri_set_path_segments uri' pathSegments''-    let result' = (/= 0) result-    touchManagedPtr uri-    return result'--#if ENABLE_OVERLOADING-data UriSetPathSegmentsMethodInfo-instance (signature ~ ([T.Text] -> m Bool), MonadIO m) => O.MethodInfo UriSetPathSegmentsMethodInfo Uri signature where-    overloadedMethod _ = uriSetPathSegments--#endif---- method Uri::set_path_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new percent encoded path to set with path segments separated by\n'/', or use %NULL to unset the path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_path_string" gst_uri_set_path_string :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- path : TBasicType TUTF8-    IO CInt--{- |-Sets or unsets the path in the URI.--/Since: 1.6/--}-uriSetPathString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@path@/: The new percent encoded path to set with path segments separated by-\'\/\', or use 'Nothing' to unset the path. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the path was set successfully. -}-uriSetPathString uri path = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    path' <- textToCString path-    result <- gst_uri_set_path_string uri' path'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem path'-    return result'--#if ENABLE_OVERLOADING-data UriSetPathStringMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriSetPathStringMethodInfo Uri signature where-    overloadedMethod _ = uriSetPathString--#endif---- method Uri::set_port--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "port", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new port number to set or %GST_URI_NO_PORT to unset.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_port" gst_uri_set_port :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    Word32 ->                               -- port : TBasicType TUInt-    IO CInt--{- |-Set or unset the port number for the URI.--/Since: 1.6/--}-uriSetPort ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> Word32-    {- ^ /@port@/: The new port number to set or 'GI.Gst.Constants.URI_NO_PORT' to unset. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the port number was set\/unset successfully. -}-uriSetPort uri port = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_set_port uri' port-    let result' = (/= 0) result-    touchManagedPtr uri-    return result'--#if ENABLE_OVERLOADING-data UriSetPortMethodInfo-instance (signature ~ (Word32 -> m Bool), MonadIO m) => O.MethodInfo UriSetPortMethodInfo Uri signature where-    overloadedMethod _ = uriSetPort--#endif---- method Uri::set_query_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new percent encoded query string to use to populate the query\n       table, or use %NULL to unset the query table.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_query_string" gst_uri_set_query_string :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- query : TBasicType TUTF8-    IO CInt--{- |-Sets or unsets the query table in the URI.--/Since: 1.6/--}-uriSetQueryString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@query@/: The new percent encoded query string to use to populate the query-       table, or use 'Nothing' to unset the query table. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the query table was set successfully. -}-uriSetQueryString uri query = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    query' <- textToCString query-    result <- gst_uri_set_query_string uri' query'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem query'-    return result'--#if ENABLE_OVERLOADING-data UriSetQueryStringMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriSetQueryStringMethodInfo Uri signature where-    overloadedMethod _ = uriSetQueryString--#endif---- method Uri::set_query_table--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query_table", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The new\n              query table to use.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_query_table" gst_uri_set_query_table :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    Ptr (GHashTable CString CString) ->     -- query_table : TGHash (TBasicType TUTF8) (TBasicType TUTF8)-    IO CInt--{- |-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 'Nothing' for /@queryTable@/-will remove the query string from the URI.--/Since: 1.6/--}-uriSetQueryTable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> Maybe (Map.Map T.Text T.Text)-    {- ^ /@queryTable@/: The new-              query table to use. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the new table was successfully used for the query table. -}-uriSetQueryTable uri queryTable = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    maybeQueryTable <- case queryTable of-        Nothing -> return nullPtr-        Just jQueryTable -> do-            let jQueryTable' = Map.toList jQueryTable-            jQueryTable'' <- mapFirstA textToCString jQueryTable'-            jQueryTable''' <- mapSecondA textToCString jQueryTable''-            let jQueryTable'''' = mapFirst cstringPackPtr jQueryTable'''-            let jQueryTable''''' = mapSecond cstringPackPtr jQueryTable''''-            jQueryTable'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) jQueryTable'''''-            return jQueryTable''''''-    result <- gst_uri_set_query_table uri' maybeQueryTable-    let result' = (/= 0) result-    touchManagedPtr uri-    unrefGHashTable maybeQueryTable-    return result'--#if ENABLE_OVERLOADING-data UriSetQueryTableMethodInfo-instance (signature ~ (Maybe (Map.Map T.Text T.Text) -> m Bool), MonadIO m) => O.MethodInfo UriSetQueryTableMethodInfo Uri signature where-    overloadedMethod _ = uriSetQueryTable--#endif---- method Uri::set_query_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query_key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The key for the query entry.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "query_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The value for the key.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_query_value" gst_uri_set_query_value :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- query_key : TBasicType TUTF8-    CString ->                              -- query_value : TBasicType TUTF8-    IO CInt--{- |-This inserts or replaces a key in the query table. A /@queryValue@/ of 'Nothing'-indicates that the key has no associated value, but will still be present in-the query string.--/Since: 1.6/--}-uriSetQueryValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@queryKey@/: The key for the query entry. -}-    -> Maybe (T.Text)-    {- ^ /@queryValue@/: The value for the key. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the query table was successfully updated. -}-uriSetQueryValue uri queryKey queryValue = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    queryKey' <- textToCString queryKey-    maybeQueryValue <- case queryValue of-        Nothing -> return nullPtr-        Just jQueryValue -> do-            jQueryValue' <- textToCString jQueryValue-            return jQueryValue'-    result <- gst_uri_set_query_value uri' queryKey' maybeQueryValue-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem queryKey'-    freeMem maybeQueryValue-    return result'--#if ENABLE_OVERLOADING-data UriSetQueryValueMethodInfo-instance (signature ~ (T.Text -> Maybe (T.Text) -> m Bool), MonadIO m) => O.MethodInfo UriSetQueryValueMethodInfo Uri signature where-    overloadedMethod _ = uriSetQueryValue--#endif---- method Uri::set_scheme--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new scheme to set or %NULL to unset the scheme.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_scheme" gst_uri_set_scheme :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- scheme : TBasicType TUTF8-    IO CInt--{- |-Set or unset the scheme for the URI.--/Since: 1.6/--}-uriSetScheme ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@scheme@/: The new scheme to set or 'Nothing' to unset the scheme. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the scheme was set\/unset successfully. -}-uriSetScheme uri scheme = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    scheme' <- textToCString scheme-    result <- gst_uri_set_scheme uri' scheme'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem scheme'-    return result'--#if ENABLE_OVERLOADING-data UriSetSchemeMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriSetSchemeMethodInfo Uri signature where-    overloadedMethod _ = uriSetScheme--#endif---- method Uri::set_userinfo--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstUri to modify.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "userinfo", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new user-information string to set or %NULL to unset.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_set_userinfo" gst_uri_set_userinfo :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    CString ->                              -- userinfo : TBasicType TUTF8-    IO CInt--{- |-Set or unset the user information for the URI.--/Since: 1.6/--}-uriSetUserinfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: The 'GI.Gst.Structs.Uri.Uri' to modify. -}-    -> T.Text-    {- ^ /@userinfo@/: The new user-information string to set or 'Nothing' to unset. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the user information was set\/unset successfully. -}-uriSetUserinfo uri userinfo = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    userinfo' <- textToCString userinfo-    result <- gst_uri_set_userinfo uri' userinfo'-    let result' = (/= 0) result-    touchManagedPtr uri-    freeMem userinfo'-    return result'--#if ENABLE_OVERLOADING-data UriSetUserinfoMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo UriSetUserinfoMethodInfo Uri signature where-    overloadedMethod _ = uriSetUserinfo--#endif---- method Uri::to_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "uri", argType = TInterface (Name {namespace = "Gst", name = "Uri"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "This #GstUri to convert to a string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_to_string" gst_uri_to_string :: -    Ptr Uri ->                              -- uri : TInterface (Name {namespace = "Gst", name = "Uri"})-    IO CString--{- |-Convert the URI to a string.--Returns the URI as held in this object as a @/gchar/@* nul-terminated string.-The caller should 'GI.GLib.Functions.free' the string once they are finished with it.-The string is put together as described in RFC 3986.--/Since: 1.6/--}-uriToString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Uri-    {- ^ /@uri@/: This 'GI.Gst.Structs.Uri.Uri' to convert to a string. -}-    -> m T.Text-    {- ^ __Returns:__ The string version of the URI. -}-uriToString uri = liftIO $ do-    uri' <- unsafeManagedPtrGetPtr uri-    result <- gst_uri_to_string uri'-    checkUnexpectedReturnNULL "uriToString" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr uri-    return result'--#if ENABLE_OVERLOADING-data UriToStringMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo UriToStringMethodInfo Uri signature where-    overloadedMethod _ = uriToString--#endif---- method Uri::construct--- method type : MemberFunction--- Args : [Arg {argCName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Protocol for URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "location", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location for URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_construct" gst_uri_construct :: -    CString ->                              -- protocol : TBasicType TUTF8-    CString ->                              -- location : TBasicType TUTF8-    IO CString--{-# DEPRECATED uriConstruct ["Use GstURI instead."] #-}-{- |-Constructs a URI for a given valid protocol and location.--Free-function: g_free--}-uriConstruct ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@protocol@/: Protocol for URI -}-    -> T.Text-    {- ^ /@location@/: Location for URI -}-    -> m T.Text-    {- ^ __Returns:__ a new string for this URI. Returns 'Nothing' if the-    given URI protocol is not valid, or the given location is 'Nothing'. -}-uriConstruct protocol location = liftIO $ do-    protocol' <- textToCString protocol-    location' <- textToCString location-    result <- gst_uri_construct protocol' location'-    checkUnexpectedReturnNULL "uriConstruct" result-    result' <- cstringToText result-    freeMem result-    freeMem protocol'-    freeMem location'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Uri::from_string--- method type : MemberFunction--- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The URI string to parse.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Uri"}))--- throws : False--- Skip return : False--foreign import ccall "gst_uri_from_string" gst_uri_from_string :: -    CString ->                              -- uri : TBasicType TUTF8-    IO (Ptr Uri)--{- |-Parses a URI string into a new 'GI.Gst.Structs.Uri.Uri' object. Will return NULL if the URI-cannot be parsed.--/Since: 1.6/--}-uriFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uri@/: The URI string to parse. -}-    -> m (Maybe Uri)-    {- ^ __Returns:__ A new 'GI.Gst.Structs.Uri.Uri' object, or NULL. -}-uriFromString uri = liftIO $ do-    uri' <- textToCString uri-    result <- gst_uri_from_string uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Uri) result'-        return result''-    freeMem uri'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Uri::get_location--- method type : MemberFunction--- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A URI string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_location" gst_uri_get_location :: -    CString ->                              -- uri : TBasicType TUTF8-    IO CString--{- |-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-'GI.GLib.Functions.free'.--Free-function: g_free--}-uriGetLocation ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uri@/: A URI string -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the location for this URI. Returns-    'Nothing' if the URI isn\'t valid. If the URI does not contain a location, an-    empty string is returned. -}-uriGetLocation uri = liftIO $ do-    uri' <- textToCString uri-    result <- gst_uri_get_location uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    freeMem uri'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Uri::get_protocol--- method type : MemberFunction--- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A URI string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_get_protocol" gst_uri_get_protocol :: -    CString ->                              -- uri : TBasicType TUTF8-    IO CString--{- |-Extracts the protocol out of a given valid URI. The returned string must be-freed using 'GI.GLib.Functions.free'.--}-uriGetProtocol ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uri@/: A URI string -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The protocol for this URI. -}-uriGetProtocol uri = liftIO $ do-    uri' <- textToCString uri-    result <- gst_uri_get_protocol uri'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    freeMem uri'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method Uri::has_protocol--- method type : MemberFunction--- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a URI string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a protocol string (e.g. \"http\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_has_protocol" gst_uri_has_protocol :: -    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- protocol : TBasicType TUTF8-    IO CInt--{- |-Checks if the protocol of a given valid URI matches /@protocol@/.--}-uriHasProtocol ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uri@/: a URI string -}-    -> T.Text-    {- ^ /@protocol@/: a protocol string (e.g. \"http\") -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the protocol matches. -}-uriHasProtocol uri protocol = liftIO $ do-    uri' <- textToCString uri-    protocol' <- textToCString protocol-    result <- gst_uri_has_protocol uri' protocol'-    let result' = (/= 0) result-    freeMem uri'-    freeMem protocol'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Uri::is_valid--- method type : MemberFunction--- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A URI string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_is_valid" gst_uri_is_valid :: -    CString ->                              -- uri : TBasicType TUTF8-    IO CInt--{- |-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.--}-uriIsValid ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uri@/: A URI string -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the string is a valid URI -}-uriIsValid uri = liftIO $ do-    uri' <- textToCString uri-    result <- gst_uri_is_valid uri'-    let result' = (/= 0) result-    freeMem uri'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Uri::join_strings--- method type : MemberFunction--- Args : [Arg {argCName = "base_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The percent-encoded base URI.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The percent-encoded reference URI to join to the @base_uri.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_join_strings" gst_uri_join_strings :: -    CString ->                              -- base_uri : TBasicType TUTF8-    CString ->                              -- ref_uri : TBasicType TUTF8-    IO CString--{- |-This is a convenience function to join two URI strings and return the result.-The returned string should be 'GI.GLib.Functions.free'\'d after use.--/Since: 1.6/--}-uriJoinStrings ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@baseUri@/: The percent-encoded base URI. -}-    -> T.Text-    {- ^ /@refUri@/: The percent-encoded reference URI to join to the /@baseUri@/. -}-    -> m T.Text-    {- ^ __Returns:__ A string representing the percent-encoded join of-         the two URIs. -}-uriJoinStrings baseUri refUri = liftIO $ do-    baseUri' <- textToCString baseUri-    refUri' <- textToCString refUri-    result <- gst_uri_join_strings baseUri' refUri'-    checkUnexpectedReturnNULL "uriJoinStrings" result-    result' <- cstringToText result-    freeMem result-    freeMem baseUri'-    freeMem refUri'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Uri::protocol_is_supported--- method type : MemberFunction--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "URIType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether to check for a source or a sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Protocol that should be checked for (e.g. \"http\" or \"smb\")", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_protocol_is_supported" gst_uri_protocol_is_supported :: -    CUInt ->                                -- type : TInterface (Name {namespace = "Gst", name = "URIType"})-    CString ->                              -- protocol : TBasicType TUTF8-    IO CInt--{- |-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-'GI.Gst.Objects.Element.elementMakeFromUri' is guaranteed to work.--}-uriProtocolIsSupported ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Enums.URIType-    {- ^ /@type@/: Whether to check for a source or a sink -}-    -> T.Text-    {- ^ /@protocol@/: Protocol that should be checked for (e.g. \"http\" or \"smb\") -}-    -> m Bool-    {- ^ __Returns:__ 'True' -}-uriProtocolIsSupported type_ protocol = liftIO $ do-    let type_' = (fromIntegral . fromEnum) type_-    protocol' <- textToCString protocol-    result <- gst_uri_protocol_is_supported type_' protocol'-    let result' = (/= 0) result-    freeMem protocol'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Uri::protocol_is_valid--- method type : MemberFunction--- Args : [Arg {argCName = "protocol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_uri_protocol_is_valid" gst_uri_protocol_is_valid :: -    CString ->                              -- protocol : TBasicType TUTF8-    IO CInt--{- |-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.--}-uriProtocolIsValid ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@protocol@/: A string -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the string is a valid protocol identifier, 'False' otherwise. -}-uriProtocolIsValid protocol = liftIO $ do-    protocol' <- textToCString protocol-    result <- gst_uri_protocol_is_valid protocol'-    let result' = (/= 0) result-    freeMem protocol'-    return result'--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveUriMethod (t :: Symbol) (o :: *) :: * where-    ResolveUriMethod "appendPath" o = UriAppendPathMethodInfo-    ResolveUriMethod "appendPathSegment" o = UriAppendPathSegmentMethodInfo-    ResolveUriMethod "equal" o = UriEqualMethodInfo-    ResolveUriMethod "fromStringWithBase" o = UriFromStringWithBaseMethodInfo-    ResolveUriMethod "isNormalized" o = UriIsNormalizedMethodInfo-    ResolveUriMethod "isWritable" o = UriIsWritableMethodInfo-    ResolveUriMethod "join" o = UriJoinMethodInfo-    ResolveUriMethod "makeWritable" o = UriMakeWritableMethodInfo-    ResolveUriMethod "newWithBase" o = UriNewWithBaseMethodInfo-    ResolveUriMethod "normalize" o = UriNormalizeMethodInfo-    ResolveUriMethod "queryHasKey" o = UriQueryHasKeyMethodInfo-    ResolveUriMethod "removeQueryKey" o = UriRemoveQueryKeyMethodInfo-    ResolveUriMethod "toString" o = UriToStringMethodInfo-    ResolveUriMethod "getFragment" o = UriGetFragmentMethodInfo-    ResolveUriMethod "getHost" o = UriGetHostMethodInfo-    ResolveUriMethod "getMediaFragmentTable" o = UriGetMediaFragmentTableMethodInfo-    ResolveUriMethod "getPath" o = UriGetPathMethodInfo-    ResolveUriMethod "getPathSegments" o = UriGetPathSegmentsMethodInfo-    ResolveUriMethod "getPathString" o = UriGetPathStringMethodInfo-    ResolveUriMethod "getPort" o = UriGetPortMethodInfo-    ResolveUriMethod "getQueryKeys" o = UriGetQueryKeysMethodInfo-    ResolveUriMethod "getQueryString" o = UriGetQueryStringMethodInfo-    ResolveUriMethod "getQueryTable" o = UriGetQueryTableMethodInfo-    ResolveUriMethod "getQueryValue" o = UriGetQueryValueMethodInfo-    ResolveUriMethod "getScheme" o = UriGetSchemeMethodInfo-    ResolveUriMethod "getUserinfo" o = UriGetUserinfoMethodInfo-    ResolveUriMethod "setFragment" o = UriSetFragmentMethodInfo-    ResolveUriMethod "setHost" o = UriSetHostMethodInfo-    ResolveUriMethod "setPath" o = UriSetPathMethodInfo-    ResolveUriMethod "setPathSegments" o = UriSetPathSegmentsMethodInfo-    ResolveUriMethod "setPathString" o = UriSetPathStringMethodInfo-    ResolveUriMethod "setPort" o = UriSetPortMethodInfo-    ResolveUriMethod "setQueryString" o = UriSetQueryStringMethodInfo-    ResolveUriMethod "setQueryTable" o = UriSetQueryTableMethodInfo-    ResolveUriMethod "setQueryValue" o = UriSetQueryValueMethodInfo-    ResolveUriMethod "setScheme" o = UriSetSchemeMethodInfo-    ResolveUriMethod "setUserinfo" o = UriSetUserinfoMethodInfo-    ResolveUriMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveUriMethod t Uri, O.MethodInfo info Uri p) => OL.IsLabel t (Uri -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/Uri.hs-boot
@@ -1,137 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.Uri where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype Uri = Uri (ManagedPtr Uri)-instance BoxedObject Uri where-#if ENABLE_OVERLOADING-data UriAppendPathMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriAppendPathSegmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriFromStringWithBaseMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetFragmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetHostMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetMediaFragmentTableMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetPathMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetPathSegmentsMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetPathStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetPortMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetQueryKeysMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetQueryStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetQueryTableMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetQueryValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetSchemeMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriGetUserinfoMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriIsNormalizedMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriIsWritableMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriJoinMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriMakeWritableMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriNewWithBaseMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriNormalizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriQueryHasKeyMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriRemoveQueryKeyMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetFragmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetHostMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetPathMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetPathSegmentsMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetPathStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetPortMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetQueryStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetQueryTableMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetQueryValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetSchemeMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriSetUserinfoMethodInfo-#endif-#if ENABLE_OVERLOADING-data UriToStringMethodInfo-#endif
− GI/Gst/Structs/ValueTable.hs
@@ -1,362 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--VTable for the 'GI.GObject.Structs.Value.Value' /@type@/.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.Gst.Structs.ValueTable-    ( ---- * Exported types-    ValueTable(..)                          ,-    newZeroValueTable                       ,-    noValueTable                            ,--- -- * Properties--- ** compare #attr:compare#-{- | a 'GI.Gst.Callbacks.ValueCompareFunc'--}-    clearValueTableCompare                  ,-    getValueTableCompare                    ,-    setValueTableCompare                    ,-#if ENABLE_OVERLOADING-    valueTable_compare                      ,-#endif----- ** deserialize #attr:deserialize#-{- | a 'GI.Gst.Callbacks.ValueDeserializeFunc'--}-    clearValueTableDeserialize              ,-    getValueTableDeserialize                ,-    setValueTableDeserialize                ,-#if ENABLE_OVERLOADING-    valueTable_deserialize                  ,-#endif----- ** serialize #attr:serialize#-{- | a 'GI.Gst.Callbacks.ValueSerializeFunc'--}-    clearValueTableSerialize                ,-    getValueTableSerialize                  ,-    setValueTableSerialize                  ,-#if ENABLE_OVERLOADING-    valueTable_serialize                    ,-#endif----- ** type #attr:type#-{- | a 'GType'--}-    getValueTableType                       ,-    setValueTableType                       ,-#if ENABLE_OVERLOADING-    valueTable_type                         ,-#endif-----    ) where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--import qualified GI.Gst.Callbacks as Gst.Callbacks---- | Memory-managed wrapper type.-newtype ValueTable = ValueTable (ManagedPtr ValueTable)-instance WrappedPtr ValueTable where-    wrappedPtrCalloc = callocBytes 64-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr ValueTable)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `ValueTable` struct initialized to zero.-newZeroValueTable :: MonadIO m => m ValueTable-newZeroValueTable = liftIO $ wrappedPtrCalloc >>= wrapPtr ValueTable--instance tag ~ 'AttrSet => Constructible ValueTable tag where-    new _ attrs = do-        o <- newZeroValueTable-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ValueTable`.-noValueTable :: Maybe ValueTable-noValueTable = Nothing--{- |-Get the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' valueTable #type-@--}-getValueTableType :: MonadIO m => ValueTable -> m GType-getValueTableType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CGType-    let val' = GType val-    return val'--{- |-Set the value of the “@type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' valueTable [ #type 'Data.GI.Base.Attributes.:=' value ]-@--}-setValueTableType :: MonadIO m => ValueTable -> GType -> m ()-setValueTableType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = gtypeToCGType val-    poke (ptr `plusPtr` 0) (val' :: CGType)--#if ENABLE_OVERLOADING-data ValueTableTypeFieldInfo-instance AttrInfo ValueTableTypeFieldInfo where-    type AttrAllowedOps ValueTableTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ValueTableTypeFieldInfo = (~) GType-    type AttrBaseTypeConstraint ValueTableTypeFieldInfo = (~) ValueTable-    type AttrGetType ValueTableTypeFieldInfo = GType-    type AttrLabel ValueTableTypeFieldInfo = "type"-    type AttrOrigin ValueTableTypeFieldInfo = ValueTable-    attrGet _ = getValueTableType-    attrSet _ = setValueTableType-    attrConstruct = undefined-    attrClear _ = undefined--valueTable_type :: AttrLabelProxy "type"-valueTable_type = AttrLabelProxy--#endif---{- |-Get the value of the “@compare@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' valueTable #compare-@--}-getValueTableCompare :: MonadIO m => ValueTable -> m (Maybe Gst.Callbacks.ValueCompareFunc)-getValueTableCompare s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr Gst.Callbacks.C_ValueCompareFunc)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_ValueCompareFunc val'-        return val''-    return result--{- |-Set the value of the “@compare@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' valueTable [ #compare 'Data.GI.Base.Attributes.:=' value ]-@--}-setValueTableCompare :: MonadIO m => ValueTable -> FunPtr Gst.Callbacks.C_ValueCompareFunc -> m ()-setValueTableCompare s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: FunPtr Gst.Callbacks.C_ValueCompareFunc)--{- |-Set the value of the “@compare@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #compare-@--}-clearValueTableCompare :: MonadIO m => ValueTable -> m ()-clearValueTableCompare s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_ValueCompareFunc)--#if ENABLE_OVERLOADING-data ValueTableCompareFieldInfo-instance AttrInfo ValueTableCompareFieldInfo where-    type AttrAllowedOps ValueTableCompareFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ValueTableCompareFieldInfo = (~) (FunPtr Gst.Callbacks.C_ValueCompareFunc)-    type AttrBaseTypeConstraint ValueTableCompareFieldInfo = (~) ValueTable-    type AttrGetType ValueTableCompareFieldInfo = Maybe Gst.Callbacks.ValueCompareFunc-    type AttrLabel ValueTableCompareFieldInfo = "compare"-    type AttrOrigin ValueTableCompareFieldInfo = ValueTable-    attrGet _ = getValueTableCompare-    attrSet _ = setValueTableCompare-    attrConstruct = undefined-    attrClear _ = clearValueTableCompare--valueTable_compare :: AttrLabelProxy "compare"-valueTable_compare = AttrLabelProxy--#endif---{- |-Get the value of the “@serialize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' valueTable #serialize-@--}-getValueTableSerialize :: MonadIO m => ValueTable -> m (Maybe Gst.Callbacks.ValueSerializeFunc)-getValueTableSerialize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr Gst.Callbacks.C_ValueSerializeFunc)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_ValueSerializeFunc val'-        return val''-    return result--{- |-Set the value of the “@serialize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' valueTable [ #serialize 'Data.GI.Base.Attributes.:=' value ]-@--}-setValueTableSerialize :: MonadIO m => ValueTable -> FunPtr Gst.Callbacks.C_ValueSerializeFunc -> m ()-setValueTableSerialize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: FunPtr Gst.Callbacks.C_ValueSerializeFunc)--{- |-Set the value of the “@serialize@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #serialize-@--}-clearValueTableSerialize :: MonadIO m => ValueTable -> m ()-clearValueTableSerialize s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_ValueSerializeFunc)--#if ENABLE_OVERLOADING-data ValueTableSerializeFieldInfo-instance AttrInfo ValueTableSerializeFieldInfo where-    type AttrAllowedOps ValueTableSerializeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ValueTableSerializeFieldInfo = (~) (FunPtr Gst.Callbacks.C_ValueSerializeFunc)-    type AttrBaseTypeConstraint ValueTableSerializeFieldInfo = (~) ValueTable-    type AttrGetType ValueTableSerializeFieldInfo = Maybe Gst.Callbacks.ValueSerializeFunc-    type AttrLabel ValueTableSerializeFieldInfo = "serialize"-    type AttrOrigin ValueTableSerializeFieldInfo = ValueTable-    attrGet _ = getValueTableSerialize-    attrSet _ = setValueTableSerialize-    attrConstruct = undefined-    attrClear _ = clearValueTableSerialize--valueTable_serialize :: AttrLabelProxy "serialize"-valueTable_serialize = AttrLabelProxy--#endif---{- |-Get the value of the “@deserialize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' valueTable #deserialize-@--}-getValueTableDeserialize :: MonadIO m => ValueTable -> m (Maybe Gst.Callbacks.ValueDeserializeFunc)-getValueTableDeserialize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr Gst.Callbacks.C_ValueDeserializeFunc)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = Gst.Callbacks.dynamic_ValueDeserializeFunc val'-        return val''-    return result--{- |-Set the value of the “@deserialize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' valueTable [ #deserialize 'Data.GI.Base.Attributes.:=' value ]-@--}-setValueTableDeserialize :: MonadIO m => ValueTable -> FunPtr Gst.Callbacks.C_ValueDeserializeFunc -> m ()-setValueTableDeserialize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: FunPtr Gst.Callbacks.C_ValueDeserializeFunc)--{- |-Set the value of the “@deserialize@” field to `Nothing`.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.clear' #deserialize-@--}-clearValueTableDeserialize :: MonadIO m => ValueTable -> m ()-clearValueTableDeserialize s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr Gst.Callbacks.C_ValueDeserializeFunc)--#if ENABLE_OVERLOADING-data ValueTableDeserializeFieldInfo-instance AttrInfo ValueTableDeserializeFieldInfo where-    type AttrAllowedOps ValueTableDeserializeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ValueTableDeserializeFieldInfo = (~) (FunPtr Gst.Callbacks.C_ValueDeserializeFunc)-    type AttrBaseTypeConstraint ValueTableDeserializeFieldInfo = (~) ValueTable-    type AttrGetType ValueTableDeserializeFieldInfo = Maybe Gst.Callbacks.ValueDeserializeFunc-    type AttrLabel ValueTableDeserializeFieldInfo = "deserialize"-    type AttrOrigin ValueTableDeserializeFieldInfo = ValueTable-    attrGet _ = getValueTableDeserialize-    attrSet _ = setValueTableDeserialize-    attrConstruct = undefined-    attrClear _ = clearValueTableDeserialize--valueTable_deserialize :: AttrLabelProxy "deserialize"-valueTable_deserialize = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ValueTable-type instance O.AttributeList ValueTable = ValueTableAttributeList-type ValueTableAttributeList = ('[ '("type", ValueTableTypeFieldInfo), '("compare", ValueTableCompareFieldInfo), '("serialize", ValueTableSerializeFieldInfo), '("deserialize", ValueTableDeserializeFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveValueTableMethod (t :: Symbol) (o :: *) :: * where-    ResolveValueTableMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveValueTableMethod t ValueTable, O.MethodInfo info ValueTable p) => OL.IsLabel t (ValueTable -> p) where-#if MIN_VERSION_base(4,10,0)-    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#else-    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)-#endif--#endif--
− GI/Gst/Structs/ValueTable.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.Gst.Structs.ValueTable where--import Data.GI.Base.ShortPrelude-import qualified Data.GI.Base.ShortPrelude as SP-import qualified Data.GI.Base.Overloading as O-import qualified Prelude as P--import qualified Data.GI.Base.Attributes as GI.Attributes-import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr-import qualified Data.GI.Base.GClosure as B.GClosure-import qualified Data.GI.Base.GError as B.GError-import qualified Data.GI.Base.GVariant as B.GVariant-import qualified Data.GI.Base.GValue as B.GValue-import qualified Data.GI.Base.GParamSpec as B.GParamSpec-import qualified Data.GI.Base.CallStack as B.CallStack-import qualified Data.GI.Base.Properties as B.Properties-import qualified Data.Text as T-import qualified Data.ByteString.Char8 as B-import qualified Data.Map as Map-import qualified Foreign.Ptr as FP-import qualified GHC.OverloadedLabels as OL--newtype ValueTable = ValueTable (ManagedPtr ValueTable)-instance WrappedPtr ValueTable where
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-gst-1.0.18/docs/GI-Gst.html](https://hackage.haskell.org/package/gi-gst-1.0.18/docs/GI-Gst.html)+[https://hackage.haskell.org/package/gi-gst-1.0.19/docs/GI-Gst.html](https://hackage.haskell.org/package/gi-gst-1.0.19/docs/GI-Gst.html)  For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
gi-gst.cabal view
@@ -1,5 +1,5 @@ name:                 gi-gst-version:              1.0.18+version:              1.0.19 synopsis:             GStreamer bindings description:          Bindings for GStreamer, autogenerated by haskell-gi. homepage:             https://github.com/haskell-gi/haskell-gi@@ -42,6 +42,110 @@               build-depends: haskell-gi-overloading == 0.0        exposed-modules: GI.Gst,+                       GI.Gst.Callbacks,+                       GI.Gst.Constants,+                       GI.Gst.Enums,+                       GI.Gst.Flags,+                       GI.Gst.Functions,+                       GI.Gst.Interfaces,+                       GI.Gst.Interfaces.ChildProxy,+                       GI.Gst.Interfaces.Preset,+                       GI.Gst.Interfaces.TagSetter,+                       GI.Gst.Interfaces.TocSetter,+                       GI.Gst.Interfaces.URIHandler,+                       GI.Gst.Objects,+                       GI.Gst.Objects.Allocator,+                       GI.Gst.Objects.Bin,+                       GI.Gst.Objects.Bitmask,+                       GI.Gst.Objects.BufferPool,+                       GI.Gst.Objects.Bus,+                       GI.Gst.Objects.Clock,+                       GI.Gst.Objects.ControlBinding,+                       GI.Gst.Objects.ControlSource,+                       GI.Gst.Objects.Device,+                       GI.Gst.Objects.DeviceMonitor,+                       GI.Gst.Objects.DeviceProvider,+                       GI.Gst.Objects.DeviceProviderFactory,+                       GI.Gst.Objects.DoubleRange,+                       GI.Gst.Objects.DynamicTypeFactory,+                       GI.Gst.Objects.Element,+                       GI.Gst.Objects.ElementFactory,+                       GI.Gst.Objects.FlagSet,+                       GI.Gst.Objects.Fraction,+                       GI.Gst.Objects.FractionRange,+                       GI.Gst.Objects.GhostPad,+                       GI.Gst.Objects.Int64Range,+                       GI.Gst.Objects.IntRange,+                       GI.Gst.Objects.Object,+                       GI.Gst.Objects.Pad,+                       GI.Gst.Objects.PadTemplate,+                       GI.Gst.Objects.ParamArray,+                       GI.Gst.Objects.ParamFraction,+                       GI.Gst.Objects.Pipeline,+                       GI.Gst.Objects.Plugin,+                       GI.Gst.Objects.PluginFeature,+                       GI.Gst.Objects.ProxyPad,+                       GI.Gst.Objects.Registry,+                       GI.Gst.Objects.Stream,+                       GI.Gst.Objects.StreamCollection,+                       GI.Gst.Objects.SystemClock,+                       GI.Gst.Objects.Task,+                       GI.Gst.Objects.TaskPool,+                       GI.Gst.Objects.Tracer,+                       GI.Gst.Objects.TracerFactory,+                       GI.Gst.Objects.TracerRecord,+                       GI.Gst.Objects.TypeFindFactory,+                       GI.Gst.Objects.ValueArray,+                       GI.Gst.Objects.ValueList,+                       GI.Gst.Structs,+                       GI.Gst.Structs.AllocationParams,+                       GI.Gst.Structs.AtomicQueue,+                       GI.Gst.Structs.Buffer,+                       GI.Gst.Structs.BufferList,+                       GI.Gst.Structs.BufferPoolAcquireParams,+                       GI.Gst.Structs.Caps,+                       GI.Gst.Structs.CapsFeatures,+                       GI.Gst.Structs.ClockEntry,+                       GI.Gst.Structs.Context,+                       GI.Gst.Structs.DateTime,+                       GI.Gst.Structs.DebugCategory,+                       GI.Gst.Structs.DebugMessage,+                       GI.Gst.Structs.Event,+                       GI.Gst.Structs.FormatDefinition,+                       GI.Gst.Structs.Iterator,+                       GI.Gst.Structs.MapInfo,+                       GI.Gst.Structs.Memory,+                       GI.Gst.Structs.Message,+                       GI.Gst.Structs.Meta,+                       GI.Gst.Structs.MetaInfo,+                       GI.Gst.Structs.MetaTransformCopy,+                       GI.Gst.Structs.MiniObject,+                       GI.Gst.Structs.PadProbeInfo,+                       GI.Gst.Structs.ParamSpecArray,+                       GI.Gst.Structs.ParamSpecFraction,+                       GI.Gst.Structs.ParentBufferMeta,+                       GI.Gst.Structs.ParseContext,+                       GI.Gst.Structs.PluginDesc,+                       GI.Gst.Structs.Poll,+                       GI.Gst.Structs.PollFD,+                       GI.Gst.Structs.Promise,+                       GI.Gst.Structs.ProtectionMeta,+                       GI.Gst.Structs.Query,+                       GI.Gst.Structs.ReferenceTimestampMeta,+                       GI.Gst.Structs.Sample,+                       GI.Gst.Structs.Segment,+                       GI.Gst.Structs.StaticCaps,+                       GI.Gst.Structs.StaticPadTemplate,+                       GI.Gst.Structs.Structure,+                       GI.Gst.Structs.TagList,+                       GI.Gst.Structs.TimedValue,+                       GI.Gst.Structs.Toc,+                       GI.Gst.Structs.TocEntry,+                       GI.Gst.Structs.TypeFind,+                       GI.Gst.Structs.Uri,+                       GI.Gst.Structs.ValueTable++      autogen-modules: GI.Gst,                        GI.Gst.Callbacks,                        GI.Gst.Constants,                        GI.Gst.Enums,