packages feed

gi-gstbase 1.0.18 → 1.0.19

raw patch · 41 files changed

+29/−18831 lines, 41 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/GstBase.hs
@@ -1,56 +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.GstBase-    (     module GI.GstBase.Callbacks             ,-    module GI.GstBase.Constants             ,-    module GI.GstBase.Flags                 ,-    module GI.GstBase.Functions             ,-    module GI.GstBase.Objects               ,-    module GI.GstBase.Structs               ,----    module Data.GI.Base                     ,---    ) where--import GI.GstBase.Callbacks-import GI.GstBase.Constants-import GI.GstBase.Flags-import GI.GstBase.Functions-import GI.GstBase.Objects-import GI.GstBase.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/GstBase/Callbacks.hs
@@ -1,1279 +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.GstBase.Callbacks-    ( -- -- * Signals--- ** CollectDataDestroyNotify #signal:CollectDataDestroyNotify#--    C_CollectDataDestroyNotify              ,-    CollectDataDestroyNotify                ,-    dynamic_CollectDataDestroyNotify        ,-    genClosure_CollectDataDestroyNotify     ,-    mk_CollectDataDestroyNotify             ,-    noCollectDataDestroyNotify              ,-    wrap_CollectDataDestroyNotify           ,----- ** CollectPadsBufferFunction #signal:CollectPadsBufferFunction#--    C_CollectPadsBufferFunction             ,-    CollectPadsBufferFunction               ,-    CollectPadsBufferFunction_WithClosures  ,-    drop_closures_CollectPadsBufferFunction ,-    dynamic_CollectPadsBufferFunction       ,-    genClosure_CollectPadsBufferFunction    ,-    mk_CollectPadsBufferFunction            ,-    noCollectPadsBufferFunction             ,-    noCollectPadsBufferFunction_WithClosures,-    wrap_CollectPadsBufferFunction          ,----- ** CollectPadsClipFunction #signal:CollectPadsClipFunction#--    C_CollectPadsClipFunction               ,-    CollectPadsClipFunction                 ,-    CollectPadsClipFunction_WithClosures    ,-    drop_closures_CollectPadsClipFunction   ,-    dynamic_CollectPadsClipFunction         ,-    genClosure_CollectPadsClipFunction      ,-    mk_CollectPadsClipFunction              ,-    noCollectPadsClipFunction               ,-    noCollectPadsClipFunction_WithClosures  ,-    wrap_CollectPadsClipFunction            ,----- ** CollectPadsCompareFunction #signal:CollectPadsCompareFunction#--    C_CollectPadsCompareFunction            ,-    CollectPadsCompareFunction              ,-    CollectPadsCompareFunction_WithClosures ,-    drop_closures_CollectPadsCompareFunction,-    dynamic_CollectPadsCompareFunction      ,-    genClosure_CollectPadsCompareFunction   ,-    mk_CollectPadsCompareFunction           ,-    noCollectPadsCompareFunction            ,-    noCollectPadsCompareFunction_WithClosures,-    wrap_CollectPadsCompareFunction         ,----- ** CollectPadsEventFunction #signal:CollectPadsEventFunction#--    C_CollectPadsEventFunction              ,-    CollectPadsEventFunction                ,-    CollectPadsEventFunction_WithClosures   ,-    drop_closures_CollectPadsEventFunction  ,-    dynamic_CollectPadsEventFunction        ,-    genClosure_CollectPadsEventFunction     ,-    mk_CollectPadsEventFunction             ,-    noCollectPadsEventFunction              ,-    noCollectPadsEventFunction_WithClosures ,-    wrap_CollectPadsEventFunction           ,----- ** CollectPadsFlushFunction #signal:CollectPadsFlushFunction#--    C_CollectPadsFlushFunction              ,-    CollectPadsFlushFunction                ,-    CollectPadsFlushFunction_WithClosures   ,-    drop_closures_CollectPadsFlushFunction  ,-    dynamic_CollectPadsFlushFunction        ,-    genClosure_CollectPadsFlushFunction     ,-    mk_CollectPadsFlushFunction             ,-    noCollectPadsFlushFunction              ,-    noCollectPadsFlushFunction_WithClosures ,-    wrap_CollectPadsFlushFunction           ,----- ** CollectPadsFunction #signal:CollectPadsFunction#--    C_CollectPadsFunction                   ,-    CollectPadsFunction                     ,-    CollectPadsFunction_WithClosures        ,-    drop_closures_CollectPadsFunction       ,-    dynamic_CollectPadsFunction             ,-    genClosure_CollectPadsFunction          ,-    mk_CollectPadsFunction                  ,-    noCollectPadsFunction                   ,-    noCollectPadsFunction_WithClosures      ,-    wrap_CollectPadsFunction                ,----- ** CollectPadsQueryFunction #signal:CollectPadsQueryFunction#--    C_CollectPadsQueryFunction              ,-    CollectPadsQueryFunction                ,-    CollectPadsQueryFunction_WithClosures   ,-    drop_closures_CollectPadsQueryFunction  ,-    dynamic_CollectPadsQueryFunction        ,-    genClosure_CollectPadsQueryFunction     ,-    mk_CollectPadsQueryFunction             ,-    noCollectPadsQueryFunction              ,-    noCollectPadsQueryFunction_WithClosures ,-    wrap_CollectPadsQueryFunction           ,----- ** DataQueueEmptyCallback #signal:DataQueueEmptyCallback#--    C_DataQueueEmptyCallback                ,-    DataQueueEmptyCallback                  ,-    dynamic_DataQueueEmptyCallback          ,-    genClosure_DataQueueEmptyCallback       ,-    mk_DataQueueEmptyCallback               ,-    noDataQueueEmptyCallback                ,-    wrap_DataQueueEmptyCallback             ,----- ** DataQueueFullCallback #signal:DataQueueFullCallback#--    C_DataQueueFullCallback                 ,-    DataQueueFullCallback                   ,-    dynamic_DataQueueFullCallback           ,-    genClosure_DataQueueFullCallback        ,-    mk_DataQueueFullCallback                ,-    noDataQueueFullCallback                 ,-    wrap_DataQueueFullCallback              ,----- ** TypeFindHelperGetRangeFunction #signal:TypeFindHelperGetRangeFunction#--    C_TypeFindHelperGetRangeFunction        ,-    TypeFindHelperGetRangeFunction          ,-    dynamic_TypeFindHelperGetRangeFunction  ,-    genClosure_TypeFindHelperGetRangeFunction,-    mk_TypeFindHelperGetRangeFunction       ,-    noTypeFindHelperGetRangeFunction        ,-    wrap_TypeFindHelperGetRangeFunction     ,-----    ) 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.Enums as Gst.Enums-import qualified GI.Gst.Objects.Object as Gst.Object-import qualified GI.Gst.Structs.Buffer as Gst.Buffer-import qualified GI.Gst.Structs.Event as Gst.Event-import qualified GI.Gst.Structs.Query as Gst.Query-import {-# SOURCE #-} qualified GI.GstBase.Objects.CollectPads as GstBase.CollectPads-import {-# SOURCE #-} qualified GI.GstBase.Objects.DataQueue as GstBase.DataQueue-import {-# SOURCE #-} qualified GI.GstBase.Structs.CollectData as GstBase.CollectData---- callback TypeFindHelperGetRangeFunction---          -> 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 = "obj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject that will handle the getrange request", 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 @obj or %NULL", 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 = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a memory location to hold the result buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This function will be called by gst_type_find_helper_get_range() when\ntypefinding functions request to peek at the data of a stream at certain\noffsets. If this function returns GST_FLOW_OK, the result buffer will be\nstored in @buffer. The  contents of @buffer is invalid for any other\nreturn value.\n\nThis function is supposed to behave exactly like a #GstPadGetRangeFunction.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TypeFindHelperGetRangeFunction =-    Ptr Gst.Object.Object ->-    Ptr Gst.Object.Object ->-    Word64 ->-    Word32 ->-    Ptr (Ptr Gst.Buffer.Buffer) ->-    IO CInt---- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstObject that will handle the getrange request", 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 @obj or %NULL", 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 = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a memory location to hold the result buffer", 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_TypeFindHelperGetRangeFunction :: FunPtr C_TypeFindHelperGetRangeFunction -> C_TypeFindHelperGetRangeFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TypeFindHelperGetRangeFunction ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Object.IsObject b) =>-    FunPtr C_TypeFindHelperGetRangeFunction-    -> a-    {- ^ /@obj@/: a 'GI.Gst.Objects.Object.Object' that will handle the getrange request -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@obj@/ or 'Nothing' -}-    -> Word64-    {- ^ /@offset@/: the offset of the range -}-    -> Word32-    {- ^ /@length@/: the length of the range -}-    -> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))-    {- ^ __Returns:__ GST_FLOW_OK for success -}-dynamic_TypeFindHelperGetRangeFunction __funPtr obj parent offset length_ = liftIO $ do-    obj' <- unsafeManagedPtrCastPtr obj-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    buffer <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))-    result <- (__dynamic_C_TypeFindHelperGetRangeFunction __funPtr) obj' maybeParent offset length_ buffer-    let result' = (toEnum . fromIntegral) result-    buffer' <- peek buffer-    buffer'' <- (wrapBoxed Gst.Buffer.Buffer) buffer'-    touchManagedPtr obj-    whenJust parent touchManagedPtr-    freeMem buffer-    return (result', buffer'')---- | Generate a function pointer callable from C code, from a `C_TypeFindHelperGetRangeFunction`.-foreign import ccall "wrapper"-    mk_TypeFindHelperGetRangeFunction :: C_TypeFindHelperGetRangeFunction -> IO (FunPtr C_TypeFindHelperGetRangeFunction)--{- |-This function will be called by 'GI.GstBase.Functions.typeFindHelperGetRange' when-typefinding functions request to peek at the data of a stream at certain-offsets. If this function returns GST_FLOW_OK, the result buffer will be-stored in /@buffer@/. The  contents of /@buffer@/ is invalid for any other-return value.--This function is supposed to behave exactly like a 'GI.Gst.Callbacks.PadGetRangeFunction'.--}-type TypeFindHelperGetRangeFunction =-    Gst.Object.Object-    {- ^ /@obj@/: a 'GI.Gst.Objects.Object.Object' that will handle the getrange request -}-    -> Maybe Gst.Object.Object-    {- ^ /@parent@/: the parent of /@obj@/ or 'Nothing' -}-    -> Word64-    {- ^ /@offset@/: the offset of the range -}-    -> Word32-    {- ^ /@length@/: the length of the range -}-    -> IO ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))-    {- ^ __Returns:__ GST_FLOW_OK for success -}---- | A convenience synonym for @`Nothing` :: `Maybe` `TypeFindHelperGetRangeFunction`@.-noTypeFindHelperGetRangeFunction :: Maybe TypeFindHelperGetRangeFunction-noTypeFindHelperGetRangeFunction = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_TypeFindHelperGetRangeFunction :: MonadIO m => TypeFindHelperGetRangeFunction -> m (GClosure C_TypeFindHelperGetRangeFunction)-genClosure_TypeFindHelperGetRangeFunction cb = liftIO $ do-    let cb' = wrap_TypeFindHelperGetRangeFunction Nothing cb-    mk_TypeFindHelperGetRangeFunction cb' >>= B.GClosure.newGClosure----- | Wrap a `TypeFindHelperGetRangeFunction` into a `C_TypeFindHelperGetRangeFunction`.-wrap_TypeFindHelperGetRangeFunction ::-    Maybe (Ptr (FunPtr C_TypeFindHelperGetRangeFunction)) ->-    TypeFindHelperGetRangeFunction ->-    C_TypeFindHelperGetRangeFunction-wrap_TypeFindHelperGetRangeFunction funptrptr _cb obj parent offset length_ buffer = do-    obj' <- (newObject Gst.Object.Object) obj-    maybeParent <--        if parent == nullPtr-        then return Nothing-        else do-            parent' <- (newObject Gst.Object.Object) parent-            return $ Just parent'-    (result, outbuffer) <- _cb  obj' maybeParent offset length_-    outbuffer' <- B.ManagedPtr.disownBoxed outbuffer-    poke buffer outbuffer'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback DataQueueFullCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GstBase", name = "DataQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checkdata", 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_DataQueueFullCallback =-    Ptr GstBase.DataQueue.DataQueue ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GstBase", name = "DataQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checkdata", 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_DataQueueFullCallback :: FunPtr C_DataQueueFullCallback -> C_DataQueueFullCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_DataQueueFullCallback ::-    (B.CallStack.HasCallStack, MonadIO m, GstBase.DataQueue.IsDataQueue a) =>-    FunPtr C_DataQueueFullCallback-    -> a-    -> Ptr ()-    -> m ()-dynamic_DataQueueFullCallback __funPtr queue checkdata = liftIO $ do-    queue' <- unsafeManagedPtrCastPtr queue-    (__dynamic_C_DataQueueFullCallback __funPtr) queue' checkdata-    touchManagedPtr queue-    return ()---- | Generate a function pointer callable from C code, from a `C_DataQueueFullCallback`.-foreign import ccall "wrapper"-    mk_DataQueueFullCallback :: C_DataQueueFullCallback -> IO (FunPtr C_DataQueueFullCallback)--{- |-/No description available in the introspection data./--}-type DataQueueFullCallback =-    GstBase.DataQueue.DataQueue-    -> Ptr ()-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `DataQueueFullCallback`@.-noDataQueueFullCallback :: Maybe DataQueueFullCallback-noDataQueueFullCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_DataQueueFullCallback :: MonadIO m => DataQueueFullCallback -> m (GClosure C_DataQueueFullCallback)-genClosure_DataQueueFullCallback cb = liftIO $ do-    let cb' = wrap_DataQueueFullCallback Nothing cb-    mk_DataQueueFullCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `DataQueueFullCallback` into a `C_DataQueueFullCallback`.-wrap_DataQueueFullCallback ::-    Maybe (Ptr (FunPtr C_DataQueueFullCallback)) ->-    DataQueueFullCallback ->-    C_DataQueueFullCallback-wrap_DataQueueFullCallback funptrptr _cb queue checkdata = do-    queue' <- (newObject GstBase.DataQueue.DataQueue) queue-    _cb  queue' checkdata-    maybeReleaseFunPtr funptrptr----- callback DataQueueEmptyCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GstBase", name = "DataQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checkdata", 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_DataQueueEmptyCallback =-    Ptr GstBase.DataQueue.DataQueue ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GstBase", name = "DataQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checkdata", 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_DataQueueEmptyCallback :: FunPtr C_DataQueueEmptyCallback -> C_DataQueueEmptyCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_DataQueueEmptyCallback ::-    (B.CallStack.HasCallStack, MonadIO m, GstBase.DataQueue.IsDataQueue a) =>-    FunPtr C_DataQueueEmptyCallback-    -> a-    -> Ptr ()-    -> m ()-dynamic_DataQueueEmptyCallback __funPtr queue checkdata = liftIO $ do-    queue' <- unsafeManagedPtrCastPtr queue-    (__dynamic_C_DataQueueEmptyCallback __funPtr) queue' checkdata-    touchManagedPtr queue-    return ()---- | Generate a function pointer callable from C code, from a `C_DataQueueEmptyCallback`.-foreign import ccall "wrapper"-    mk_DataQueueEmptyCallback :: C_DataQueueEmptyCallback -> IO (FunPtr C_DataQueueEmptyCallback)--{- |-/No description available in the introspection data./--}-type DataQueueEmptyCallback =-    GstBase.DataQueue.DataQueue-    -> Ptr ()-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `DataQueueEmptyCallback`@.-noDataQueueEmptyCallback :: Maybe DataQueueEmptyCallback-noDataQueueEmptyCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_DataQueueEmptyCallback :: MonadIO m => DataQueueEmptyCallback -> m (GClosure C_DataQueueEmptyCallback)-genClosure_DataQueueEmptyCallback cb = liftIO $ do-    let cb' = wrap_DataQueueEmptyCallback Nothing cb-    mk_DataQueueEmptyCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `DataQueueEmptyCallback` into a `C_DataQueueEmptyCallback`.-wrap_DataQueueEmptyCallback ::-    Maybe (Ptr (FunPtr C_DataQueueEmptyCallback)) ->-    DataQueueEmptyCallback ->-    C_DataQueueEmptyCallback-wrap_DataQueueEmptyCallback funptrptr _cb queue checkdata = do-    queue' <- (newObject GstBase.DataQueue.DataQueue) queue-    _cb  queue' checkdata-    maybeReleaseFunPtr funptrptr----- callback CollectPadsQueryFunction---          -> 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 = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that triggered the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that received an event", 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 #GstEvent received", 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_collect_pads_set_query_function()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called while processing a query. It takes\nownership of the query and is responsible for chaining up (to\nevents downstream (with gst_pad_event_default()).", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CollectPadsQueryFunction =-    Ptr GstBase.CollectPads.CollectPads ->-    Ptr GstBase.CollectData.CollectData ->-    Ptr Gst.Query.Query ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that triggered the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that received an event", 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 #GstEvent received", 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_collect_pads_set_query_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_CollectPadsQueryFunction :: FunPtr C_CollectPadsQueryFunction -> C_CollectPadsQueryFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CollectPadsQueryFunction ::-    (B.CallStack.HasCallStack, MonadIO m, GstBase.CollectPads.IsCollectPads a) =>-    FunPtr C_CollectPadsQueryFunction-    -> a-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> GstBase.CollectData.CollectData-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that received an event -}-    -> Gst.Query.Query-    {- ^ /@query@/: the 'GI.Gst.Structs.Event.Event' received -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetQueryFunction' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad could handle the event -}-dynamic_CollectPadsQueryFunction __funPtr pads pad query userData = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    pad' <- unsafeManagedPtrGetPtr pad-    query' <- unsafeManagedPtrGetPtr query-    result <- (__dynamic_C_CollectPadsQueryFunction __funPtr) pads' pad' query' userData-    let result' = (/= 0) result-    touchManagedPtr pads-    touchManagedPtr pad-    touchManagedPtr query-    return result'---- | Generate a function pointer callable from C code, from a `C_CollectPadsQueryFunction`.-foreign import ccall "wrapper"-    mk_CollectPadsQueryFunction :: C_CollectPadsQueryFunction -> IO (FunPtr C_CollectPadsQueryFunction)--{- |-A function that will be called while processing a query. It takes-ownership of the query and is responsible for chaining up (to-events downstream (with 'GI.Gst.Objects.Pad.padEventDefault').--}-type CollectPadsQueryFunction =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> GstBase.CollectData.CollectData-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that received an event -}-    -> Gst.Query.Query-    {- ^ /@query@/: the 'GI.Gst.Structs.Event.Event' received -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the pad could handle the event -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsQueryFunction`@.-noCollectPadsQueryFunction :: Maybe CollectPadsQueryFunction-noCollectPadsQueryFunction = Nothing--{- |-A function that will be called while processing a query. It takes-ownership of the query and is responsible for chaining up (to-events downstream (with 'GI.Gst.Objects.Pad.padEventDefault').--}-type CollectPadsQueryFunction_WithClosures =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> GstBase.CollectData.CollectData-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that received an event -}-    -> Gst.Query.Query-    {- ^ /@query@/: the 'GI.Gst.Structs.Event.Event' received -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetQueryFunction' -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the pad could handle the event -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsQueryFunction_WithClosures`@.-noCollectPadsQueryFunction_WithClosures :: Maybe CollectPadsQueryFunction_WithClosures-noCollectPadsQueryFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CollectPadsQueryFunction :: CollectPadsQueryFunction -> CollectPadsQueryFunction_WithClosures-drop_closures_CollectPadsQueryFunction _f pads pad query _ = _f pads pad query---- | Wrap the callback into a `GClosure`.-genClosure_CollectPadsQueryFunction :: MonadIO m => CollectPadsQueryFunction -> m (GClosure C_CollectPadsQueryFunction)-genClosure_CollectPadsQueryFunction cb = liftIO $ do-    let cb' = drop_closures_CollectPadsQueryFunction cb-    let cb'' = wrap_CollectPadsQueryFunction Nothing cb'-    mk_CollectPadsQueryFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `CollectPadsQueryFunction` into a `C_CollectPadsQueryFunction`.-wrap_CollectPadsQueryFunction ::-    Maybe (Ptr (FunPtr C_CollectPadsQueryFunction)) ->-    CollectPadsQueryFunction_WithClosures ->-    C_CollectPadsQueryFunction-wrap_CollectPadsQueryFunction funptrptr _cb pads pad query userData = do-    pads' <- (newObject GstBase.CollectPads.CollectPads) pads-    pad' <- (newPtr GstBase.CollectData.CollectData) pad-    B.ManagedPtr.withTransient Gst.Query.Query query $ \query' -> do-        result <- _cb  pads' pad' query' userData-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback CollectPadsFunction---          -> 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 = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that triggered the callback", 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_collect_pads_set_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 when all pads have received data.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CollectPadsFunction =-    Ptr GstBase.CollectPads.CollectPads ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that triggered the callback", 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_collect_pads_set_function()", 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_CollectPadsFunction :: FunPtr C_CollectPadsFunction -> C_CollectPadsFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CollectPadsFunction ::-    (B.CallStack.HasCallStack, MonadIO m, GstBase.CollectPads.IsCollectPads a) =>-    FunPtr C_CollectPadsFunction-    -> a-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetFunction' -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' for success -}-dynamic_CollectPadsFunction __funPtr pads userData = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    result <- (__dynamic_C_CollectPadsFunction __funPtr) pads' userData-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pads-    return result'---- | Generate a function pointer callable from C code, from a `C_CollectPadsFunction`.-foreign import ccall "wrapper"-    mk_CollectPadsFunction :: C_CollectPadsFunction -> IO (FunPtr C_CollectPadsFunction)--{- |-A function that will be called when all pads have received data.--}-type CollectPadsFunction =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> IO Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' for success -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsFunction`@.-noCollectPadsFunction :: Maybe CollectPadsFunction-noCollectPadsFunction = Nothing--{- |-A function that will be called when all pads have received data.--}-type CollectPadsFunction_WithClosures =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetFunction' -}-    -> IO Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' for success -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsFunction_WithClosures`@.-noCollectPadsFunction_WithClosures :: Maybe CollectPadsFunction_WithClosures-noCollectPadsFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CollectPadsFunction :: CollectPadsFunction -> CollectPadsFunction_WithClosures-drop_closures_CollectPadsFunction _f pads _ = _f pads---- | Wrap the callback into a `GClosure`.-genClosure_CollectPadsFunction :: MonadIO m => CollectPadsFunction -> m (GClosure C_CollectPadsFunction)-genClosure_CollectPadsFunction cb = liftIO $ do-    let cb' = drop_closures_CollectPadsFunction cb-    let cb'' = wrap_CollectPadsFunction Nothing cb'-    mk_CollectPadsFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `CollectPadsFunction` into a `C_CollectPadsFunction`.-wrap_CollectPadsFunction ::-    Maybe (Ptr (FunPtr C_CollectPadsFunction)) ->-    CollectPadsFunction_WithClosures ->-    C_CollectPadsFunction-wrap_CollectPadsFunction funptrptr _cb pads userData = do-    pads' <- (newObject GstBase.CollectPads.CollectPads) pads-    result <- _cb  pads' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback CollectPadsFlushFunction---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCollectPads", 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 will be called while processing a flushing seek event.\n\nThe function should flush any internal state of the element and the state of\nall the pads. It should clear only the state not directly managed by the\n@pads object. It is therefore not necessary to call\ngst_collect_pads_set_flushing nor gst_collect_pads_clear from this function.", sinceVersion = Just "1.4"}}--- | Type for the callback on the (unwrapped) C side.-type C_CollectPadsFlushFunction =-    Ptr GstBase.CollectPads.CollectPads ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCollectPads", 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_CollectPadsFlushFunction :: FunPtr C_CollectPadsFlushFunction -> C_CollectPadsFlushFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CollectPadsFlushFunction ::-    (B.CallStack.HasCallStack, MonadIO m, GstBase.CollectPads.IsCollectPads a) =>-    FunPtr C_CollectPadsFlushFunction-    -> a-    {- ^ /@pads@/: a 'GI.GstBase.Objects.CollectPads.CollectPads' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m ()-dynamic_CollectPadsFlushFunction __funPtr pads userData = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    (__dynamic_C_CollectPadsFlushFunction __funPtr) pads' userData-    touchManagedPtr pads-    return ()---- | Generate a function pointer callable from C code, from a `C_CollectPadsFlushFunction`.-foreign import ccall "wrapper"-    mk_CollectPadsFlushFunction :: C_CollectPadsFlushFunction -> IO (FunPtr C_CollectPadsFlushFunction)--{- |-A function that will be called while processing a flushing seek event.--The function should flush any internal state of the element and the state of-all the pads. It should clear only the state not directly managed by the-/@pads@/ object. It is therefore not necessary to call-gst_collect_pads_set_flushing nor gst_collect_pads_clear from this function.--/Since: 1.4/--}-type CollectPadsFlushFunction =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: a 'GI.GstBase.Objects.CollectPads.CollectPads' -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsFlushFunction`@.-noCollectPadsFlushFunction :: Maybe CollectPadsFlushFunction-noCollectPadsFlushFunction = Nothing--{- |-A function that will be called while processing a flushing seek event.--The function should flush any internal state of the element and the state of-all the pads. It should clear only the state not directly managed by the-/@pads@/ object. It is therefore not necessary to call-gst_collect_pads_set_flushing nor gst_collect_pads_clear from this function.--/Since: 1.4/--}-type CollectPadsFlushFunction_WithClosures =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: a 'GI.GstBase.Objects.CollectPads.CollectPads' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsFlushFunction_WithClosures`@.-noCollectPadsFlushFunction_WithClosures :: Maybe CollectPadsFlushFunction_WithClosures-noCollectPadsFlushFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CollectPadsFlushFunction :: CollectPadsFlushFunction -> CollectPadsFlushFunction_WithClosures-drop_closures_CollectPadsFlushFunction _f pads _ = _f pads---- | Wrap the callback into a `GClosure`.-genClosure_CollectPadsFlushFunction :: MonadIO m => CollectPadsFlushFunction -> m (GClosure C_CollectPadsFlushFunction)-genClosure_CollectPadsFlushFunction cb = liftIO $ do-    let cb' = drop_closures_CollectPadsFlushFunction cb-    let cb'' = wrap_CollectPadsFlushFunction Nothing cb'-    mk_CollectPadsFlushFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `CollectPadsFlushFunction` into a `C_CollectPadsFlushFunction`.-wrap_CollectPadsFlushFunction ::-    Maybe (Ptr (FunPtr C_CollectPadsFlushFunction)) ->-    CollectPadsFlushFunction_WithClosures ->-    C_CollectPadsFlushFunction-wrap_CollectPadsFlushFunction funptrptr _cb pads userData = do-    pads' <- (newObject GstBase.CollectPads.CollectPads) pads-    _cb  pads' userData-    maybeReleaseFunPtr funptrptr----- callback CollectPadsEventFunction---          -> 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 = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that triggered the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that received an event", 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 received", 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_collect_pads_set_event_function()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called while processing an event. It takes\nownership of the event and is responsible for chaining up (to\ngst_collect_pads_event_default()) or dropping events (such typical cases\nbeing handled by the default handler).", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CollectPadsEventFunction =-    Ptr GstBase.CollectPads.CollectPads ->-    Ptr GstBase.CollectData.CollectData ->-    Ptr Gst.Event.Event ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that triggered the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstPad that received an event", 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 received", 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_collect_pads_set_event_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_CollectPadsEventFunction :: FunPtr C_CollectPadsEventFunction -> C_CollectPadsEventFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CollectPadsEventFunction ::-    (B.CallStack.HasCallStack, MonadIO m, GstBase.CollectPads.IsCollectPads a) =>-    FunPtr C_CollectPadsEventFunction-    -> a-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> GstBase.CollectData.CollectData-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that received an event -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' received -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetEventFunction' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad could handle the event -}-dynamic_CollectPadsEventFunction __funPtr pads pad event userData = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    pad' <- unsafeManagedPtrGetPtr pad-    event' <- unsafeManagedPtrGetPtr event-    result <- (__dynamic_C_CollectPadsEventFunction __funPtr) pads' pad' event' userData-    let result' = (/= 0) result-    touchManagedPtr pads-    touchManagedPtr pad-    touchManagedPtr event-    return result'---- | Generate a function pointer callable from C code, from a `C_CollectPadsEventFunction`.-foreign import ccall "wrapper"-    mk_CollectPadsEventFunction :: C_CollectPadsEventFunction -> IO (FunPtr C_CollectPadsEventFunction)--{- |-A function that will be called while processing an event. It takes-ownership of the event and is responsible for chaining up (to-'GI.GstBase.Objects.CollectPads.collectPadsEventDefault') or dropping events (such typical cases-being handled by the default handler).--}-type CollectPadsEventFunction =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> GstBase.CollectData.CollectData-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that received an event -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' received -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the pad could handle the event -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsEventFunction`@.-noCollectPadsEventFunction :: Maybe CollectPadsEventFunction-noCollectPadsEventFunction = Nothing--{- |-A function that will be called while processing an event. It takes-ownership of the event and is responsible for chaining up (to-'GI.GstBase.Objects.CollectPads.collectPadsEventDefault') or dropping events (such typical cases-being handled by the default handler).--}-type CollectPadsEventFunction_WithClosures =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> GstBase.CollectData.CollectData-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that received an event -}-    -> Gst.Event.Event-    {- ^ /@event@/: the 'GI.Gst.Structs.Event.Event' received -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetEventFunction' -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the pad could handle the event -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsEventFunction_WithClosures`@.-noCollectPadsEventFunction_WithClosures :: Maybe CollectPadsEventFunction_WithClosures-noCollectPadsEventFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CollectPadsEventFunction :: CollectPadsEventFunction -> CollectPadsEventFunction_WithClosures-drop_closures_CollectPadsEventFunction _f pads pad event _ = _f pads pad event---- | Wrap the callback into a `GClosure`.-genClosure_CollectPadsEventFunction :: MonadIO m => CollectPadsEventFunction -> m (GClosure C_CollectPadsEventFunction)-genClosure_CollectPadsEventFunction cb = liftIO $ do-    let cb' = drop_closures_CollectPadsEventFunction cb-    let cb'' = wrap_CollectPadsEventFunction Nothing cb'-    mk_CollectPadsEventFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `CollectPadsEventFunction` into a `C_CollectPadsEventFunction`.-wrap_CollectPadsEventFunction ::-    Maybe (Ptr (FunPtr C_CollectPadsEventFunction)) ->-    CollectPadsEventFunction_WithClosures ->-    C_CollectPadsEventFunction-wrap_CollectPadsEventFunction funptrptr _cb pads pad event userData = do-    pads' <- (newObject GstBase.CollectPads.CollectPads) pads-    pad' <- (newPtr GstBase.CollectData.CollectData) pad-    B.ManagedPtr.withTransient Gst.Event.Event event $ \event' -> do-        result <- _cb  pads' pad' event' userData-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback CollectPadsCompareFunction---          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "Integer less than zero when first timestamp is deemed older than the second one.\n         Zero if the timestamps are deemed equally old.\n         Integer greater than zero when second timestamp is deemed older than the first one.", sinceVersion = Nothing}, args = [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that is comparing the timestamps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data1", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first #GstCollectData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp1", 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 = "data2", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second #GstCollectData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp2", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second timestamp", 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_collect_pads_set_compare_function()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function for comparing two timestamps of buffers or newsegments collected on one pad.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CollectPadsCompareFunction =-    Ptr GstBase.CollectPads.CollectPads ->-    Ptr GstBase.CollectData.CollectData ->-    Word64 ->-    Ptr GstBase.CollectData.CollectData ->-    Word64 ->-    Ptr () ->-    IO Int32---- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that is comparing the timestamps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data1", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first #GstCollectData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp1", 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 = "data2", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second #GstCollectData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp2", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second timestamp", 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_collect_pads_set_compare_function()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_CollectPadsCompareFunction :: FunPtr C_CollectPadsCompareFunction -> C_CollectPadsCompareFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CollectPadsCompareFunction ::-    (B.CallStack.HasCallStack, MonadIO m, GstBase.CollectPads.IsCollectPads a) =>-    FunPtr C_CollectPadsCompareFunction-    -> a-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that is comparing the timestamps -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data1@/: the first 'GI.GstBase.Structs.CollectData.CollectData' -}-    -> Word64-    {- ^ /@timestamp1@/: the first timestamp -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data2@/: the second 'GI.GstBase.Structs.CollectData.CollectData' -}-    -> Word64-    {- ^ /@timestamp2@/: the second timestamp -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetCompareFunction' -}-    -> m Int32-    {- ^ __Returns:__ Integer less than zero when first timestamp is deemed older than the second one.-         Zero if the timestamps are deemed equally old.-         Integer greater than zero when second timestamp is deemed older than the first one. -}-dynamic_CollectPadsCompareFunction __funPtr pads data1 timestamp1 data2 timestamp2 userData = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data1' <- unsafeManagedPtrGetPtr data1-    data2' <- unsafeManagedPtrGetPtr data2-    result <- (__dynamic_C_CollectPadsCompareFunction __funPtr) pads' data1' timestamp1 data2' timestamp2 userData-    touchManagedPtr pads-    touchManagedPtr data1-    touchManagedPtr data2-    return result---- | Generate a function pointer callable from C code, from a `C_CollectPadsCompareFunction`.-foreign import ccall "wrapper"-    mk_CollectPadsCompareFunction :: C_CollectPadsCompareFunction -> IO (FunPtr C_CollectPadsCompareFunction)--{- |-A function for comparing two timestamps of buffers or newsegments collected on one pad.--}-type CollectPadsCompareFunction =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that is comparing the timestamps -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data1@/: the first 'GI.GstBase.Structs.CollectData.CollectData' -}-    -> Word64-    {- ^ /@timestamp1@/: the first timestamp -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data2@/: the second 'GI.GstBase.Structs.CollectData.CollectData' -}-    -> Word64-    {- ^ /@timestamp2@/: the second timestamp -}-    -> IO Int32-    {- ^ __Returns:__ Integer less than zero when first timestamp is deemed older than the second one.-         Zero if the timestamps are deemed equally old.-         Integer greater than zero when second timestamp is deemed older than the first one. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsCompareFunction`@.-noCollectPadsCompareFunction :: Maybe CollectPadsCompareFunction-noCollectPadsCompareFunction = Nothing--{- |-A function for comparing two timestamps of buffers or newsegments collected on one pad.--}-type CollectPadsCompareFunction_WithClosures =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that is comparing the timestamps -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data1@/: the first 'GI.GstBase.Structs.CollectData.CollectData' -}-    -> Word64-    {- ^ /@timestamp1@/: the first timestamp -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data2@/: the second 'GI.GstBase.Structs.CollectData.CollectData' -}-    -> Word64-    {- ^ /@timestamp2@/: the second timestamp -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetCompareFunction' -}-    -> IO Int32-    {- ^ __Returns:__ Integer less than zero when first timestamp is deemed older than the second one.-         Zero if the timestamps are deemed equally old.-         Integer greater than zero when second timestamp is deemed older than the first one. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsCompareFunction_WithClosures`@.-noCollectPadsCompareFunction_WithClosures :: Maybe CollectPadsCompareFunction_WithClosures-noCollectPadsCompareFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CollectPadsCompareFunction :: CollectPadsCompareFunction -> CollectPadsCompareFunction_WithClosures-drop_closures_CollectPadsCompareFunction _f pads data1 timestamp1 data2 timestamp2 _ = _f pads data1 timestamp1 data2 timestamp2---- | Wrap the callback into a `GClosure`.-genClosure_CollectPadsCompareFunction :: MonadIO m => CollectPadsCompareFunction -> m (GClosure C_CollectPadsCompareFunction)-genClosure_CollectPadsCompareFunction cb = liftIO $ do-    let cb' = drop_closures_CollectPadsCompareFunction cb-    let cb'' = wrap_CollectPadsCompareFunction Nothing cb'-    mk_CollectPadsCompareFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `CollectPadsCompareFunction` into a `C_CollectPadsCompareFunction`.-wrap_CollectPadsCompareFunction ::-    Maybe (Ptr (FunPtr C_CollectPadsCompareFunction)) ->-    CollectPadsCompareFunction_WithClosures ->-    C_CollectPadsCompareFunction-wrap_CollectPadsCompareFunction funptrptr _cb pads data1 timestamp1 data2 timestamp2 userData = do-    pads' <- (newObject GstBase.CollectPads.CollectPads) pads-    data1' <- (newPtr GstBase.CollectData.CollectData) data1-    data2' <- (newPtr GstBase.CollectData.CollectData) data2-    result <- _cb  pads' data1' timestamp1 data2' timestamp2 userData-    maybeReleaseFunPtr funptrptr-    return result----- callback CollectPadsClipFunction---          -> Callable {returnType = Just (TInterface (Name {namespace = "Gst", name = "FlowReturn"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a #GstFlowReturn that corresponds to the result of clipping.", sinceVersion = Nothing}, args = [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCollectPads", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCollectData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "inbuffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the input #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "outbuffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the output #GstBuffer", 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", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called when @inbuffer is received on the pad managed\nby @data in the collectpad object @pads.\n\nThe function should use the segment of @data and the negotiated media type on\nthe pad to perform clipping of @inbuffer.\n\nThis function takes ownership of @inbuffer and should output a buffer in\n@outbuffer or return %NULL in @outbuffer if the buffer should be dropped.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CollectPadsClipFunction =-    Ptr GstBase.CollectPads.CollectPads ->-    Ptr GstBase.CollectData.CollectData ->-    Ptr Gst.Buffer.Buffer ->-    Ptr (Ptr Gst.Buffer.Buffer) ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCollectPads", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstCollectData", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "inbuffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the input #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "outbuffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the output #GstBuffer", 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", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, 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_CollectPadsClipFunction :: FunPtr C_CollectPadsClipFunction -> C_CollectPadsClipFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CollectPadsClipFunction ::-    (B.CallStack.HasCallStack, MonadIO m, GstBase.CollectPads.IsCollectPads a) =>-    FunPtr C_CollectPadsClipFunction-    -> a-    {- ^ /@pads@/: a 'GI.GstBase.Objects.CollectPads.CollectPads' -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: a 'GI.GstBase.Structs.CollectData.CollectData' -}-    -> Gst.Buffer.Buffer-    {- ^ /@inbuffer@/: the input 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' that corresponds to the result of clipping. -}-dynamic_CollectPadsClipFunction __funPtr pads data_ inbuffer userData = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    inbuffer' <- B.ManagedPtr.disownBoxed inbuffer-    outbuffer <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))-    result <- (__dynamic_C_CollectPadsClipFunction __funPtr) pads' data_' inbuffer' outbuffer userData-    let result' = (toEnum . fromIntegral) result-    outbuffer' <- peek outbuffer-    outbuffer'' <- (wrapBoxed Gst.Buffer.Buffer) outbuffer'-    touchManagedPtr pads-    touchManagedPtr data_-    touchManagedPtr inbuffer-    freeMem outbuffer-    return (result', outbuffer'')---- | Generate a function pointer callable from C code, from a `C_CollectPadsClipFunction`.-foreign import ccall "wrapper"-    mk_CollectPadsClipFunction :: C_CollectPadsClipFunction -> IO (FunPtr C_CollectPadsClipFunction)--{- |-A function that will be called when /@inbuffer@/ is received on the pad managed-by /@data@/ in the collectpad object /@pads@/.--The function should use the segment of /@data@/ and the negotiated media type on-the pad to perform clipping of /@inbuffer@/.--This function takes ownership of /@inbuffer@/ and should output a buffer in-/@outbuffer@/ or return 'Nothing' in /@outbuffer@/ if the buffer should be dropped.--}-type CollectPadsClipFunction =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: a 'GI.GstBase.Objects.CollectPads.CollectPads' -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: a 'GI.GstBase.Structs.CollectData.CollectData' -}-    -> Gst.Buffer.Buffer-    {- ^ /@inbuffer@/: the input 'GI.Gst.Structs.Buffer.Buffer' -}-    -> IO ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' that corresponds to the result of clipping. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsClipFunction`@.-noCollectPadsClipFunction :: Maybe CollectPadsClipFunction-noCollectPadsClipFunction = Nothing--{- |-A function that will be called when /@inbuffer@/ is received on the pad managed-by /@data@/ in the collectpad object /@pads@/.--The function should use the segment of /@data@/ and the negotiated media type on-the pad to perform clipping of /@inbuffer@/.--This function takes ownership of /@inbuffer@/ and should output a buffer in-/@outbuffer@/ or return 'Nothing' in /@outbuffer@/ if the buffer should be dropped.--}-type CollectPadsClipFunction_WithClosures =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: a 'GI.GstBase.Objects.CollectPads.CollectPads' -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: a 'GI.GstBase.Structs.CollectData.CollectData' -}-    -> Gst.Buffer.Buffer-    {- ^ /@inbuffer@/: the input 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' that corresponds to the result of clipping. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsClipFunction_WithClosures`@.-noCollectPadsClipFunction_WithClosures :: Maybe CollectPadsClipFunction_WithClosures-noCollectPadsClipFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CollectPadsClipFunction :: CollectPadsClipFunction -> CollectPadsClipFunction_WithClosures-drop_closures_CollectPadsClipFunction _f pads data_ inbuffer _ = _f pads data_ inbuffer---- | Wrap the callback into a `GClosure`.-genClosure_CollectPadsClipFunction :: MonadIO m => CollectPadsClipFunction -> m (GClosure C_CollectPadsClipFunction)-genClosure_CollectPadsClipFunction cb = liftIO $ do-    let cb' = drop_closures_CollectPadsClipFunction cb-    let cb'' = wrap_CollectPadsClipFunction Nothing cb'-    mk_CollectPadsClipFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `CollectPadsClipFunction` into a `C_CollectPadsClipFunction`.-wrap_CollectPadsClipFunction ::-    Maybe (Ptr (FunPtr C_CollectPadsClipFunction)) ->-    CollectPadsClipFunction_WithClosures ->-    C_CollectPadsClipFunction-wrap_CollectPadsClipFunction funptrptr _cb pads data_ inbuffer outbuffer userData = do-    pads' <- (newObject GstBase.CollectPads.CollectPads) pads-    data_' <- (newPtr GstBase.CollectData.CollectData) data_-    inbuffer' <- (wrapBoxed Gst.Buffer.Buffer) inbuffer-    (result, outoutbuffer) <- _cb  pads' data_' inbuffer' userData-    outoutbuffer' <- B.ManagedPtr.disownBoxed outoutbuffer-    poke outbuffer outoutbuffer'-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback CollectPadsBufferFunction---          -> 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 = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that triggered the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectData of pad that has received 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 = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBuffer", 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_collect_pads_set_buffer_function()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function that will be called when a (considered oldest) buffer can be muxed.\nIf all pads have reached EOS, this function is called with %NULL @buffer\nand %NULL @data.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CollectPadsBufferFunction =-    Ptr GstBase.CollectPads.CollectPads ->-    Ptr GstBase.CollectData.CollectData ->-    Ptr Gst.Buffer.Buffer ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads that triggered the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectData of pad that has received 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 = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBuffer", 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_collect_pads_set_buffer_function()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, 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_CollectPadsBufferFunction :: FunPtr C_CollectPadsBufferFunction -> C_CollectPadsBufferFunction---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CollectPadsBufferFunction ::-    (B.CallStack.HasCallStack, MonadIO m, GstBase.CollectPads.IsCollectPads a) =>-    FunPtr C_CollectPadsBufferFunction-    -> a-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the 'GI.GstBase.Structs.CollectData.CollectData' of pad that has received the buffer -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: the 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetBufferFunction' -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' for success -}-dynamic_CollectPadsBufferFunction __funPtr pads data_ buffer userData = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    buffer' <- B.ManagedPtr.disownBoxed buffer-    result <- (__dynamic_C_CollectPadsBufferFunction __funPtr) pads' data_' buffer' userData-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr pads-    touchManagedPtr data_-    touchManagedPtr buffer-    return result'---- | Generate a function pointer callable from C code, from a `C_CollectPadsBufferFunction`.-foreign import ccall "wrapper"-    mk_CollectPadsBufferFunction :: C_CollectPadsBufferFunction -> IO (FunPtr C_CollectPadsBufferFunction)--{- |-A function that will be called when a (considered oldest) buffer can be muxed.-If all pads have reached EOS, this function is called with 'Nothing' /@buffer@/-and 'Nothing' /@data@/.--}-type CollectPadsBufferFunction =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the 'GI.GstBase.Structs.CollectData.CollectData' of pad that has received the buffer -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: the 'GI.Gst.Structs.Buffer.Buffer' -}-    -> IO Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' for success -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsBufferFunction`@.-noCollectPadsBufferFunction :: Maybe CollectPadsBufferFunction-noCollectPadsBufferFunction = Nothing--{- |-A function that will be called when a (considered oldest) buffer can be muxed.-If all pads have reached EOS, this function is called with 'Nothing' /@buffer@/-and 'Nothing' /@data@/.--}-type CollectPadsBufferFunction_WithClosures =-    GstBase.CollectPads.CollectPads-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' that triggered the callback -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the 'GI.GstBase.Structs.CollectData.CollectData' of pad that has received the buffer -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: the 'GI.Gst.Structs.Buffer.Buffer' -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GstBase.Objects.CollectPads.collectPadsSetBufferFunction' -}-    -> IO Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' for success -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectPadsBufferFunction_WithClosures`@.-noCollectPadsBufferFunction_WithClosures :: Maybe CollectPadsBufferFunction_WithClosures-noCollectPadsBufferFunction_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CollectPadsBufferFunction :: CollectPadsBufferFunction -> CollectPadsBufferFunction_WithClosures-drop_closures_CollectPadsBufferFunction _f pads data_ buffer _ = _f pads data_ buffer---- | Wrap the callback into a `GClosure`.-genClosure_CollectPadsBufferFunction :: MonadIO m => CollectPadsBufferFunction -> m (GClosure C_CollectPadsBufferFunction)-genClosure_CollectPadsBufferFunction cb = liftIO $ do-    let cb' = drop_closures_CollectPadsBufferFunction cb-    let cb'' = wrap_CollectPadsBufferFunction Nothing cb'-    mk_CollectPadsBufferFunction cb'' >>= B.GClosure.newGClosure----- | Wrap a `CollectPadsBufferFunction` into a `C_CollectPadsBufferFunction`.-wrap_CollectPadsBufferFunction ::-    Maybe (Ptr (FunPtr C_CollectPadsBufferFunction)) ->-    CollectPadsBufferFunction_WithClosures ->-    C_CollectPadsBufferFunction-wrap_CollectPadsBufferFunction funptrptr _cb pads data_ buffer userData = do-    pads' <- (newObject GstBase.CollectPads.CollectPads) pads-    data_' <- (newPtr GstBase.CollectData.CollectData) data_-    buffer' <- (wrapBoxed Gst.Buffer.Buffer) buffer-    result <- _cb  pads' data_' buffer' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback CollectDataDestroyNotify---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectData that will be freed", 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 when the #GstCollectData will be freed.\nIt is passed the pointer to the structure and should free any custom\nmemory and resources allocated for it.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CollectDataDestroyNotify =-    Ptr GstBase.CollectData.CollectData ->-    IO ()---- Args : [Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectData that will be freed", 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_CollectDataDestroyNotify :: FunPtr C_CollectDataDestroyNotify -> C_CollectDataDestroyNotify---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CollectDataDestroyNotify ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_CollectDataDestroyNotify-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the 'GI.GstBase.Structs.CollectData.CollectData' that will be freed -}-    -> m ()-dynamic_CollectDataDestroyNotify __funPtr data_ = liftIO $ do-    data_' <- unsafeManagedPtrGetPtr data_-    (__dynamic_C_CollectDataDestroyNotify __funPtr) data_'-    touchManagedPtr data_-    return ()---- | Generate a function pointer callable from C code, from a `C_CollectDataDestroyNotify`.-foreign import ccall "wrapper"-    mk_CollectDataDestroyNotify :: C_CollectDataDestroyNotify -> IO (FunPtr C_CollectDataDestroyNotify)--{- |-A function that will be called when the 'GI.GstBase.Structs.CollectData.CollectData' will be freed.-It is passed the pointer to the structure and should free any custom-memory and resources allocated for it.--}-type CollectDataDestroyNotify =-    GstBase.CollectData.CollectData-    {- ^ /@data@/: the 'GI.GstBase.Structs.CollectData.CollectData' that will be freed -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `CollectDataDestroyNotify`@.-noCollectDataDestroyNotify :: Maybe CollectDataDestroyNotify-noCollectDataDestroyNotify = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_CollectDataDestroyNotify :: MonadIO m => CollectDataDestroyNotify -> m (GClosure C_CollectDataDestroyNotify)-genClosure_CollectDataDestroyNotify cb = liftIO $ do-    let cb' = wrap_CollectDataDestroyNotify Nothing cb-    mk_CollectDataDestroyNotify cb' >>= B.GClosure.newGClosure----- | Wrap a `CollectDataDestroyNotify` into a `C_CollectDataDestroyNotify`.-wrap_CollectDataDestroyNotify ::-    Maybe (Ptr (FunPtr C_CollectDataDestroyNotify)) ->-    CollectDataDestroyNotify ->-    C_CollectDataDestroyNotify-wrap_CollectDataDestroyNotify funptrptr _cb data_ = do-    data_' <- (newPtr GstBase.CollectData.CollectData) data_-    _cb  data_'-    maybeReleaseFunPtr funptrptr---
− GI/GstBase/Constants.hs
@@ -1,63 +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.GstBase.Constants-    ( -    pattern BASE_TRANSFORM_SRC_NAME         ,-    pattern BASE_TRANSFORM_SINK_NAME        ,-    pattern BASE_PARSE_FLAG_LOST_SYNC       ,-    pattern BASE_PARSE_FLAG_DRAINING        ,--    ) 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---{- |-The name of the templates for the source pad.--}-pattern BASE_TRANSFORM_SRC_NAME = "src" :: T.Text--{- |-The name of the templates for the sink pad.--}-pattern BASE_TRANSFORM_SINK_NAME = "sink" :: T.Text--{- |-/No description available in the introspection data./--}-pattern BASE_PARSE_FLAG_LOST_SYNC = 1 :: Int32--{- |-/No description available in the introspection data./--}-pattern BASE_PARSE_FLAG_DRAINING = 2 :: Int32--
− GI/GstBase/Flags.hs
@@ -1,211 +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.GstBase.Flags-    ( -- -- * Flags--- ** BaseParseFrameFlags #flag:BaseParseFrameFlags#--    BaseParseFrameFlags(..)                 ,----- ** BaseSrcFlags #flag:BaseSrcFlags#--    BaseSrcFlags(..)                        ,----- ** CollectPadsStateFlags #flag:CollectPadsStateFlags#--    CollectPadsStateFlags(..)               ,-----    ) 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 CollectPadsStateFlags-{- |-/No description available in the introspection data./--}-data CollectPadsStateFlags = -      CollectPadsStateFlagsEos-    {- ^-    Set if collectdata\'s pad is EOS.-    -}-    | CollectPadsStateFlagsFlushing-    {- ^-    Set if collectdata\'s pad is flushing.-    -}-    | CollectPadsStateFlagsNewSegment-    {- ^-    Set if collectdata\'s pad received a-                                         new_segment event.-    -}-    | CollectPadsStateFlagsWaiting-    {- ^-    Set if collectdata\'s pad must be waited-                                         for when collecting.-    -}-    | CollectPadsStateFlagsLocked-    {- ^-    Set collectdata\'s pad WAITING state must-                                         not be changed.-    'GI.GstBase.Flags.CollectPadsStateFlags' indicate private state of a collectdata(\'s pad).-    -}-    | AnotherCollectPadsStateFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum CollectPadsStateFlags where-    fromEnum CollectPadsStateFlagsEos = 1-    fromEnum CollectPadsStateFlagsFlushing = 2-    fromEnum CollectPadsStateFlagsNewSegment = 4-    fromEnum CollectPadsStateFlagsWaiting = 8-    fromEnum CollectPadsStateFlagsLocked = 16-    fromEnum (AnotherCollectPadsStateFlags k) = k--    toEnum 1 = CollectPadsStateFlagsEos-    toEnum 2 = CollectPadsStateFlagsFlushing-    toEnum 4 = CollectPadsStateFlagsNewSegment-    toEnum 8 = CollectPadsStateFlagsWaiting-    toEnum 16 = CollectPadsStateFlagsLocked-    toEnum k = AnotherCollectPadsStateFlags k--instance P.Ord CollectPadsStateFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag CollectPadsStateFlags---- Flags BaseSrcFlags-{- |-The 'GI.Gst.Objects.Element.Element' flags that a basesrc element may have.--}-data BaseSrcFlags = -      BaseSrcFlagsStarting-    {- ^-    has source is starting-    -}-    | BaseSrcFlagsStarted-    {- ^-    has source been started-    -}-    | BaseSrcFlagsLast-    {- ^-    offset to define more flags-    -}-    | AnotherBaseSrcFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BaseSrcFlags where-    fromEnum BaseSrcFlagsStarting = 16384-    fromEnum BaseSrcFlagsStarted = 32768-    fromEnum BaseSrcFlagsLast = 1048576-    fromEnum (AnotherBaseSrcFlags k) = k--    toEnum 16384 = BaseSrcFlagsStarting-    toEnum 32768 = BaseSrcFlagsStarted-    toEnum 1048576 = BaseSrcFlagsLast-    toEnum k = AnotherBaseSrcFlags k--instance P.Ord BaseSrcFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag BaseSrcFlags---- Flags BaseParseFrameFlags-{- |-Flags to be used in a 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame'.--}-data BaseParseFrameFlags = -      BaseParseFrameFlagsNone-    {- ^-    no flag-    -}-    | BaseParseFrameFlagsNewFrame-    {- ^-    set by baseclass if current frame-      is passed for processing to the subclass for the first time-      (and not set on subsequent calls with same data).-    -}-    | BaseParseFrameFlagsNoFrame-    {- ^-    set to indicate this buffer should not be-      counted as frame, e.g. if this frame is dependent on a previous one.-      As it is not counted as a frame, bitrate increases but frame to time-      conversions are maintained.-    -}-    | BaseParseFrameFlagsClip-    {- ^-    /@prePushFrame@/ can set this to indicate-       that regular segment clipping can still be performed (as opposed to-       any custom one having been done).-    -}-    | BaseParseFrameFlagsDrop-    {- ^-    indicates to /@finishFrame@/ that the-       the frame should be dropped (and might be handled internally by subclass)-    -}-    | BaseParseFrameFlagsQueue-    {- ^-    indicates to /@finishFrame@/ that the-       the frame should be queued for now and processed fully later-       when the first non-queued frame is finished-    -}-    | AnotherBaseParseFrameFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BaseParseFrameFlags where-    fromEnum BaseParseFrameFlagsNone = 0-    fromEnum BaseParseFrameFlagsNewFrame = 1-    fromEnum BaseParseFrameFlagsNoFrame = 2-    fromEnum BaseParseFrameFlagsClip = 4-    fromEnum BaseParseFrameFlagsDrop = 8-    fromEnum BaseParseFrameFlagsQueue = 16-    fromEnum (AnotherBaseParseFrameFlags k) = k--    toEnum 0 = BaseParseFrameFlagsNone-    toEnum 1 = BaseParseFrameFlagsNewFrame-    toEnum 2 = BaseParseFrameFlagsNoFrame-    toEnum 4 = BaseParseFrameFlagsClip-    toEnum 8 = BaseParseFrameFlagsDrop-    toEnum 16 = BaseParseFrameFlagsQueue-    toEnum k = AnotherBaseParseFrameFlags k--instance P.Ord BaseParseFrameFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag BaseParseFrameFlags--
− GI/GstBase/Flags.hs-boot
@@ -1,33 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.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 CollectPadsStateFlags-instance P.Enum CollectPadsStateFlags where-instance IsGFlag CollectPadsStateFlags-data BaseSrcFlags-instance P.Enum BaseSrcFlags where-instance IsGFlag BaseSrcFlags-data BaseParseFrameFlags-instance P.Enum BaseParseFrameFlags where-instance IsGFlag BaseParseFrameFlags
− GI/GstBase/Functions.hs
@@ -1,587 +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.GstBase.Functions-    ( -- -- * Methods--- ** typeFindHelper #method:typeFindHelper#--    typeFindHelper                          ,----- ** typeFindHelperForBuffer #method:typeFindHelperForBuffer#--    typeFindHelperForBuffer                 ,----- ** typeFindHelperForBufferWithExtension #method:typeFindHelperForBufferWithExtension#--    typeFindHelperForBufferWithExtension    ,----- ** typeFindHelperForData #method:typeFindHelperForData#--    typeFindHelperForData                   ,----- ** typeFindHelperForDataWithExtension #method:typeFindHelperForDataWithExtension#--    typeFindHelperForDataWithExtension      ,----- ** typeFindHelperForExtension #method:typeFindHelperForExtension#--    typeFindHelperForExtension              ,----- ** typeFindHelperGetRange #method:typeFindHelperGetRange#--    typeFindHelperGetRange                  ,----- ** typeFindHelperGetRangeFull #method:typeFindHelperGetRangeFull#--    typeFindHelperGetRangeFull              ,-----    ) 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.Enums as Gst.Enums-import qualified GI.Gst.Objects.Object as Gst.Object-import qualified GI.Gst.Objects.Pad as Gst.Pad-import qualified GI.Gst.Structs.Buffer as Gst.Buffer-import qualified GI.Gst.Structs.Caps as Gst.Caps-import qualified GI.GstBase.Callbacks as GstBase.Callbacks---- function gst_type_find_helper_get_range_full--- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstObject that will be passed as first argument to @func", 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 @obj or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GstBase", name = "TypeFindHelperGetRangeFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A generic #GstTypeFindHelperGetRangeFunction that will\n       be used to access data at random offsets when doing the typefinding", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extension", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "extension of the media, 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 = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "returned caps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "prob", argType = TInterface (Name {namespace = "Gst", name = "TypeFindProbability"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the probability of the found\n    caps, or %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_type_find_helper_get_range_full" gst_type_find_helper_get_range_full :: -    Ptr Gst.Object.Object ->                -- obj : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    FunPtr GstBase.Callbacks.C_TypeFindHelperGetRangeFunction -> -- func : TInterface (Name {namespace = "GstBase", name = "TypeFindHelperGetRangeFunction"})-    Word64 ->                               -- size : TBasicType TUInt64-    CString ->                              -- extension : TBasicType TUTF8-    Ptr (Ptr Gst.Caps.Caps) ->              -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    Ptr CUInt ->                            -- prob : TInterface (Name {namespace = "Gst", name = "TypeFindProbability"})-    IO CInt--{- |-Utility function to do pull-based typefinding. Unlike 'GI.GstBase.Functions.typeFindHelper'-however, this function will use the specified function /@func@/ to obtain the-data needed by the typefind functions, rather than operating on a given-source pad. This is useful mostly for elements like tag demuxers which-strip off data at the beginning and\/or end of a file and want to typefind-the stripped data stream before adding their own source pad (the specified-callback can then call the upstream peer pad with offsets adjusted for the-tag size, for example).--When /@extension@/ is not 'Nothing', this function will first try the typefind-functions for the given extension, which might speed up the typefinding-in many cases.--/Since: 1.14.3/--}-typeFindHelperGetRangeFull ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Object.IsObject b) =>-    a-    {- ^ /@obj@/: A 'GI.Gst.Objects.Object.Object' that will be passed as first argument to /@func@/ -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@obj@/ or 'Nothing' -}-    -> GstBase.Callbacks.TypeFindHelperGetRangeFunction-    {- ^ /@func@/: A generic 'GI.GstBase.Callbacks.TypeFindHelperGetRangeFunction' that will-       be used to access data at random offsets when doing the typefinding -}-    -> Word64-    {- ^ /@size@/: The length in bytes -}-    -> Maybe (T.Text)-    {- ^ /@extension@/: extension of the media, or 'Nothing' -}-    -> m ((Gst.Enums.FlowReturn, Gst.Caps.Caps, Gst.Enums.TypeFindProbability))-    {- ^ __Returns:__ the last @/GstFlowReturn/@ from pulling a buffer or 'GI.Gst.Enums.FlowReturnOk' if-         typefinding was successful. -}-typeFindHelperGetRangeFull obj parent func size extension = liftIO $ do-    obj' <- unsafeManagedPtrCastPtr obj-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    func' <- GstBase.Callbacks.mk_TypeFindHelperGetRangeFunction (GstBase.Callbacks.wrap_TypeFindHelperGetRangeFunction Nothing func)-    maybeExtension <- case extension of-        Nothing -> return nullPtr-        Just jExtension -> do-            jExtension' <- textToCString jExtension-            return jExtension'-    caps <- allocMem :: IO (Ptr (Ptr Gst.Caps.Caps))-    prob <- allocMem :: IO (Ptr CUInt)-    result <- gst_type_find_helper_get_range_full obj' maybeParent func' size maybeExtension caps prob-    let result' = (toEnum . fromIntegral) result-    caps' <- peek caps-    caps'' <- (wrapBoxed Gst.Caps.Caps) caps'-    prob' <- peek prob-    let prob'' = (toEnum . fromIntegral) prob'-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr obj-    whenJust parent touchManagedPtr-    freeMem maybeExtension-    freeMem caps-    freeMem prob-    return (result', caps'', prob'')----- function gst_type_find_helper_get_range--- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstObject that will be passed as first argument to @func", 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 @obj or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GstBase", name = "TypeFindHelperGetRangeFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A generic #GstTypeFindHelperGetRangeFunction that will\n       be used to access data at random offsets when doing the typefinding", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extension", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "extension of the media, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prob", argType = TInterface (Name {namespace = "Gst", name = "TypeFindProbability"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the probability of the found\n    caps, or %NULL", 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_type_find_helper_get_range" gst_type_find_helper_get_range :: -    Ptr Gst.Object.Object ->                -- obj : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Object.Object ->                -- parent : TInterface (Name {namespace = "Gst", name = "Object"})-    FunPtr GstBase.Callbacks.C_TypeFindHelperGetRangeFunction -> -- func : TInterface (Name {namespace = "GstBase", name = "TypeFindHelperGetRangeFunction"})-    Word64 ->                               -- size : TBasicType TUInt64-    CString ->                              -- extension : TBasicType TUTF8-    Ptr CUInt ->                            -- prob : TInterface (Name {namespace = "Gst", name = "TypeFindProbability"})-    IO (Ptr Gst.Caps.Caps)--{- |-Utility function to do pull-based typefinding. Unlike 'GI.GstBase.Functions.typeFindHelper'-however, this function will use the specified function /@func@/ to obtain the-data needed by the typefind functions, rather than operating on a given-source pad. This is useful mostly for elements like tag demuxers which-strip off data at the beginning and\/or end of a file and want to typefind-the stripped data stream before adding their own source pad (the specified-callback can then call the upstream peer pad with offsets adjusted for the-tag size, for example).--When /@extension@/ is not 'Nothing', this function will first try the typefind-functions for the given extension, which might speed up the typefinding-in many cases.--Free-function: gst_caps_unref--}-typeFindHelperGetRange ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a, Gst.Object.IsObject b) =>-    a-    {- ^ /@obj@/: A 'GI.Gst.Objects.Object.Object' that will be passed as first argument to /@func@/ -}-    -> Maybe (b)-    {- ^ /@parent@/: the parent of /@obj@/ or 'Nothing' -}-    -> GstBase.Callbacks.TypeFindHelperGetRangeFunction-    {- ^ /@func@/: A generic 'GI.GstBase.Callbacks.TypeFindHelperGetRangeFunction' that will-       be used to access data at random offsets when doing the typefinding -}-    -> Word64-    {- ^ /@size@/: The length in bytes -}-    -> Maybe (T.Text)-    {- ^ /@extension@/: extension of the media, or 'Nothing' -}-    -> m ((Maybe Gst.Caps.Caps, Gst.Enums.TypeFindProbability))-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' corresponding to the data-    stream.  Returns 'Nothing' if no 'GI.Gst.Structs.Caps.Caps' matches the data stream. -}-typeFindHelperGetRange obj parent func size extension = liftIO $ do-    obj' <- unsafeManagedPtrCastPtr obj-    maybeParent <- case parent of-        Nothing -> return nullPtr-        Just jParent -> do-            jParent' <- unsafeManagedPtrCastPtr jParent-            return jParent'-    func' <- GstBase.Callbacks.mk_TypeFindHelperGetRangeFunction (GstBase.Callbacks.wrap_TypeFindHelperGetRangeFunction Nothing func)-    maybeExtension <- case extension of-        Nothing -> return nullPtr-        Just jExtension -> do-            jExtension' <- textToCString jExtension-            return jExtension'-    prob <- allocMem :: IO (Ptr CUInt)-    result <- gst_type_find_helper_get_range obj' maybeParent func' size maybeExtension prob-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    prob' <- peek prob-    let prob'' = (toEnum . fromIntegral) prob'-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr obj-    whenJust parent touchManagedPtr-    freeMem maybeExtension-    freeMem prob-    return (maybeResult, prob'')----- function gst_type_find_helper_for_extension--- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "object doing the typefinding, or %NULL (used for logging)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extension", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an extension", 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_helper_for_extension" gst_type_find_helper_for_extension :: -    Ptr Gst.Object.Object ->                -- obj : TInterface (Name {namespace = "Gst", name = "Object"})-    CString ->                              -- extension : TBasicType TUTF8-    IO (Ptr Gst.Caps.Caps)--{- |-Tries to find the best 'GI.Gst.Structs.Caps.Caps' associated with /@extension@/.--All available typefinders will be checked against the extension in order-of rank. The caps of the first typefinder that can handle /@extension@/ will be-returned.--Free-function: gst_caps_unref--}-typeFindHelperForExtension ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@obj@/: object doing the typefinding, or 'Nothing' (used for logging) -}-    -> T.Text-    {- ^ /@extension@/: an extension -}-    -> m (Maybe Gst.Caps.Caps)-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' corresponding to-    /@extension@/, or 'Nothing' if no type could be found. The caller should free-    the caps returned with @/gst_caps_unref()/@. -}-typeFindHelperForExtension obj extension = liftIO $ do-    maybeObj <- case obj of-        Nothing -> return nullPtr-        Just jObj -> do-            jObj' <- unsafeManagedPtrCastPtr jObj-            return jObj'-    extension' <- textToCString extension-    result <- gst_type_find_helper_for_extension maybeObj extension'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    whenJust obj touchManagedPtr-    freeMem extension'-    return maybeResult----- function gst_type_find_helper_for_data_with_extension--- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "object doing the typefinding, or %NULL (used for logging)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "* a pointer with data to typefind", 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 @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extension", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "extension of the media, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prob", argType = TInterface (Name {namespace = "Gst", name = "TypeFindProbability"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the probability of the found\n    caps, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_helper_for_data_with_extension" gst_type_find_helper_for_data_with_extension :: -    Ptr Gst.Object.Object ->                -- obj : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)-    Word64 ->                               -- size : TBasicType TUInt64-    CString ->                              -- extension : TBasicType TUTF8-    Ptr CUInt ->                            -- prob : TInterface (Name {namespace = "Gst", name = "TypeFindProbability"})-    IO (Ptr Gst.Caps.Caps)--{- |-Tries to find what type of data is contained in the given /@data@/, the-assumption being that the data represents the beginning of the stream or-file.--All available typefinders will be called on the data in order of rank. If-a typefinding function returns a probability of 'GI.Gst.Enums.TypeFindProbabilityMaximum',-typefinding is stopped immediately and the found caps will be returned-right away. Otherwise, all available typefind functions will the tried,-and the caps with the highest probability will be returned, or 'Nothing' if-the content of /@data@/ could not be identified.--When /@extension@/ is not 'Nothing', this function will first try the typefind-functions for the given extension, which might speed up the typefinding-in many cases.--Free-function: gst_caps_unref--/Since: 1.16/--}-typeFindHelperForDataWithExtension ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@obj@/: object doing the typefinding, or 'Nothing' (used for logging) -}-    -> ByteString-    {- ^ /@data@/: * a pointer with data to typefind -}-    -> Maybe (T.Text)-    {- ^ /@extension@/: extension of the media, or 'Nothing' -}-    -> m ((Maybe Gst.Caps.Caps, Gst.Enums.TypeFindProbability))-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' corresponding to the data,-    or 'Nothing' if no type could be found. The caller should free the caps-    returned with @/gst_caps_unref()/@. -}-typeFindHelperForDataWithExtension obj data_ extension = liftIO $ do-    let size = fromIntegral $ B.length data_-    maybeObj <- case obj of-        Nothing -> return nullPtr-        Just jObj -> do-            jObj' <- unsafeManagedPtrCastPtr jObj-            return jObj'-    data_' <- packByteString data_-    maybeExtension <- case extension of-        Nothing -> return nullPtr-        Just jExtension -> do-            jExtension' <- textToCString jExtension-            return jExtension'-    prob <- allocMem :: IO (Ptr CUInt)-    result <- gst_type_find_helper_for_data_with_extension maybeObj data_' size maybeExtension prob-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    prob' <- peek prob-    let prob'' = (toEnum . fromIntegral) prob'-    whenJust obj touchManagedPtr-    freeMem data_'-    freeMem maybeExtension-    freeMem prob-    return (maybeResult, prob'')----- function gst_type_find_helper_for_data--- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "object doing the typefinding, or %NULL (used for logging)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "* a pointer with data to typefind", 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 @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prob", argType = TInterface (Name {namespace = "Gst", name = "TypeFindProbability"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the probability of the found\n    caps, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"}))--- throws : False--- Skip return : False--foreign import ccall "gst_type_find_helper_for_data" gst_type_find_helper_for_data :: -    Ptr Gst.Object.Object ->                -- obj : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)-    Word64 ->                               -- size : TBasicType TUInt64-    Ptr CUInt ->                            -- prob : TInterface (Name {namespace = "Gst", name = "TypeFindProbability"})-    IO (Ptr Gst.Caps.Caps)--{- |-Tries to find what type of data is contained in the given /@data@/, the-assumption being that the data represents the beginning of the stream or-file.--All available typefinders will be called on the data in order of rank. If-a typefinding function returns a probability of 'GI.Gst.Enums.TypeFindProbabilityMaximum',-typefinding is stopped immediately and the found caps will be returned-right away. Otherwise, all available typefind functions will the tried,-and the caps with the highest probability will be returned, or 'Nothing' if-the content of /@data@/ could not be identified.--Free-function: gst_caps_unref--}-typeFindHelperForData ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@obj@/: object doing the typefinding, or 'Nothing' (used for logging) -}-    -> ByteString-    {- ^ /@data@/: * a pointer with data to typefind -}-    -> m ((Maybe Gst.Caps.Caps, Gst.Enums.TypeFindProbability))-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' corresponding to the data,-    or 'Nothing' if no type could be found. The caller should free the caps-    returned with @/gst_caps_unref()/@. -}-typeFindHelperForData obj data_ = liftIO $ do-    let size = fromIntegral $ B.length data_-    maybeObj <- case obj of-        Nothing -> return nullPtr-        Just jObj -> do-            jObj' <- unsafeManagedPtrCastPtr jObj-            return jObj'-    data_' <- packByteString data_-    prob <- allocMem :: IO (Ptr CUInt)-    result <- gst_type_find_helper_for_data maybeObj data_' size prob-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    prob' <- peek prob-    let prob'' = (toEnum . fromIntegral) prob'-    whenJust obj touchManagedPtr-    freeMem data_'-    freeMem prob-    return (maybeResult, prob'')----- function gst_type_find_helper_for_buffer_with_extension--- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "object doing the typefinding, or %NULL (used for logging)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer with data to typefind", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extension", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "extension of the media, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prob", argType = TInterface (Name {namespace = "Gst", name = "TypeFindProbability"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the probability of the found\n    caps, or %NULL", 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_type_find_helper_for_buffer_with_extension" gst_type_find_helper_for_buffer_with_extension :: -    Ptr Gst.Object.Object ->                -- obj : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Buffer.Buffer ->                -- buf : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CString ->                              -- extension : TBasicType TUTF8-    Ptr CUInt ->                            -- prob : TInterface (Name {namespace = "Gst", name = "TypeFindProbability"})-    IO (Ptr Gst.Caps.Caps)--{- |-Tries to find what type of data is contained in the given 'GI.Gst.Structs.Buffer.Buffer', the-assumption being that the buffer represents the beginning of the stream or-file.--All available typefinders will be called on the data in order of rank. If-a typefinding function returns a probability of 'GI.Gst.Enums.TypeFindProbabilityMaximum',-typefinding is stopped immediately and the found caps will be returned-right away. Otherwise, all available typefind functions will the tried,-and the caps with the highest probability will be returned, or 'Nothing' if-the content of the buffer could not be identified.--When /@extension@/ is not 'Nothing', this function will first try the typefind-functions for the given extension, which might speed up the typefinding-in many cases.--Free-function: gst_caps_unref--/Since: 1.16/--}-typeFindHelperForBufferWithExtension ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@obj@/: object doing the typefinding, or 'Nothing' (used for logging) -}-    -> Gst.Buffer.Buffer-    {- ^ /@buf@/: a 'GI.Gst.Structs.Buffer.Buffer' with data to typefind -}-    -> Maybe (T.Text)-    {- ^ /@extension@/: extension of the media, or 'Nothing' -}-    -> m ((Maybe Gst.Caps.Caps, Gst.Enums.TypeFindProbability))-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' corresponding to the data,-    or 'Nothing' if no type could be found. The caller should free the caps-    returned with @/gst_caps_unref()/@. -}-typeFindHelperForBufferWithExtension obj buf extension = liftIO $ do-    maybeObj <- case obj of-        Nothing -> return nullPtr-        Just jObj -> do-            jObj' <- unsafeManagedPtrCastPtr jObj-            return jObj'-    buf' <- unsafeManagedPtrGetPtr buf-    maybeExtension <- case extension of-        Nothing -> return nullPtr-        Just jExtension -> do-            jExtension' <- textToCString jExtension-            return jExtension'-    prob <- allocMem :: IO (Ptr CUInt)-    result <- gst_type_find_helper_for_buffer_with_extension maybeObj buf' maybeExtension prob-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    prob' <- peek prob-    let prob'' = (toEnum . fromIntegral) prob'-    whenJust obj touchManagedPtr-    touchManagedPtr buf-    freeMem maybeExtension-    freeMem prob-    return (maybeResult, prob'')----- function gst_type_find_helper_for_buffer--- Args : [Arg {argCName = "obj", argType = TInterface (Name {namespace = "Gst", name = "Object"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "object doing the typefinding, or %NULL (used for logging)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer with data to typefind", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prob", argType = TInterface (Name {namespace = "Gst", name = "TypeFindProbability"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the probability of the found\n    caps, or %NULL", 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_type_find_helper_for_buffer" gst_type_find_helper_for_buffer :: -    Ptr Gst.Object.Object ->                -- obj : TInterface (Name {namespace = "Gst", name = "Object"})-    Ptr Gst.Buffer.Buffer ->                -- buf : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr CUInt ->                            -- prob : TInterface (Name {namespace = "Gst", name = "TypeFindProbability"})-    IO (Ptr Gst.Caps.Caps)--{- |-Tries to find what type of data is contained in the given 'GI.Gst.Structs.Buffer.Buffer', the-assumption being that the buffer represents the beginning of the stream or-file.--All available typefinders will be called on the data in order of rank. If-a typefinding function returns a probability of 'GI.Gst.Enums.TypeFindProbabilityMaximum',-typefinding is stopped immediately and the found caps will be returned-right away. Otherwise, all available typefind functions will the tried,-and the caps with the highest probability will be returned, or 'Nothing' if-the content of the buffer could not be identified.--Free-function: gst_caps_unref--}-typeFindHelperForBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Object.IsObject a) =>-    Maybe (a)-    {- ^ /@obj@/: object doing the typefinding, or 'Nothing' (used for logging) -}-    -> Gst.Buffer.Buffer-    {- ^ /@buf@/: a 'GI.Gst.Structs.Buffer.Buffer' with data to typefind -}-    -> m ((Maybe Gst.Caps.Caps, Gst.Enums.TypeFindProbability))-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' corresponding to the data,-    or 'Nothing' if no type could be found. The caller should free the caps-    returned with @/gst_caps_unref()/@. -}-typeFindHelperForBuffer obj buf = liftIO $ do-    maybeObj <- case obj of-        Nothing -> return nullPtr-        Just jObj -> do-            jObj' <- unsafeManagedPtrCastPtr jObj-            return jObj'-    buf' <- unsafeManagedPtrGetPtr buf-    prob <- allocMem :: IO (Ptr CUInt)-    result <- gst_type_find_helper_for_buffer maybeObj buf' prob-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    prob' <- peek prob-    let prob'' = (toEnum . fromIntegral) prob'-    whenJust obj touchManagedPtr-    touchManagedPtr buf-    freeMem prob-    return (maybeResult, prob'')----- function gst_type_find_helper--- Args : [Arg {argCName = "src", 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 = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length in bytes", 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_helper" gst_type_find_helper :: -    Ptr Gst.Pad.Pad ->                      -- src : TInterface (Name {namespace = "Gst", name = "Pad"})-    Word64 ->                               -- size : TBasicType TUInt64-    IO (Ptr Gst.Caps.Caps)--{- |-Tries to find what type of data is flowing from the given source 'GI.Gst.Objects.Pad.Pad'.--Free-function: gst_caps_unref--}-typeFindHelper ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a) =>-    a-    {- ^ /@src@/: A source 'GI.Gst.Objects.Pad.Pad' -}-    -> Word64-    {- ^ /@size@/: The length in bytes -}-    -> m (Maybe Gst.Caps.Caps)-    {- ^ __Returns:__ the 'GI.Gst.Structs.Caps.Caps' corresponding to the data-    stream.  Returns 'Nothing' if no 'GI.Gst.Structs.Caps.Caps' matches the data stream. -}-typeFindHelper src size = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    result <- gst_type_find_helper src' size-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Caps.Caps) result'-        return result''-    touchManagedPtr src-    return maybeResult---
− GI/GstBase/Objects.hs
@@ -1,59 +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.GstBase.Objects-    (     module GI.GstBase.Objects.Adapter       ,-    module GI.GstBase.Objects.Aggregator    ,-    module GI.GstBase.Objects.AggregatorPad ,-    module GI.GstBase.Objects.BaseParse     ,-    module GI.GstBase.Objects.BaseSink      ,-    module GI.GstBase.Objects.BaseSrc       ,-    module GI.GstBase.Objects.BaseTransform ,-    module GI.GstBase.Objects.CollectPads   ,-    module GI.GstBase.Objects.DataQueue     ,-    module GI.GstBase.Objects.PushSrc       ,---    ) where--import GI.GstBase.Objects.Adapter-import GI.GstBase.Objects.Aggregator-import GI.GstBase.Objects.AggregatorPad-import GI.GstBase.Objects.BaseParse-import GI.GstBase.Objects.BaseSink-import GI.GstBase.Objects.BaseSrc-import GI.GstBase.Objects.BaseTransform-import GI.GstBase.Objects.CollectPads-import GI.GstBase.Objects.DataQueue-import GI.GstBase.Objects.PushSrc--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/GstBase/Objects/Adapter.hs
@@ -1,1819 +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 class is for elements that receive buffers in an undesired size.-While for example raw video contains one image per buffer, the same is not-true for a lot of other formats, especially those that come directly from-a file. So if you have undefined buffer sizes and require a specific size,-this object is for you.--An adapter is created with 'GI.GstBase.Objects.Adapter.adapterNew'. It can be freed again with-'GI.GObject.Objects.Object.objectUnref'.--The theory of operation is like this: All buffers received are put-into the adapter using 'GI.GstBase.Objects.Adapter.adapterPush' and the data is then read back-in chunks of the desired size using 'GI.GstBase.Objects.Adapter.adapterMap'\/'GI.GstBase.Objects.Adapter.adapterUnmap'-and\/or @/gst_adapter_copy()/@. After the data has been processed, it is freed-using 'GI.GstBase.Objects.Adapter.adapterUnmap'.--Other methods such as 'GI.GstBase.Objects.Adapter.adapterTake' and 'GI.GstBase.Objects.Adapter.adapterTakeBuffer'-combine 'GI.GstBase.Objects.Adapter.adapterMap' and 'GI.GstBase.Objects.Adapter.adapterUnmap' in one method and are-potentially more convenient for some use cases.--For example, a sink pad\'s chain function that needs to pass data to a library-in 512-byte chunks could be implemented like this:--=== /C code/->->static GstFlowReturn->sink_pad_chain (GstPad *pad, GstObject *parent, GstBuffer *buffer)->{->  MyElement *this;->  GstAdapter *adapter;->  GstFlowReturn ret = GST_FLOW_OK;->->  this = MY_ELEMENT (parent);->->  adapter = this->adapter;->->  // put buffer into adapter->  gst_adapter_push (adapter, buffer);->->  // while we can read out 512 bytes, process them->  while (gst_adapter_available (adapter) >= 512 && ret == GST_FLOW_OK) {->    const guint8 *data = gst_adapter_map (adapter, 512);->    // use flowreturn as an error value->    ret = my_library_foo (data);->    gst_adapter_unmap (adapter);->    gst_adapter_flush (adapter, 512);->  }->  return ret;->}---For another example, a simple element inside GStreamer that uses 'GI.GstBase.Objects.Adapter.Adapter'-is the libvisual element.--An element using 'GI.GstBase.Objects.Adapter.Adapter' in its sink pad chain function should ensure that-when the FLUSH_STOP event is received, that any queued data is cleared using-'GI.GstBase.Objects.Adapter.adapterClear'. Data should also be cleared or processed on EOS and-when changing state from 'GI.Gst.Enums.StatePaused' to 'GI.Gst.Enums.StateReady'.--Also check the GST_BUFFER_FLAG_DISCONT flag on the buffer. Some elements might-need to clear the adapter after a discontinuity.--The adapter will keep track of the timestamps of the buffers-that were pushed. The last seen timestamp before the current position-can be queried with 'GI.GstBase.Objects.Adapter.adapterPrevPts'. This function can-optionally return the number of bytes between the start of the buffer that-carried the timestamp and the current adapter position. The distance is-useful when dealing with, for example, raw audio samples because it allows-you to calculate the timestamp of the current adapter position by using the-last seen timestamp and the amount of bytes since.  Additionally, the-'GI.GstBase.Objects.Adapter.adapterPrevPtsAtOffset' can be used to determine the last-seen timestamp at a particular offset in the adapter.--The adapter will also keep track of the offset of the buffers-(@/GST_BUFFER_OFFSET/@) that were pushed. The last seen offset before the-current position can be queried with 'GI.GstBase.Objects.Adapter.adapterPrevOffset'. This function-can optionally return the number of bytes between the start of the buffer-that carried the offset and the current adapter position.--Additionally the adapter also keeps track of the PTS, DTS and buffer offset-at the last discontinuity, which can be retrieved with-'GI.GstBase.Objects.Adapter.adapterPtsAtDiscont', 'GI.GstBase.Objects.Adapter.adapterDtsAtDiscont' and-'GI.GstBase.Objects.Adapter.adapterOffsetAtDiscont'. The number of bytes that were consumed-since then can be queried with 'GI.GstBase.Objects.Adapter.adapterDistanceFromDiscont'.--A last thing to note is that while 'GI.GstBase.Objects.Adapter.Adapter' is pretty optimized,-merging buffers still might be an operation that requires a @/malloc()/@ and-@/memcpy()/@ operation, and these operations are not the fastest. Because of-this, some functions like 'GI.GstBase.Objects.Adapter.adapterAvailableFast' are provided to help-speed up such cases should you want to. To avoid repeated memory allocations,-@/gst_adapter_copy()/@ can be used to copy data into a (statically allocated)-user provided buffer.--'GI.GstBase.Objects.Adapter.Adapter' is not MT safe. All operations on an adapter must be serialized by-the caller. This is not normally a problem, however, as the normal use case-of 'GI.GstBase.Objects.Adapter.Adapter' is inside one pad\'s chain function, in which case access is-serialized via the pad\'s STREAM_LOCK.--Note that 'GI.GstBase.Objects.Adapter.adapterPush' takes ownership of the buffer passed. Use-@/gst_buffer_ref()/@ before pushing it into the adapter if you still want to-access the buffer later. The adapter will never modify the data in the-buffer pushed in it.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.Adapter-    ( ---- * Exported types-    Adapter(..)                             ,-    IsAdapter                               ,-    toAdapter                               ,-    noAdapter                               ,--- -- * Methods--- ** available #method:available#--#if ENABLE_OVERLOADING-    AdapterAvailableMethodInfo              ,-#endif-    adapterAvailable                        ,----- ** availableFast #method:availableFast#--#if ENABLE_OVERLOADING-    AdapterAvailableFastMethodInfo          ,-#endif-    adapterAvailableFast                    ,----- ** clear #method:clear#--#if ENABLE_OVERLOADING-    AdapterClearMethodInfo                  ,-#endif-    adapterClear                            ,----- ** copy #method:copy#--#if ENABLE_OVERLOADING-    AdapterCopyMethodInfo                   ,-#endif-    adapterCopy                             ,----- ** distanceFromDiscont #method:distanceFromDiscont#--#if ENABLE_OVERLOADING-    AdapterDistanceFromDiscontMethodInfo    ,-#endif-    adapterDistanceFromDiscont              ,----- ** dtsAtDiscont #method:dtsAtDiscont#--#if ENABLE_OVERLOADING-    AdapterDtsAtDiscontMethodInfo           ,-#endif-    adapterDtsAtDiscont                     ,----- ** flush #method:flush#--#if ENABLE_OVERLOADING-    AdapterFlushMethodInfo                  ,-#endif-    adapterFlush                            ,----- ** getBuffer #method:getBuffer#--#if ENABLE_OVERLOADING-    AdapterGetBufferMethodInfo              ,-#endif-    adapterGetBuffer                        ,----- ** getBufferFast #method:getBufferFast#--#if ENABLE_OVERLOADING-    AdapterGetBufferFastMethodInfo          ,-#endif-    adapterGetBufferFast                    ,----- ** getBufferList #method:getBufferList#--#if ENABLE_OVERLOADING-    AdapterGetBufferListMethodInfo          ,-#endif-    adapterGetBufferList                    ,----- ** getList #method:getList#--#if ENABLE_OVERLOADING-    AdapterGetListMethodInfo                ,-#endif-    adapterGetList                          ,----- ** map #method:map#--#if ENABLE_OVERLOADING-    AdapterMapMethodInfo                    ,-#endif-    adapterMap                              ,----- ** maskedScanUint32 #method:maskedScanUint32#--#if ENABLE_OVERLOADING-    AdapterMaskedScanUint32MethodInfo       ,-#endif-    adapterMaskedScanUint32                 ,----- ** maskedScanUint32Peek #method:maskedScanUint32Peek#--#if ENABLE_OVERLOADING-    AdapterMaskedScanUint32PeekMethodInfo   ,-#endif-    adapterMaskedScanUint32Peek             ,----- ** new #method:new#--    adapterNew                              ,----- ** offsetAtDiscont #method:offsetAtDiscont#--#if ENABLE_OVERLOADING-    AdapterOffsetAtDiscontMethodInfo        ,-#endif-    adapterOffsetAtDiscont                  ,----- ** prevDts #method:prevDts#--#if ENABLE_OVERLOADING-    AdapterPrevDtsMethodInfo                ,-#endif-    adapterPrevDts                          ,----- ** prevDtsAtOffset #method:prevDtsAtOffset#--#if ENABLE_OVERLOADING-    AdapterPrevDtsAtOffsetMethodInfo        ,-#endif-    adapterPrevDtsAtOffset                  ,----- ** prevOffset #method:prevOffset#--#if ENABLE_OVERLOADING-    AdapterPrevOffsetMethodInfo             ,-#endif-    adapterPrevOffset                       ,----- ** prevPts #method:prevPts#--#if ENABLE_OVERLOADING-    AdapterPrevPtsMethodInfo                ,-#endif-    adapterPrevPts                          ,----- ** prevPtsAtOffset #method:prevPtsAtOffset#--#if ENABLE_OVERLOADING-    AdapterPrevPtsAtOffsetMethodInfo        ,-#endif-    adapterPrevPtsAtOffset                  ,----- ** ptsAtDiscont #method:ptsAtDiscont#--#if ENABLE_OVERLOADING-    AdapterPtsAtDiscontMethodInfo           ,-#endif-    adapterPtsAtDiscont                     ,----- ** push #method:push#--#if ENABLE_OVERLOADING-    AdapterPushMethodInfo                   ,-#endif-    adapterPush                             ,----- ** take #method:take#--#if ENABLE_OVERLOADING-    AdapterTakeMethodInfo                   ,-#endif-    adapterTake                             ,----- ** takeBuffer #method:takeBuffer#--#if ENABLE_OVERLOADING-    AdapterTakeBufferMethodInfo             ,-#endif-    adapterTakeBuffer                       ,----- ** takeBufferFast #method:takeBufferFast#--#if ENABLE_OVERLOADING-    AdapterTakeBufferFastMethodInfo         ,-#endif-    adapterTakeBufferFast                   ,----- ** takeBufferList #method:takeBufferList#--#if ENABLE_OVERLOADING-    AdapterTakeBufferListMethodInfo         ,-#endif-    adapterTakeBufferList                   ,----- ** takeList #method:takeList#--#if ENABLE_OVERLOADING-    AdapterTakeListMethodInfo               ,-#endif-    adapterTakeList                         ,----- ** unmap #method:unmap#--#if ENABLE_OVERLOADING-    AdapterUnmapMethodInfo                  ,-#endif-    adapterUnmap                            ,-----    ) 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.Bytes as GLib.Bytes-import qualified GI.GObject.Objects.Object as GObject.Object-import qualified GI.Gst.Structs.Buffer as Gst.Buffer-import qualified GI.Gst.Structs.BufferList as Gst.BufferList---- | Memory-managed wrapper type.-newtype Adapter = Adapter (ManagedPtr Adapter)-foreign import ccall "gst_adapter_get_type"-    c_gst_adapter_get_type :: IO GType--instance GObject Adapter where-    gobjectType = c_gst_adapter_get_type-    ---- | Type class for types which can be safely cast to `Adapter`, for instance with `toAdapter`.-class (GObject o, O.IsDescendantOf Adapter o) => IsAdapter o-instance (GObject o, O.IsDescendantOf Adapter o) => IsAdapter o--instance O.HasParentTypes Adapter-type instance O.ParentTypes Adapter = '[GObject.Object.Object]---- | Cast to `Adapter`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toAdapter :: (MonadIO m, IsAdapter o) => o -> m Adapter-toAdapter = liftIO . unsafeCastTo Adapter---- | A convenience alias for `Nothing` :: `Maybe` `Adapter`.-noAdapter :: Maybe Adapter-noAdapter = Nothing--#if ENABLE_OVERLOADING-type family ResolveAdapterMethod (t :: Symbol) (o :: *) :: * where-    ResolveAdapterMethod "available" o = AdapterAvailableMethodInfo-    ResolveAdapterMethod "availableFast" o = AdapterAvailableFastMethodInfo-    ResolveAdapterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveAdapterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveAdapterMethod "clear" o = AdapterClearMethodInfo-    ResolveAdapterMethod "copy" o = AdapterCopyMethodInfo-    ResolveAdapterMethod "distanceFromDiscont" o = AdapterDistanceFromDiscontMethodInfo-    ResolveAdapterMethod "dtsAtDiscont" o = AdapterDtsAtDiscontMethodInfo-    ResolveAdapterMethod "flush" o = AdapterFlushMethodInfo-    ResolveAdapterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveAdapterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveAdapterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveAdapterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveAdapterMethod "map" o = AdapterMapMethodInfo-    ResolveAdapterMethod "maskedScanUint32" o = AdapterMaskedScanUint32MethodInfo-    ResolveAdapterMethod "maskedScanUint32Peek" o = AdapterMaskedScanUint32PeekMethodInfo-    ResolveAdapterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveAdapterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveAdapterMethod "offsetAtDiscont" o = AdapterOffsetAtDiscontMethodInfo-    ResolveAdapterMethod "prevDts" o = AdapterPrevDtsMethodInfo-    ResolveAdapterMethod "prevDtsAtOffset" o = AdapterPrevDtsAtOffsetMethodInfo-    ResolveAdapterMethod "prevOffset" o = AdapterPrevOffsetMethodInfo-    ResolveAdapterMethod "prevPts" o = AdapterPrevPtsMethodInfo-    ResolveAdapterMethod "prevPtsAtOffset" o = AdapterPrevPtsAtOffsetMethodInfo-    ResolveAdapterMethod "ptsAtDiscont" o = AdapterPtsAtDiscontMethodInfo-    ResolveAdapterMethod "push" o = AdapterPushMethodInfo-    ResolveAdapterMethod "ref" o = GObject.Object.ObjectRefMethodInfo-    ResolveAdapterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveAdapterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveAdapterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveAdapterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveAdapterMethod "take" o = AdapterTakeMethodInfo-    ResolveAdapterMethod "takeBuffer" o = AdapterTakeBufferMethodInfo-    ResolveAdapterMethod "takeBufferFast" o = AdapterTakeBufferFastMethodInfo-    ResolveAdapterMethod "takeBufferList" o = AdapterTakeBufferListMethodInfo-    ResolveAdapterMethod "takeList" o = AdapterTakeListMethodInfo-    ResolveAdapterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveAdapterMethod "unmap" o = AdapterUnmapMethodInfo-    ResolveAdapterMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo-    ResolveAdapterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveAdapterMethod "getBuffer" o = AdapterGetBufferMethodInfo-    ResolveAdapterMethod "getBufferFast" o = AdapterGetBufferFastMethodInfo-    ResolveAdapterMethod "getBufferList" o = AdapterGetBufferListMethodInfo-    ResolveAdapterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveAdapterMethod "getList" o = AdapterGetListMethodInfo-    ResolveAdapterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveAdapterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveAdapterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveAdapterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveAdapterMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveAdapterMethod t Adapter, O.MethodInfo info Adapter p) => OL.IsLabel t (Adapter -> 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 Adapter-type instance O.AttributeList Adapter = AdapterAttributeList-type AdapterAttributeList = ('[ ] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList Adapter = AdapterSignalList-type AdapterSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method Adapter::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GstBase", name = "Adapter"}))--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_new" gst_adapter_new :: -    IO (Ptr Adapter)--{- |-Creates a new 'GI.GstBase.Objects.Adapter.Adapter'. Free with 'GI.GObject.Objects.Object.objectUnref'.--}-adapterNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Adapter-    {- ^ __Returns:__ a new 'GI.GstBase.Objects.Adapter.Adapter' -}-adapterNew  = liftIO $ do-    result <- gst_adapter_new-    checkUnexpectedReturnNULL "adapterNew" result-    result' <- (wrapObject Adapter) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Adapter::available--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", 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_adapter_available" gst_adapter_available :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    IO Word64--{- |-Gets the maximum amount of bytes available, that is it returns the maximum-value that can be supplied to 'GI.GstBase.Objects.Adapter.adapterMap' without that function-returning 'Nothing'.--}-adapterAvailable ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m Word64-    {- ^ __Returns:__ number of bytes available in /@adapter@/ -}-adapterAvailable adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_available adapter'-    touchManagedPtr adapter-    return result--#if ENABLE_OVERLOADING-data AdapterAvailableMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsAdapter a) => O.MethodInfo AdapterAvailableMethodInfo a signature where-    overloadedMethod _ = adapterAvailable--#endif---- method Adapter::available_fast--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", 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_adapter_available_fast" gst_adapter_available_fast :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    IO Word64--{- |-Gets the maximum number of bytes that are immediately available without-requiring any expensive operations (like copying the data into a-temporary buffer).--}-adapterAvailableFast ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m Word64-    {- ^ __Returns:__ number of bytes that are available in /@adapter@/ without expensive-operations -}-adapterAvailableFast adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_available_fast adapter'-    touchManagedPtr adapter-    return result--#if ENABLE_OVERLOADING-data AdapterAvailableFastMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsAdapter a) => O.MethodInfo AdapterAvailableFastMethodInfo a signature where-    overloadedMethod _ = adapterAvailableFast--#endif---- method Adapter::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_clear" gst_adapter_clear :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    IO ()--{- |-Removes all buffers from /@adapter@/.--}-adapterClear ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m ()-adapterClear adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    gst_adapter_clear adapter'-    touchManagedPtr adapter-    return ()--#if ENABLE_OVERLOADING-data AdapterClearMethodInfo-instance (signature ~ (m ()), MonadIO m, IsAdapter a) => O.MethodInfo AdapterClearMethodInfo a signature where-    overloadedMethod _ = adapterClear--#endif---- method Adapter::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", 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 bytes offset in the adapter to start 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 "the number of bytes to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Bytes"}))--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_copy_bytes" gst_adapter_copy_bytes :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- size : TBasicType TUInt64-    IO (Ptr GLib.Bytes.Bytes)--{- |-Similar to gst_adapter_copy, but more suitable for language bindings. /@size@/-bytes of data starting at /@offset@/ will be copied out of the buffers contained-in /@adapter@/ and into a new 'GI.GLib.Structs.Bytes.Bytes' structure which is returned. Depending on-the value of the /@size@/ argument an empty 'GI.GLib.Structs.Bytes.Bytes' structure may be returned.--/Since: 1.4/--}-adapterCopy ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@offset@/: the bytes offset in the adapter to start from -}-    -> Word64-    {- ^ /@size@/: the number of bytes to copy -}-    -> m GLib.Bytes.Bytes-    {- ^ __Returns:__ A new 'GI.GLib.Structs.Bytes.Bytes' structure containing the copied data. -}-adapterCopy adapter offset size = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_copy_bytes adapter' offset size-    checkUnexpectedReturnNULL "adapterCopy" result-    result' <- (wrapBoxed GLib.Bytes.Bytes) result-    touchManagedPtr adapter-    return result'--#if ENABLE_OVERLOADING-data AdapterCopyMethodInfo-instance (signature ~ (Word64 -> Word64 -> m GLib.Bytes.Bytes), MonadIO m, IsAdapter a) => O.MethodInfo AdapterCopyMethodInfo a signature where-    overloadedMethod _ = adapterCopy--#endif---- method Adapter::distance_from_discont--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), 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_adapter_distance_from_discont" gst_adapter_distance_from_discont :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    IO Word64--{- |-/No description available in the introspection data./--}-adapterDistanceFromDiscont ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    -> m Word64-adapterDistanceFromDiscont adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_distance_from_discont adapter'-    touchManagedPtr adapter-    return result--#if ENABLE_OVERLOADING-data AdapterDistanceFromDiscontMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsAdapter a) => O.MethodInfo AdapterDistanceFromDiscontMethodInfo a signature where-    overloadedMethod _ = adapterDistanceFromDiscont--#endif---- method Adapter::dts_at_discont--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", 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_adapter_dts_at_discont" gst_adapter_dts_at_discont :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    IO Word64--{- |-Get the DTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT-flag, or GST_CLOCK_TIME_NONE.--/Since: 1.10/--}-adapterDtsAtDiscont ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m Word64-    {- ^ __Returns:__ The DTS at the last discont or GST_CLOCK_TIME_NONE. -}-adapterDtsAtDiscont adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_dts_at_discont adapter'-    touchManagedPtr adapter-    return result--#if ENABLE_OVERLOADING-data AdapterDtsAtDiscontMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsAdapter a) => O.MethodInfo AdapterDtsAtDiscontMethodInfo a signature where-    overloadedMethod _ = adapterDtsAtDiscont--#endif---- method Adapter::flush--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flush", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to flush", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_flush" gst_adapter_flush :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- flush : TBasicType TUInt64-    IO ()--{- |-Flushes the first /@flush@/ bytes in the /@adapter@/. The caller must ensure that-at least this many bytes are available.--See also: 'GI.GstBase.Objects.Adapter.adapterMap', 'GI.GstBase.Objects.Adapter.adapterUnmap'--}-adapterFlush ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@flush@/: the number of bytes to flush -}-    -> m ()-adapterFlush adapter flush = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    gst_adapter_flush adapter' flush-    touchManagedPtr adapter-    return ()--#if ENABLE_OVERLOADING-data AdapterFlushMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsAdapter a) => O.MethodInfo AdapterFlushMethodInfo a signature where-    overloadedMethod _ = adapterFlush--#endif---- method Adapter::get_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to get", 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_adapter_get_buffer" gst_adapter_get_buffer :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- nbytes : TBasicType TUInt64-    IO (Ptr Gst.Buffer.Buffer)--{- |-Returns a 'GI.Gst.Structs.Buffer.Buffer' containing the first /@nbytes@/ of the /@adapter@/, but-does not flush them from the adapter. See 'GI.GstBase.Objects.Adapter.adapterTakeBuffer'-for details.--Caller owns a reference to the returned buffer. @/gst_buffer_unref()/@ after-usage.--Free-function: gst_buffer_unref--/Since: 1.6/--}-adapterGetBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@nbytes@/: the number of bytes to get -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Buffer.Buffer' containing the first-    /@nbytes@/ of the adapter, or 'Nothing' if /@nbytes@/ bytes are not available.-    @/gst_buffer_unref()/@ when no longer needed. -}-adapterGetBuffer adapter nbytes = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_get_buffer adapter' nbytes-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr adapter-    return maybeResult--#if ENABLE_OVERLOADING-data AdapterGetBufferMethodInfo-instance (signature ~ (Word64 -> m (Maybe Gst.Buffer.Buffer)), MonadIO m, IsAdapter a) => O.MethodInfo AdapterGetBufferMethodInfo a signature where-    overloadedMethod _ = adapterGetBuffer--#endif---- method Adapter::get_buffer_fast--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to get", 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_adapter_get_buffer_fast" gst_adapter_get_buffer_fast :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- nbytes : TBasicType TUInt64-    IO (Ptr Gst.Buffer.Buffer)--{- |-Returns a 'GI.Gst.Structs.Buffer.Buffer' containing the first /@nbytes@/ of the /@adapter@/, but-does not flush them from the adapter. See 'GI.GstBase.Objects.Adapter.adapterTakeBufferFast'-for details.--Caller owns a reference to the returned buffer. @/gst_buffer_unref()/@ after-usage.--Free-function: gst_buffer_unref--/Since: 1.6/--}-adapterGetBufferFast ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@nbytes@/: the number of bytes to get -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Buffer.Buffer' containing the first-    /@nbytes@/ of the adapter, or 'Nothing' if /@nbytes@/ bytes are not available.-    @/gst_buffer_unref()/@ when no longer needed. -}-adapterGetBufferFast adapter nbytes = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_get_buffer_fast adapter' nbytes-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr adapter-    return maybeResult--#if ENABLE_OVERLOADING-data AdapterGetBufferFastMethodInfo-instance (signature ~ (Word64 -> m (Maybe Gst.Buffer.Buffer)), MonadIO m, IsAdapter a) => O.MethodInfo AdapterGetBufferFastMethodInfo a signature where-    overloadedMethod _ = adapterGetBufferFast--#endif---- method Adapter::get_buffer_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to get", 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_adapter_get_buffer_list" gst_adapter_get_buffer_list :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- nbytes : TBasicType TUInt64-    IO (Ptr Gst.BufferList.BufferList)--{- |-Returns a 'GI.Gst.Structs.BufferList.BufferList' of buffers containing the first /@nbytes@/ bytes of-the /@adapter@/ but does not flush them from the adapter. See-'GI.GstBase.Objects.Adapter.adapterTakeBufferList' for details.--Caller owns the returned list. Call @/gst_buffer_list_unref()/@ to free-the list after usage.--/Since: 1.6/--}-adapterGetBufferList ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@nbytes@/: the number of bytes to get -}-    -> m (Maybe Gst.BufferList.BufferList)-    {- ^ __Returns:__ a 'GI.Gst.Structs.BufferList.BufferList' of buffers containing-    the first /@nbytes@/ of the adapter, or 'Nothing' if /@nbytes@/ bytes are not-    available -}-adapterGetBufferList adapter nbytes = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_get_buffer_list adapter' nbytes-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.BufferList.BufferList) result'-        return result''-    touchManagedPtr adapter-    return maybeResult--#if ENABLE_OVERLOADING-data AdapterGetBufferListMethodInfo-instance (signature ~ (Word64 -> m (Maybe Gst.BufferList.BufferList)), MonadIO m, IsAdapter a) => O.MethodInfo AdapterGetBufferListMethodInfo a signature where-    overloadedMethod _ = adapterGetBufferList--#endif---- method Adapter::get_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "Buffer"})))--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_get_list" gst_adapter_get_list :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- nbytes : TBasicType TUInt64-    IO (Ptr (GList (Ptr Gst.Buffer.Buffer)))--{- |-Returns a 'GI.GLib.Structs.List.List' of buffers containing the first /@nbytes@/ bytes of the-/@adapter@/, but does not flush them from the adapter. See-'GI.GstBase.Objects.Adapter.adapterTakeList' for details.--Caller owns returned list and contained buffers. @/gst_buffer_unref()/@ each-buffer in the list before freeing the list after usage.--/Since: 1.6/--}-adapterGetList ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@nbytes@/: the number of bytes to get -}-    -> m [Gst.Buffer.Buffer]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of-    buffers containing the first /@nbytes@/ of the adapter, or 'Nothing' if /@nbytes@/-    bytes are not available -}-adapterGetList adapter nbytes = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_get_list adapter' nbytes-    result' <- unpackGList result-    result'' <- mapM (wrapBoxed Gst.Buffer.Buffer) result'-    g_list_free result-    touchManagedPtr adapter-    return result''--#if ENABLE_OVERLOADING-data AdapterGetListMethodInfo-instance (signature ~ (Word64 -> m [Gst.Buffer.Buffer]), MonadIO m, IsAdapter a) => O.MethodInfo AdapterGetListMethodInfo a signature where-    overloadedMethod _ = adapterGetList--#endif---- method Adapter::map--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to map/peek", 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 number of bytes to map/peek", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 1 (TBasicType TUInt8))--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_map" gst_adapter_map :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Ptr Word64 ->                           -- size : TBasicType TUInt64-    IO (Ptr Word8)--{- |-Gets the first /@size@/ bytes stored in the /@adapter@/. The returned pointer is-valid until the next function is called on the adapter.--Note that setting the returned pointer as the data of a 'GI.Gst.Structs.Buffer.Buffer' is-incorrect for general-purpose plugins. The reason is that if a downstream-element stores the buffer so that it has access to it outside of the bounds-of its chain function, the buffer will have an invalid data pointer after-your element flushes the bytes. In that case you should use-'GI.GstBase.Objects.Adapter.adapterTake', which returns a freshly-allocated buffer that you can set-as 'GI.Gst.Structs.Buffer.Buffer' memory or the potentially more performant-'GI.GstBase.Objects.Adapter.adapterTakeBuffer'.--Returns 'Nothing' if /@size@/ bytes are not available.--}-adapterMap ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m (Maybe ByteString)-    {- ^ __Returns:__ -    a pointer to the first /@size@/ bytes of data, or 'Nothing' -}-adapterMap adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    size <- allocMem :: IO (Ptr Word64)-    result <- gst_adapter_map adapter' size-    size' <- peek size-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (unpackByteStringWithLength size') result'-        return result''-    touchManagedPtr adapter-    freeMem size-    return maybeResult--#if ENABLE_OVERLOADING-data AdapterMapMethodInfo-instance (signature ~ (m (Maybe ByteString)), MonadIO m, IsAdapter a) => O.MethodInfo AdapterMapMethodInfo a signature where-    overloadedMethod _ = adapterMap--#endif---- method Adapter::masked_scan_uint32--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mask to apply to data before matching against @pattern", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pattern", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pattern to match (after mask is applied)", 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 into the adapter data from which to start scanning, returns\n         the last scanned position.", 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 "number of bytes to scan from offset", 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_adapter_masked_scan_uint32" gst_adapter_masked_scan_uint32 :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word32 ->                               -- mask : TBasicType TUInt32-    Word32 ->                               -- pattern : TBasicType TUInt32-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- size : TBasicType TUInt64-    IO Int64--{- |-Scan for pattern /@pattern@/ with applied mask /@mask@/ in the adapter data,-starting from offset /@offset@/.--The bytes in /@pattern@/ and /@mask@/ are interpreted left-to-right, regardless-of endianness.  All four bytes of the pattern must be present in the-adapter for it to match, even if the first or last bytes are masked out.--It is an error to call this function without making sure that there is-enough data (offset+size bytes) in the adapter.--This function calls 'GI.GstBase.Objects.Adapter.adapterMaskedScanUint32Peek' passing 'Nothing'-for value.--}-adapterMaskedScanUint32 ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word32-    {- ^ /@mask@/: mask to apply to data before matching against /@pattern@/ -}-    -> Word32-    {- ^ /@pattern@/: pattern to match (after mask is applied) -}-    -> Word64-    {- ^ /@offset@/: offset into the adapter data from which to start scanning, returns-         the last scanned position. -}-    -> Word64-    {- ^ /@size@/: number of bytes to scan from offset -}-    -> m Int64-    {- ^ __Returns:__ offset of the first match, or -1 if no match was found.--Example:->->// Assume the adapter contains 0x00 0x01 0x02 ... 0xfe 0xff->->gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 0, 256);->// -> returns 0->gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 1, 255);->// -> returns -1->gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x01020304, 1, 255);->// -> returns 1->gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0001, 0, 256);->// -> returns -1->gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0203, 0, 256);->// -> returns 0->gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 256);->// -> returns 2->gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4);->// -> returns -1- -}-adapterMaskedScanUint32 adapter mask pattern offset size = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_masked_scan_uint32 adapter' mask pattern offset size-    touchManagedPtr adapter-    return result--#if ENABLE_OVERLOADING-data AdapterMaskedScanUint32MethodInfo-instance (signature ~ (Word32 -> Word32 -> Word64 -> Word64 -> m Int64), MonadIO m, IsAdapter a) => O.MethodInfo AdapterMaskedScanUint32MethodInfo a signature where-    overloadedMethod _ = adapterMaskedScanUint32--#endif---- method Adapter::masked_scan_uint32_peek--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mask", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "mask to apply to data before matching against @pattern", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pattern", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pattern to match (after mask is applied)", 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 into the adapter data from which to start scanning, returns\n         the last scanned position.", 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 "number of bytes to scan from offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to uint32 to return matching data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_masked_scan_uint32_peek" gst_adapter_masked_scan_uint32_peek :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word32 ->                               -- mask : TBasicType TUInt32-    Word32 ->                               -- pattern : TBasicType TUInt32-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- size : TBasicType TUInt64-    Ptr Word32 ->                           -- value : TBasicType TUInt32-    IO Int64--{- |-Scan for pattern /@pattern@/ with applied mask /@mask@/ in the adapter data,-starting from offset /@offset@/.  If a match is found, the value that matched-is returned through /@value@/, otherwise /@value@/ is left untouched.--The bytes in /@pattern@/ and /@mask@/ are interpreted left-to-right, regardless-of endianness.  All four bytes of the pattern must be present in the-adapter for it to match, even if the first or last bytes are masked out.--It is an error to call this function without making sure that there is-enough data (offset+size bytes) in the adapter.--}-adapterMaskedScanUint32Peek ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word32-    {- ^ /@mask@/: mask to apply to data before matching against /@pattern@/ -}-    -> Word32-    {- ^ /@pattern@/: pattern to match (after mask is applied) -}-    -> Word64-    {- ^ /@offset@/: offset into the adapter data from which to start scanning, returns-         the last scanned position. -}-    -> Word64-    {- ^ /@size@/: number of bytes to scan from offset -}-    -> m ((Int64, Word32))-    {- ^ __Returns:__ offset of the first match, or -1 if no match was found. -}-adapterMaskedScanUint32Peek adapter mask pattern offset size = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    value <- allocMem :: IO (Ptr Word32)-    result <- gst_adapter_masked_scan_uint32_peek adapter' mask pattern offset size value-    value' <- peek value-    touchManagedPtr adapter-    freeMem value-    return (result, value')--#if ENABLE_OVERLOADING-data AdapterMaskedScanUint32PeekMethodInfo-instance (signature ~ (Word32 -> Word32 -> Word64 -> Word64 -> m ((Int64, Word32))), MonadIO m, IsAdapter a) => O.MethodInfo AdapterMaskedScanUint32PeekMethodInfo a signature where-    overloadedMethod _ = adapterMaskedScanUint32Peek--#endif---- method Adapter::offset_at_discont--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", 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_adapter_offset_at_discont" gst_adapter_offset_at_discont :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    IO Word64--{- |-Get the offset that was on the last buffer with the GST_BUFFER_FLAG_DISCONT-flag, or GST_BUFFER_OFFSET_NONE.--/Since: 1.10/--}-adapterOffsetAtDiscont ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m Word64-    {- ^ __Returns:__ The offset at the last discont or GST_BUFFER_OFFSET_NONE. -}-adapterOffsetAtDiscont adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_offset_at_discont adapter'-    touchManagedPtr adapter-    return result--#if ENABLE_OVERLOADING-data AdapterOffsetAtDiscontMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsAdapter a) => O.MethodInfo AdapterOffsetAtDiscontMethodInfo a signature where-    overloadedMethod _ = adapterOffsetAtDiscont--#endif---- method Adapter::prev_dts--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "distance", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location for distance, or %NULL", 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_adapter_prev_dts" gst_adapter_prev_dts :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Ptr Word64 ->                           -- distance : TBasicType TUInt64-    IO Word64--{- |-Get the dts that was before the current byte in the adapter. When-/@distance@/ is given, the amount of bytes between the dts and the current-position is returned.--The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when-the adapter is first created or when it is cleared. This also means that before-the first byte with a dts is removed from the adapter, the dts-and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.--}-adapterPrevDts ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m ((Word64, Word64))-    {- ^ __Returns:__ The previously seen dts. -}-adapterPrevDts adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    distance <- allocMem :: IO (Ptr Word64)-    result <- gst_adapter_prev_dts adapter' distance-    distance' <- peek distance-    touchManagedPtr adapter-    freeMem distance-    return (result, distance')--#if ENABLE_OVERLOADING-data AdapterPrevDtsMethodInfo-instance (signature ~ (m ((Word64, Word64))), MonadIO m, IsAdapter a) => O.MethodInfo AdapterPrevDtsMethodInfo a signature where-    overloadedMethod _ = adapterPrevDts--#endif---- method Adapter::prev_dts_at_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", 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 the adapter at which to get timestamp", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "distance", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location for distance, or %NULL", 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_adapter_prev_dts_at_offset" gst_adapter_prev_dts_at_offset :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Ptr Word64 ->                           -- distance : TBasicType TUInt64-    IO Word64--{- |-Get the dts that was before the byte at offset /@offset@/ in the adapter. When-/@distance@/ is given, the amount of bytes between the dts and the current-position is returned.--The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when-the adapter is first created or when it is cleared. This also means that before-the first byte with a dts is removed from the adapter, the dts-and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.--/Since: 1.2/--}-adapterPrevDtsAtOffset ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@offset@/: the offset in the adapter at which to get timestamp -}-    -> m ((Word64, Word64))-    {- ^ __Returns:__ The previously seen dts at given offset. -}-adapterPrevDtsAtOffset adapter offset = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    distance <- allocMem :: IO (Ptr Word64)-    result <- gst_adapter_prev_dts_at_offset adapter' offset distance-    distance' <- peek distance-    touchManagedPtr adapter-    freeMem distance-    return (result, distance')--#if ENABLE_OVERLOADING-data AdapterPrevDtsAtOffsetMethodInfo-instance (signature ~ (Word64 -> m ((Word64, Word64))), MonadIO m, IsAdapter a) => O.MethodInfo AdapterPrevDtsAtOffsetMethodInfo a signature where-    overloadedMethod _ = adapterPrevDtsAtOffset--#endif---- method Adapter::prev_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "distance", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to a location for distance, or %NULL", 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_adapter_prev_offset" gst_adapter_prev_offset :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Ptr Word64 ->                           -- distance : TBasicType TUInt64-    IO Word64--{- |-Get the offset that was before the current byte in the adapter. When-/@distance@/ is given, the amount of bytes between the offset and the current-position is returned.--The offset is reset to GST_BUFFER_OFFSET_NONE and the distance is set to 0-when the adapter is first created or when it is cleared. This also means that-before the first byte with an offset is removed from the adapter, the offset-and distance returned are GST_BUFFER_OFFSET_NONE and 0 respectively.--/Since: 1.10/--}-adapterPrevOffset ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m ((Word64, Word64))-    {- ^ __Returns:__ The previous seen offset. -}-adapterPrevOffset adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    distance <- allocMem :: IO (Ptr Word64)-    result <- gst_adapter_prev_offset adapter' distance-    distance' <- peek distance-    touchManagedPtr adapter-    freeMem distance-    return (result, distance')--#if ENABLE_OVERLOADING-data AdapterPrevOffsetMethodInfo-instance (signature ~ (m ((Word64, Word64))), MonadIO m, IsAdapter a) => O.MethodInfo AdapterPrevOffsetMethodInfo a signature where-    overloadedMethod _ = adapterPrevOffset--#endif---- method Adapter::prev_pts--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "distance", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location for distance, or %NULL", 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_adapter_prev_pts" gst_adapter_prev_pts :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Ptr Word64 ->                           -- distance : TBasicType TUInt64-    IO Word64--{- |-Get the pts that was before the current byte in the adapter. When-/@distance@/ is given, the amount of bytes between the pts and the current-position is returned.--The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when-the adapter is first created or when it is cleared. This also means that before-the first byte with a pts is removed from the adapter, the pts-and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.--}-adapterPrevPts ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m ((Word64, Word64))-    {- ^ __Returns:__ The previously seen pts. -}-adapterPrevPts adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    distance <- allocMem :: IO (Ptr Word64)-    result <- gst_adapter_prev_pts adapter' distance-    distance' <- peek distance-    touchManagedPtr adapter-    freeMem distance-    return (result, distance')--#if ENABLE_OVERLOADING-data AdapterPrevPtsMethodInfo-instance (signature ~ (m ((Word64, Word64))), MonadIO m, IsAdapter a) => O.MethodInfo AdapterPrevPtsMethodInfo a signature where-    overloadedMethod _ = adapterPrevPts--#endif---- method Adapter::prev_pts_at_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", 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 the adapter at which to get timestamp", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "distance", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location for distance, or %NULL", 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_adapter_prev_pts_at_offset" gst_adapter_prev_pts_at_offset :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Ptr Word64 ->                           -- distance : TBasicType TUInt64-    IO Word64--{- |-Get the pts that was before the byte at offset /@offset@/ in the adapter. When-/@distance@/ is given, the amount of bytes between the pts and the current-position is returned.--The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when-the adapter is first created or when it is cleared. This also means that before-the first byte with a pts is removed from the adapter, the pts-and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.--/Since: 1.2/--}-adapterPrevPtsAtOffset ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@offset@/: the offset in the adapter at which to get timestamp -}-    -> m ((Word64, Word64))-    {- ^ __Returns:__ The previously seen pts at given offset. -}-adapterPrevPtsAtOffset adapter offset = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    distance <- allocMem :: IO (Ptr Word64)-    result <- gst_adapter_prev_pts_at_offset adapter' offset distance-    distance' <- peek distance-    touchManagedPtr adapter-    freeMem distance-    return (result, distance')--#if ENABLE_OVERLOADING-data AdapterPrevPtsAtOffsetMethodInfo-instance (signature ~ (Word64 -> m ((Word64, Word64))), MonadIO m, IsAdapter a) => O.MethodInfo AdapterPrevPtsAtOffsetMethodInfo a signature where-    overloadedMethod _ = adapterPrevPtsAtOffset--#endif---- method Adapter::pts_at_discont--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", 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_adapter_pts_at_discont" gst_adapter_pts_at_discont :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    IO Word64--{- |-Get the PTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT-flag, or GST_CLOCK_TIME_NONE.--/Since: 1.10/--}-adapterPtsAtDiscont ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m Word64-    {- ^ __Returns:__ The PTS at the last discont or GST_CLOCK_TIME_NONE. -}-adapterPtsAtDiscont adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_pts_at_discont adapter'-    touchManagedPtr adapter-    return result--#if ENABLE_OVERLOADING-data AdapterPtsAtDiscontMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsAdapter a) => O.MethodInfo AdapterPtsAtDiscontMethodInfo a signature where-    overloadedMethod _ = adapterPtsAtDiscont--#endif---- method Adapter::push--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBuffer to add to queue in the adapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_push" gst_adapter_push :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Ptr Gst.Buffer.Buffer ->                -- buf : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO ()--{- |-Adds the data from /@buf@/ to the data stored inside /@adapter@/ and takes-ownership of the buffer.--}-adapterPush ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Gst.Buffer.Buffer-    {- ^ /@buf@/: a 'GI.Gst.Structs.Buffer.Buffer' to add to queue in the adapter -}-    -> m ()-adapterPush adapter buf = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    buf' <- B.ManagedPtr.disownBoxed buf-    gst_adapter_push adapter' buf'-    touchManagedPtr adapter-    touchManagedPtr buf-    return ()--#if ENABLE_OVERLOADING-data AdapterPushMethodInfo-instance (signature ~ (Gst.Buffer.Buffer -> m ()), MonadIO m, IsAdapter a) => O.MethodInfo AdapterPushMethodInfo a signature where-    overloadedMethod _ = adapterPush--#endif---- method Adapter::take--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to take", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to take", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 1 (TBasicType TUInt8))--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_take" gst_adapter_take :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Ptr Word64 ->                           -- nbytes : TBasicType TUInt64-    IO (Ptr Word8)--{- |-Returns a freshly allocated buffer containing the first /@nbytes@/ bytes of the-/@adapter@/. The returned bytes will be flushed from the adapter.--Caller owns returned value. g_free after usage.--Free-function: g_free--}-adapterTake ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m (Maybe ByteString)-    {- ^ __Returns:__ -    oven-fresh hot data, or 'Nothing' if /@nbytes@/ bytes are not available -}-adapterTake adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    nbytes <- allocMem :: IO (Ptr Word64)-    result <- gst_adapter_take adapter' nbytes-    nbytes' <- peek nbytes-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (unpackByteStringWithLength nbytes') result'-        freeMem result'-        return result''-    touchManagedPtr adapter-    freeMem nbytes-    return maybeResult--#if ENABLE_OVERLOADING-data AdapterTakeMethodInfo-instance (signature ~ (m (Maybe ByteString)), MonadIO m, IsAdapter a) => O.MethodInfo AdapterTakeMethodInfo a signature where-    overloadedMethod _ = adapterTake--#endif---- method Adapter::take_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to take", 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_adapter_take_buffer" gst_adapter_take_buffer :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- nbytes : TBasicType TUInt64-    IO (Ptr Gst.Buffer.Buffer)--{- |-Returns a 'GI.Gst.Structs.Buffer.Buffer' containing the first /@nbytes@/ bytes of the-/@adapter@/. The returned bytes will be flushed from the adapter.-This function is potentially more performant than-'GI.GstBase.Objects.Adapter.adapterTake' since it can reuse the memory in pushed buffers-by subbuffering or merging. This function will always return a-buffer with a single memory region.--Note that no assumptions should be made as to whether certain buffer-flags such as the DISCONT flag are set on the returned buffer, or not.-The caller needs to explicitly set or unset flags that should be set or-unset.--Since 1.6 this will also copy over all GstMeta of the input buffers except-for meta with the 'GI.Gst.Flags.MetaFlagsPooled' flag or with the \"memory\" tag.--Caller owns a reference to the returned buffer. @/gst_buffer_unref()/@ after-usage.--Free-function: gst_buffer_unref--}-adapterTakeBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@nbytes@/: the number of bytes to take -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Buffer.Buffer' containing the first-    /@nbytes@/ of the adapter, or 'Nothing' if /@nbytes@/ bytes are not available.-    @/gst_buffer_unref()/@ when no longer needed. -}-adapterTakeBuffer adapter nbytes = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_take_buffer adapter' nbytes-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr adapter-    return maybeResult--#if ENABLE_OVERLOADING-data AdapterTakeBufferMethodInfo-instance (signature ~ (Word64 -> m (Maybe Gst.Buffer.Buffer)), MonadIO m, IsAdapter a) => O.MethodInfo AdapterTakeBufferMethodInfo a signature where-    overloadedMethod _ = adapterTakeBuffer--#endif---- method Adapter::take_buffer_fast--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to take", 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_adapter_take_buffer_fast" gst_adapter_take_buffer_fast :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- nbytes : TBasicType TUInt64-    IO (Ptr Gst.Buffer.Buffer)--{- |-Returns a 'GI.Gst.Structs.Buffer.Buffer' containing the first /@nbytes@/ of the /@adapter@/.-The returned bytes will be flushed from the adapter.  This function-is potentially more performant than 'GI.GstBase.Objects.Adapter.adapterTakeBuffer' since-it can reuse the memory in pushed buffers by subbuffering or-merging. Unlike 'GI.GstBase.Objects.Adapter.adapterTakeBuffer', the returned buffer may-be composed of multiple non-contiguous 'GI.Gst.Structs.Memory.Memory' objects, no-copies are made.--Note that no assumptions should be made as to whether certain buffer-flags such as the DISCONT flag are set on the returned buffer, or not.-The caller needs to explicitly set or unset flags that should be set or-unset.--This will also copy over all GstMeta of the input buffers except-for meta with the 'GI.Gst.Flags.MetaFlagsPooled' flag or with the \"memory\" tag.--This function can return buffer up to the return value of-'GI.GstBase.Objects.Adapter.adapterAvailable' without making copies if possible.--Caller owns a reference to the returned buffer. @/gst_buffer_unref()/@ after-usage.--Free-function: gst_buffer_unref--/Since: 1.2/--}-adapterTakeBufferFast ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@nbytes@/: the number of bytes to take -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Buffer.Buffer' containing the first-    /@nbytes@/ of the adapter, or 'Nothing' if /@nbytes@/ bytes are not available.-    @/gst_buffer_unref()/@ when no longer needed. -}-adapterTakeBufferFast adapter nbytes = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_take_buffer_fast adapter' nbytes-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr adapter-    return maybeResult--#if ENABLE_OVERLOADING-data AdapterTakeBufferFastMethodInfo-instance (signature ~ (Word64 -> m (Maybe Gst.Buffer.Buffer)), MonadIO m, IsAdapter a) => O.MethodInfo AdapterTakeBufferFastMethodInfo a signature where-    overloadedMethod _ = adapterTakeBufferFast--#endif---- method Adapter::take_buffer_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to take", 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_adapter_take_buffer_list" gst_adapter_take_buffer_list :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- nbytes : TBasicType TUInt64-    IO (Ptr Gst.BufferList.BufferList)--{- |-Returns a 'GI.Gst.Structs.BufferList.BufferList' of buffers containing the first /@nbytes@/ bytes of-the /@adapter@/. The returned bytes will be flushed from the adapter.-When the caller can deal with individual buffers, this function is more-performant because no memory should be copied.--Caller owns the returned list. Call @/gst_buffer_list_unref()/@ to free-the list after usage.--/Since: 1.6/--}-adapterTakeBufferList ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@nbytes@/: the number of bytes to take -}-    -> m (Maybe Gst.BufferList.BufferList)-    {- ^ __Returns:__ a 'GI.Gst.Structs.BufferList.BufferList' of buffers containing-    the first /@nbytes@/ of the adapter, or 'Nothing' if /@nbytes@/ bytes are not-    available -}-adapterTakeBufferList adapter nbytes = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_take_buffer_list adapter' nbytes-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.BufferList.BufferList) result'-        return result''-    touchManagedPtr adapter-    return maybeResult--#if ENABLE_OVERLOADING-data AdapterTakeBufferListMethodInfo-instance (signature ~ (Word64 -> m (Maybe Gst.BufferList.BufferList)), MonadIO m, IsAdapter a) => O.MethodInfo AdapterTakeBufferListMethodInfo a signature where-    overloadedMethod _ = adapterTakeBufferList--#endif---- method Adapter::take_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to take", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "Buffer"})))--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_take_list" gst_adapter_take_list :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    Word64 ->                               -- nbytes : TBasicType TUInt64-    IO (Ptr (GList (Ptr Gst.Buffer.Buffer)))--{- |-Returns a 'GI.GLib.Structs.List.List' of buffers containing the first /@nbytes@/ bytes of the-/@adapter@/. The returned bytes will be flushed from the adapter.-When the caller can deal with individual buffers, this function is more-performant because no memory should be copied.--Caller owns returned list and contained buffers. @/gst_buffer_unref()/@ each-buffer in the list before freeing the list after usage.--}-adapterTakeList ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> Word64-    {- ^ /@nbytes@/: the number of bytes to take -}-    -> m [Gst.Buffer.Buffer]-    {- ^ __Returns:__ a 'GI.GLib.Structs.List.List' of-    buffers containing the first /@nbytes@/ of the adapter, or 'Nothing' if /@nbytes@/-    bytes are not available -}-adapterTakeList adapter nbytes = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    result <- gst_adapter_take_list adapter' nbytes-    result' <- unpackGList result-    result'' <- mapM (wrapBoxed Gst.Buffer.Buffer) result'-    g_list_free result-    touchManagedPtr adapter-    return result''--#if ENABLE_OVERLOADING-data AdapterTakeListMethodInfo-instance (signature ~ (Word64 -> m [Gst.Buffer.Buffer]), MonadIO m, IsAdapter a) => O.MethodInfo AdapterTakeListMethodInfo a signature where-    overloadedMethod _ = adapterTakeList--#endif---- method Adapter::unmap--- method type : OrdinaryMethod--- Args : [Arg {argCName = "adapter", argType = TInterface (Name {namespace = "GstBase", name = "Adapter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAdapter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_adapter_unmap" gst_adapter_unmap :: -    Ptr Adapter ->                          -- adapter : TInterface (Name {namespace = "GstBase", name = "Adapter"})-    IO ()--{- |-Releases the memory obtained with the last 'GI.GstBase.Objects.Adapter.adapterMap'.--}-adapterUnmap ::-    (B.CallStack.HasCallStack, MonadIO m, IsAdapter a) =>-    a-    {- ^ /@adapter@/: a 'GI.GstBase.Objects.Adapter.Adapter' -}-    -> m ()-adapterUnmap adapter = liftIO $ do-    adapter' <- unsafeManagedPtrCastPtr adapter-    gst_adapter_unmap adapter'-    touchManagedPtr adapter-    return ()--#if ENABLE_OVERLOADING-data AdapterUnmapMethodInfo-instance (signature ~ (m ()), MonadIO m, IsAdapter a) => O.MethodInfo AdapterUnmapMethodInfo a signature where-    overloadedMethod _ = adapterUnmap--#endif--
− GI/GstBase/Objects/Adapter.hs-boot
@@ -1,113 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.Adapter 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 Adapter = Adapter (ManagedPtr Adapter)-instance GObject Adapter where-class (GObject o, O.IsDescendantOf Adapter o) => IsAdapter o-instance (GObject o, O.IsDescendantOf Adapter o) => IsAdapter o-instance O.HasParentTypes Adapter-#if ENABLE_OVERLOADING-data AdapterAvailableMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterAvailableFastMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterDistanceFromDiscontMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterDtsAtDiscontMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterFlushMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterGetBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterGetBufferFastMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterGetBufferListMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterGetListMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterMapMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterMaskedScanUint32MethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterMaskedScanUint32PeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterOffsetAtDiscontMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterPrevDtsMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterPrevDtsAtOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterPrevOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterPrevPtsMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterPrevPtsAtOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterPtsAtDiscontMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterPushMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterTakeMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterTakeBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterTakeBufferFastMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterTakeBufferListMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterTakeListMethodInfo-#endif-#if ENABLE_OVERLOADING-data AdapterUnmapMethodInfo-#endif
− GI/GstBase/Objects/Aggregator.hs
@@ -1,805 +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)--Manages a set of pads with the purpose of aggregating their buffers.-Control is given to the subclass when all pads have data.-- * Base class for mixers and muxers. Subclasses should at least implement-   the 'GI.GstBase.Structs.AggregatorClass.AggregatorClass'.@/aggregate/@() virtual method.-- * Installs a 'GI.Gst.Callbacks.PadChainFunction', a 'GI.Gst.Callbacks.PadEventFullFunction' and a-   'GI.Gst.Callbacks.PadQueryFunction' to queue all serialized data packets per sink pad.-   Subclasses should not overwrite those, but instead implement-   'GI.GstBase.Structs.AggregatorClass.AggregatorClass'.@/sink_event/@() and 'GI.GstBase.Structs.AggregatorClass.AggregatorClass'.@/sink_query/@() as-   needed.-- * When data is queued on all pads, the aggregate vmethod is called.-- * One can peek at the data on any given GstAggregatorPad with the-   gst_aggregator_pad_peek_buffer () method, and remove it from the pad-   with the gst_aggregator_pad_pop_buffer () method. When a buffer-   has been taken with pop_buffer (), a new buffer can be queued-   on that pad.-- * If the subclass wishes to push a buffer downstream in its aggregate-   implementation, it should do so through the-   gst_aggregator_finish_buffer () method. This method will take care-   of sending and ordering mandatory events such as stream start, caps-   and segment.-- * Same goes for EOS events, which should not be pushed directly by the-   subclass, it should instead return GST_FLOW_EOS in its aggregate-   implementation.-- * Note that the aggregator logic regarding gap event handling is to turn-   these into gap buffers with matching PTS and duration. It will also-   flag these buffers with GST_BUFFER_FLAG_GAP and GST_BUFFER_FLAG_DROPPABLE-   to ease their identification and subsequent processing.-- * Subclasses must use (a subclass of) 'GI.GstBase.Objects.AggregatorPad.AggregatorPad' for both their-   sink and source pads.-   See 'GI.Gst.Structs.ElementClass.elementClassAddStaticPadTemplateWithGtype'.--This class used to live in gst-plugins-bad and was moved to core.--/Since: 1.14/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.Aggregator-    ( ---- * Exported types-    Aggregator(..)                          ,-    IsAggregator                            ,-    toAggregator                            ,-    noAggregator                            ,--- -- * Methods--- ** finishBuffer #method:finishBuffer#--#if ENABLE_OVERLOADING-    AggregatorFinishBufferMethodInfo        ,-#endif-    aggregatorFinishBuffer                  ,----- ** getAllocator #method:getAllocator#--#if ENABLE_OVERLOADING-    AggregatorGetAllocatorMethodInfo        ,-#endif-    aggregatorGetAllocator                  ,----- ** getBufferPool #method:getBufferPool#--#if ENABLE_OVERLOADING-    AggregatorGetBufferPoolMethodInfo       ,-#endif-    aggregatorGetBufferPool                 ,----- ** getLatency #method:getLatency#--#if ENABLE_OVERLOADING-    AggregatorGetLatencyMethodInfo          ,-#endif-    aggregatorGetLatency                    ,----- ** setLatency #method:setLatency#--#if ENABLE_OVERLOADING-    AggregatorSetLatencyMethodInfo          ,-#endif-    aggregatorSetLatency                    ,----- ** setSrcCaps #method:setSrcCaps#--#if ENABLE_OVERLOADING-    AggregatorSetSrcCapsMethodInfo          ,-#endif-    aggregatorSetSrcCaps                    ,----- ** simpleGetNextTime #method:simpleGetNextTime#--#if ENABLE_OVERLOADING-    AggregatorSimpleGetNextTimeMethodInfo   ,-#endif-    aggregatorSimpleGetNextTime             ,----- -- * Properties--- ** latency #attr:latency#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    AggregatorLatencyPropertyInfo           ,-#endif-#if ENABLE_OVERLOADING-    aggregatorLatency                       ,-#endif-    constructAggregatorLatency              ,-    getAggregatorLatency                    ,-    setAggregatorLatency                    ,----- ** minUpstreamLatency #attr:minUpstreamLatency#-{- | Force minimum upstream latency (in nanoseconds). When sources with a-higher latency are expected to be plugged in dynamically after the-aggregator has started playing, this allows overriding the minimum-latency reported by the initial source(s). This is only taken into-account when larger than the actually reported minimum latency.--/Since: 1.16/--}-#if ENABLE_OVERLOADING-    AggregatorMinUpstreamLatencyPropertyInfo,-#endif-#if ENABLE_OVERLOADING-    aggregatorMinUpstreamLatency            ,-#endif-    constructAggregatorMinUpstreamLatency   ,-    getAggregatorMinUpstreamLatency         ,-    setAggregatorMinUpstreamLatency         ,----- ** startTime #attr:startTime#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    AggregatorStartTimePropertyInfo         ,-#endif-#if ENABLE_OVERLOADING-    aggregatorStartTime                     ,-#endif-    constructAggregatorStartTime            ,-    getAggregatorStartTime                  ,-    setAggregatorStartTime                  ,-----    ) 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.Enums as Gst.Enums-import qualified GI.Gst.Objects.Allocator as Gst.Allocator-import qualified GI.Gst.Objects.BufferPool as Gst.BufferPool-import qualified GI.Gst.Objects.Element as Gst.Element-import qualified GI.Gst.Objects.Object as Gst.Object-import qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams-import qualified GI.Gst.Structs.Buffer as Gst.Buffer-import qualified GI.Gst.Structs.Caps as Gst.Caps---- | Memory-managed wrapper type.-newtype Aggregator = Aggregator (ManagedPtr Aggregator)-foreign import ccall "gst_aggregator_get_type"-    c_gst_aggregator_get_type :: IO GType--instance GObject Aggregator where-    gobjectType = c_gst_aggregator_get_type-    ---- | Type class for types which can be safely cast to `Aggregator`, for instance with `toAggregator`.-class (GObject o, O.IsDescendantOf Aggregator o) => IsAggregator o-instance (GObject o, O.IsDescendantOf Aggregator o) => IsAggregator o--instance O.HasParentTypes Aggregator-type instance O.ParentTypes Aggregator = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `Aggregator`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toAggregator :: (MonadIO m, IsAggregator o) => o -> m Aggregator-toAggregator = liftIO . unsafeCastTo Aggregator---- | A convenience alias for `Nothing` :: `Maybe` `Aggregator`.-noAggregator :: Maybe Aggregator-noAggregator = Nothing--#if ENABLE_OVERLOADING-type family ResolveAggregatorMethod (t :: Symbol) (o :: *) :: * where-    ResolveAggregatorMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolveAggregatorMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveAggregatorMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolveAggregatorMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolveAggregatorMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolveAggregatorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveAggregatorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveAggregatorMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolveAggregatorMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolveAggregatorMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolveAggregatorMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolveAggregatorMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveAggregatorMethod "finishBuffer" o = AggregatorFinishBufferMethodInfo-    ResolveAggregatorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveAggregatorMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolveAggregatorMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolveAggregatorMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolveAggregatorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveAggregatorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveAggregatorMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveAggregatorMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveAggregatorMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveAggregatorMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveAggregatorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveAggregatorMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolveAggregatorMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolveAggregatorMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolveAggregatorMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolveAggregatorMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolveAggregatorMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolveAggregatorMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolveAggregatorMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolveAggregatorMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolveAggregatorMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolveAggregatorMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolveAggregatorMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolveAggregatorMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolveAggregatorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveAggregatorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveAggregatorMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolveAggregatorMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolveAggregatorMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolveAggregatorMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolveAggregatorMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolveAggregatorMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolveAggregatorMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveAggregatorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveAggregatorMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolveAggregatorMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveAggregatorMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolveAggregatorMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolveAggregatorMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolveAggregatorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveAggregatorMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolveAggregatorMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolveAggregatorMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolveAggregatorMethod "simpleGetNextTime" o = AggregatorSimpleGetNextTimeMethodInfo-    ResolveAggregatorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveAggregatorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveAggregatorMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveAggregatorMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolveAggregatorMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveAggregatorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveAggregatorMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolveAggregatorMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolveAggregatorMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveAggregatorMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveAggregatorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveAggregatorMethod "getAllocator" o = AggregatorGetAllocatorMethodInfo-    ResolveAggregatorMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolveAggregatorMethod "getBufferPool" o = AggregatorGetBufferPoolMethodInfo-    ResolveAggregatorMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo-    ResolveAggregatorMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolveAggregatorMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolveAggregatorMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolveAggregatorMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolveAggregatorMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolveAggregatorMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolveAggregatorMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveAggregatorMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveAggregatorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveAggregatorMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolveAggregatorMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveAggregatorMethod "getLatency" o = AggregatorGetLatencyMethodInfo-    ResolveAggregatorMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolveAggregatorMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveAggregatorMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolveAggregatorMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolveAggregatorMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveAggregatorMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveAggregatorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveAggregatorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveAggregatorMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolveAggregatorMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolveAggregatorMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolveAggregatorMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolveAggregatorMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveAggregatorMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolveAggregatorMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolveAggregatorMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolveAggregatorMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolveAggregatorMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveAggregatorMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveAggregatorMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveAggregatorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveAggregatorMethod "setLatency" o = AggregatorSetLatencyMethodInfo-    ResolveAggregatorMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolveAggregatorMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveAggregatorMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveAggregatorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveAggregatorMethod "setSrcCaps" o = AggregatorSetSrcCapsMethodInfo-    ResolveAggregatorMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolveAggregatorMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolveAggregatorMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveAggregatorMethod t Aggregator, O.MethodInfo info Aggregator p) => OL.IsLabel t (Aggregator -> 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 "latency"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Nothing)--{- |-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' aggregator #latency-@--}-getAggregatorLatency :: (MonadIO m, IsAggregator o) => o -> m Word64-getAggregatorLatency 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' aggregator [ #latency 'Data.GI.Base.Attributes.:=' value ]-@--}-setAggregatorLatency :: (MonadIO m, IsAggregator o) => o -> Word64 -> m ()-setAggregatorLatency 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`.--}-constructAggregatorLatency :: (IsAggregator o) => Word64 -> IO (GValueConstruct o)-constructAggregatorLatency val = B.Properties.constructObjectPropertyUInt64 "latency" val--#if ENABLE_OVERLOADING-data AggregatorLatencyPropertyInfo-instance AttrInfo AggregatorLatencyPropertyInfo where-    type AttrAllowedOps AggregatorLatencyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint AggregatorLatencyPropertyInfo = (~) Word64-    type AttrBaseTypeConstraint AggregatorLatencyPropertyInfo = IsAggregator-    type AttrGetType AggregatorLatencyPropertyInfo = Word64-    type AttrLabel AggregatorLatencyPropertyInfo = "latency"-    type AttrOrigin AggregatorLatencyPropertyInfo = Aggregator-    attrGet _ = getAggregatorLatency-    attrSet _ = setAggregatorLatency-    attrConstruct _ = constructAggregatorLatency-    attrClear _ = undefined-#endif---- VVV Prop "min-upstream-latency"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@min-upstream-latency@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' aggregator #minUpstreamLatency-@--}-getAggregatorMinUpstreamLatency :: (MonadIO m, IsAggregator o) => o -> m Word64-getAggregatorMinUpstreamLatency obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "min-upstream-latency"--{- |-Set the value of the “@min-upstream-latency@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' aggregator [ #minUpstreamLatency 'Data.GI.Base.Attributes.:=' value ]-@--}-setAggregatorMinUpstreamLatency :: (MonadIO m, IsAggregator o) => o -> Word64 -> m ()-setAggregatorMinUpstreamLatency obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "min-upstream-latency" val--{- |-Construct a `GValueConstruct` with valid value for the “@min-upstream-latency@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructAggregatorMinUpstreamLatency :: (IsAggregator o) => Word64 -> IO (GValueConstruct o)-constructAggregatorMinUpstreamLatency val = B.Properties.constructObjectPropertyUInt64 "min-upstream-latency" val--#if ENABLE_OVERLOADING-data AggregatorMinUpstreamLatencyPropertyInfo-instance AttrInfo AggregatorMinUpstreamLatencyPropertyInfo where-    type AttrAllowedOps AggregatorMinUpstreamLatencyPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint AggregatorMinUpstreamLatencyPropertyInfo = (~) Word64-    type AttrBaseTypeConstraint AggregatorMinUpstreamLatencyPropertyInfo = IsAggregator-    type AttrGetType AggregatorMinUpstreamLatencyPropertyInfo = Word64-    type AttrLabel AggregatorMinUpstreamLatencyPropertyInfo = "min-upstream-latency"-    type AttrOrigin AggregatorMinUpstreamLatencyPropertyInfo = Aggregator-    attrGet _ = getAggregatorMinUpstreamLatency-    attrSet _ = setAggregatorMinUpstreamLatency-    attrConstruct _ = constructAggregatorMinUpstreamLatency-    attrClear _ = undefined-#endif---- VVV Prop "start-time"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@start-time@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' aggregator #startTime-@--}-getAggregatorStartTime :: (MonadIO m, IsAggregator o) => o -> m Word64-getAggregatorStartTime obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "start-time"--{- |-Set the value of the “@start-time@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' aggregator [ #startTime 'Data.GI.Base.Attributes.:=' value ]-@--}-setAggregatorStartTime :: (MonadIO m, IsAggregator o) => o -> Word64 -> m ()-setAggregatorStartTime obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "start-time" val--{- |-Construct a `GValueConstruct` with valid value for the “@start-time@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructAggregatorStartTime :: (IsAggregator o) => Word64 -> IO (GValueConstruct o)-constructAggregatorStartTime val = B.Properties.constructObjectPropertyUInt64 "start-time" val--#if ENABLE_OVERLOADING-data AggregatorStartTimePropertyInfo-instance AttrInfo AggregatorStartTimePropertyInfo where-    type AttrAllowedOps AggregatorStartTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint AggregatorStartTimePropertyInfo = (~) Word64-    type AttrBaseTypeConstraint AggregatorStartTimePropertyInfo = IsAggregator-    type AttrGetType AggregatorStartTimePropertyInfo = Word64-    type AttrLabel AggregatorStartTimePropertyInfo = "start-time"-    type AttrOrigin AggregatorStartTimePropertyInfo = Aggregator-    attrGet _ = getAggregatorStartTime-    attrSet _ = setAggregatorStartTime-    attrConstruct _ = constructAggregatorStartTime-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList Aggregator-type instance O.AttributeList Aggregator = AggregatorAttributeList-type AggregatorAttributeList = ('[ '("latency", AggregatorLatencyPropertyInfo), '("minUpstreamLatency", AggregatorMinUpstreamLatencyPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("startTime", AggregatorStartTimePropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-aggregatorLatency :: AttrLabelProxy "latency"-aggregatorLatency = AttrLabelProxy--aggregatorMinUpstreamLatency :: AttrLabelProxy "minUpstreamLatency"-aggregatorMinUpstreamLatency = AttrLabelProxy--aggregatorStartTime :: AttrLabelProxy "startTime"-aggregatorStartTime = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList Aggregator = AggregatorSignalList-type AggregatorSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif---- method Aggregator::finish_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "aggregator", argType = TInterface (Name {namespace = "GstBase", name = "Aggregator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstAggregator", 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.", 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_aggregator_finish_buffer" gst_aggregator_finish_buffer :: -    Ptr Aggregator ->                       -- aggregator : TInterface (Name {namespace = "GstBase", name = "Aggregator"})-    Ptr Gst.Buffer.Buffer ->                -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    IO CInt--{- |-This method will push the provided output buffer downstream. If needed,-mandatory events such as stream-start, caps, and segment events will be-sent before pushing the buffer.--}-aggregatorFinishBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>-    a-    {- ^ /@aggregator@/: The 'GI.GstBase.Objects.Aggregator.Aggregator' -}-    -> Gst.Buffer.Buffer-    {- ^ /@buffer@/: the 'GI.Gst.Structs.Buffer.Buffer' to push. -}-    -> m Gst.Enums.FlowReturn-aggregatorFinishBuffer aggregator buffer = liftIO $ do-    aggregator' <- unsafeManagedPtrCastPtr aggregator-    buffer' <- B.ManagedPtr.disownBoxed buffer-    result <- gst_aggregator_finish_buffer aggregator' buffer'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr aggregator-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-data AggregatorFinishBufferMethodInfo-instance (signature ~ (Gst.Buffer.Buffer -> m Gst.Enums.FlowReturn), MonadIO m, IsAggregator a) => O.MethodInfo AggregatorFinishBufferMethodInfo a signature where-    overloadedMethod _ = aggregatorFinishBuffer--#endif---- method Aggregator::get_allocator--- method type : OrdinaryMethod--- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "GstBase", name = "Aggregator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAggregator", 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 "the #GstAllocator\nused", 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 "the\n#GstAllocationParams of @allocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_aggregator_get_allocator" gst_aggregator_get_allocator :: -    Ptr Aggregator ->                       -- self : TInterface (Name {namespace = "GstBase", name = "Aggregator"})-    Ptr (Ptr Gst.Allocator.Allocator) ->    -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO ()--{- |-Lets 'GI.GstBase.Objects.Aggregator.Aggregator' sub-classes get the memory /@allocator@/-acquired by the base class and its /@params@/.--Unref the /@allocator@/ after use it.--}-aggregatorGetAllocator ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>-    a-    {- ^ /@self@/: a 'GI.GstBase.Objects.Aggregator.Aggregator' -}-    -> m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))-aggregatorGetAllocator self = liftIO $ do-    self' <- unsafeManagedPtrCastPtr self-    allocator <- allocMem :: IO (Ptr (Ptr Gst.Allocator.Allocator))-    params <- callocBoxedBytes 64 :: IO (Ptr Gst.AllocationParams.AllocationParams)-    gst_aggregator_get_allocator self' allocator params-    allocator' <- peek allocator-    allocator'' <- (wrapObject Gst.Allocator.Allocator) allocator'-    params' <- (wrapBoxed Gst.AllocationParams.AllocationParams) params-    touchManagedPtr self-    freeMem allocator-    return (allocator'', params')--#if ENABLE_OVERLOADING-data AggregatorGetAllocatorMethodInfo-instance (signature ~ (m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))), MonadIO m, IsAggregator a) => O.MethodInfo AggregatorGetAllocatorMethodInfo a signature where-    overloadedMethod _ = aggregatorGetAllocator--#endif---- method Aggregator::get_buffer_pool--- method type : OrdinaryMethod--- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "GstBase", name = "Aggregator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAggregator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferPool"}))--- throws : False--- Skip return : False--foreign import ccall "gst_aggregator_get_buffer_pool" gst_aggregator_get_buffer_pool :: -    Ptr Aggregator ->                       -- self : TInterface (Name {namespace = "GstBase", name = "Aggregator"})-    IO (Ptr Gst.BufferPool.BufferPool)--{- |-/No description available in the introspection data./--}-aggregatorGetBufferPool ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>-    a-    {- ^ /@self@/: a 'GI.GstBase.Objects.Aggregator.Aggregator' -}-    -> m Gst.BufferPool.BufferPool-    {- ^ __Returns:__ the instance of the 'GI.Gst.Objects.BufferPool.BufferPool' used-by /@trans@/; free it after use it -}-aggregatorGetBufferPool self = liftIO $ do-    self' <- unsafeManagedPtrCastPtr self-    result <- gst_aggregator_get_buffer_pool self'-    checkUnexpectedReturnNULL "aggregatorGetBufferPool" result-    result' <- (wrapObject Gst.BufferPool.BufferPool) result-    touchManagedPtr self-    return result'--#if ENABLE_OVERLOADING-data AggregatorGetBufferPoolMethodInfo-instance (signature ~ (m Gst.BufferPool.BufferPool), MonadIO m, IsAggregator a) => O.MethodInfo AggregatorGetBufferPoolMethodInfo a signature where-    overloadedMethod _ = aggregatorGetBufferPool--#endif---- method Aggregator::get_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "GstBase", name = "Aggregator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAggregator", 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_aggregator_get_latency" gst_aggregator_get_latency :: -    Ptr Aggregator ->                       -- self : TInterface (Name {namespace = "GstBase", name = "Aggregator"})-    IO Word64--{- |-Retrieves the latency values reported by /@self@/ in response to the latency-query, or 'GI.Gst.Constants.CLOCK_TIME_NONE' if there is not live source connected and the element-will not wait for the clock.--Typically only called by subclasses.--}-aggregatorGetLatency ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>-    a-    {- ^ /@self@/: a 'GI.GstBase.Objects.Aggregator.Aggregator' -}-    -> m Word64-    {- ^ __Returns:__ The latency or 'GI.Gst.Constants.CLOCK_TIME_NONE' if the element does not sync -}-aggregatorGetLatency self = liftIO $ do-    self' <- unsafeManagedPtrCastPtr self-    result <- gst_aggregator_get_latency self'-    touchManagedPtr self-    return result--#if ENABLE_OVERLOADING-data AggregatorGetLatencyMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsAggregator a) => O.MethodInfo AggregatorGetLatencyMethodInfo a signature where-    overloadedMethod _ = aggregatorGetLatency--#endif---- method Aggregator::set_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "GstBase", name = "Aggregator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstAggregator", 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 "minimum latency", 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 "maximum latency", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_aggregator_set_latency" gst_aggregator_set_latency :: -    Ptr Aggregator ->                       -- self : TInterface (Name {namespace = "GstBase", name = "Aggregator"})-    Word64 ->                               -- min_latency : TBasicType TUInt64-    Word64 ->                               -- max_latency : TBasicType TUInt64-    IO ()--{- |-Lets 'GI.GstBase.Objects.Aggregator.Aggregator' sub-classes tell the baseclass what their internal-latency is. Will also post a LATENCY message on the bus so the pipeline-can reconfigure its global latency.--}-aggregatorSetLatency ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>-    a-    {- ^ /@self@/: a 'GI.GstBase.Objects.Aggregator.Aggregator' -}-    -> Word64-    {- ^ /@minLatency@/: minimum latency -}-    -> Word64-    {- ^ /@maxLatency@/: maximum latency -}-    -> m ()-aggregatorSetLatency self minLatency maxLatency = liftIO $ do-    self' <- unsafeManagedPtrCastPtr self-    gst_aggregator_set_latency self' minLatency maxLatency-    touchManagedPtr self-    return ()--#if ENABLE_OVERLOADING-data AggregatorSetLatencyMethodInfo-instance (signature ~ (Word64 -> Word64 -> m ()), MonadIO m, IsAggregator a) => O.MethodInfo AggregatorSetLatencyMethodInfo a signature where-    overloadedMethod _ = aggregatorSetLatency--#endif---- method Aggregator::set_src_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "GstBase", name = "Aggregator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #GstAggregator", 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 #GstCaps to set on the src 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_aggregator_set_src_caps" gst_aggregator_set_src_caps :: -    Ptr Aggregator ->                       -- self : TInterface (Name {namespace = "GstBase", name = "Aggregator"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO ()--{- |-Sets the caps to be used on the src pad.--}-aggregatorSetSrcCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>-    a-    {- ^ /@self@/: The 'GI.GstBase.Objects.Aggregator.Aggregator' -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: The 'GI.Gst.Structs.Caps.Caps' to set on the src pad. -}-    -> m ()-aggregatorSetSrcCaps self caps = liftIO $ do-    self' <- unsafeManagedPtrCastPtr self-    caps' <- unsafeManagedPtrGetPtr caps-    gst_aggregator_set_src_caps self' caps'-    touchManagedPtr self-    touchManagedPtr caps-    return ()--#if ENABLE_OVERLOADING-data AggregatorSetSrcCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m, IsAggregator a) => O.MethodInfo AggregatorSetSrcCapsMethodInfo a signature where-    overloadedMethod _ = aggregatorSetSrcCaps--#endif---- method Aggregator::simple_get_next_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "GstBase", name = "Aggregator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstAggregator", 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_aggregator_simple_get_next_time" gst_aggregator_simple_get_next_time :: -    Ptr Aggregator ->                       -- self : TInterface (Name {namespace = "GstBase", name = "Aggregator"})-    IO Word64--{- |-This is a simple 'GI.GstBase.Objects.Aggregator.Aggregator'::@/get_next_time/@ implementation that-just looks at the 'GI.Gst.Structs.Segment.Segment' on the srcpad of the aggregator and bases-the next time on the running time there.--This is the desired behaviour in most cases where you have a live source-and you have a dead line based aggregator subclass.--/Since: 1.16/--}-aggregatorSimpleGetNextTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregator a) =>-    a-    {- ^ /@self@/: A 'GI.GstBase.Objects.Aggregator.Aggregator' -}-    -> m Word64-    {- ^ __Returns:__ The running time based on the position -}-aggregatorSimpleGetNextTime self = liftIO $ do-    self' <- unsafeManagedPtrCastPtr self-    result <- gst_aggregator_simple_get_next_time self'-    touchManagedPtr self-    return result--#if ENABLE_OVERLOADING-data AggregatorSimpleGetNextTimeMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsAggregator a) => O.MethodInfo AggregatorSimpleGetNextTimeMethodInfo a signature where-    overloadedMethod _ = aggregatorSimpleGetNextTime--#endif--
− GI/GstBase/Objects/Aggregator.hs-boot
@@ -1,59 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.Aggregator 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 Aggregator = Aggregator (ManagedPtr Aggregator)-instance GObject Aggregator where-class (GObject o, O.IsDescendantOf Aggregator o) => IsAggregator o-instance (GObject o, O.IsDescendantOf Aggregator o) => IsAggregator o-instance O.HasParentTypes Aggregator-#if ENABLE_OVERLOADING-data AggregatorLatencyPropertyInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorMinUpstreamLatencyPropertyInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorStartTimePropertyInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorFinishBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorGetAllocatorMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorGetBufferPoolMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorGetLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorSetLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorSetSrcCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorSimpleGetNextTimeMethodInfo-#endif
− GI/GstBase/Objects/AggregatorPad.hs
@@ -1,625 +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)--Pads managed by a @/GstAggregor/@ subclass.--This class used to live in gst-plugins-bad and was moved to core.--/Since: 1.14/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.AggregatorPad-    ( ---- * Exported types-    AggregatorPad(..)                       ,-    IsAggregatorPad                         ,-    toAggregatorPad                         ,-    noAggregatorPad                         ,--- -- * Methods--- ** dropBuffer #method:dropBuffer#--#if ENABLE_OVERLOADING-    AggregatorPadDropBufferMethodInfo       ,-#endif-    aggregatorPadDropBuffer                 ,----- ** hasBuffer #method:hasBuffer#--#if ENABLE_OVERLOADING-    AggregatorPadHasBufferMethodInfo        ,-#endif-    aggregatorPadHasBuffer                  ,----- ** isEos #method:isEos#--#if ENABLE_OVERLOADING-    AggregatorPadIsEosMethodInfo            ,-#endif-    aggregatorPadIsEos                      ,----- ** peekBuffer #method:peekBuffer#--#if ENABLE_OVERLOADING-    AggregatorPadPeekBufferMethodInfo       ,-#endif-    aggregatorPadPeekBuffer                 ,----- ** popBuffer #method:popBuffer#--#if ENABLE_OVERLOADING-    AggregatorPadPopBufferMethodInfo        ,-#endif-    aggregatorPadPopBuffer                  ,----- -- * Properties--- ** emitSignals #attr:emitSignals#-{- | Enables the emission of signals such as 'GI.GstBase.Objects.AggregatorPad.AggregatorPad'::@/buffer-consumed/@--/Since: 1.16/--}-#if ENABLE_OVERLOADING-    AggregatorPadEmitSignalsPropertyInfo    ,-#endif-#if ENABLE_OVERLOADING-    aggregatorPadEmitSignals                ,-#endif-    constructAggregatorPadEmitSignals       ,-    getAggregatorPadEmitSignals             ,-    setAggregatorPadEmitSignals             ,----- -- * Signals--- ** bufferConsumed #signal:bufferConsumed#--    AggregatorPadBufferConsumedCallback     ,-#if ENABLE_OVERLOADING-    AggregatorPadBufferConsumedSignalInfo   ,-#endif-    C_AggregatorPadBufferConsumedCallback   ,-    afterAggregatorPadBufferConsumed        ,-    genClosure_AggregatorPadBufferConsumed  ,-    mk_AggregatorPadBufferConsumedCallback  ,-    noAggregatorPadBufferConsumedCallback   ,-    onAggregatorPadBufferConsumed           ,-    wrap_AggregatorPadBufferConsumedCallback,-----    ) 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.Objects.Object as Gst.Object-import qualified GI.Gst.Objects.Pad as Gst.Pad-import qualified GI.Gst.Structs.Buffer as Gst.Buffer---- | Memory-managed wrapper type.-newtype AggregatorPad = AggregatorPad (ManagedPtr AggregatorPad)-foreign import ccall "gst_aggregator_pad_get_type"-    c_gst_aggregator_pad_get_type :: IO GType--instance GObject AggregatorPad where-    gobjectType = c_gst_aggregator_pad_get_type-    ---- | Type class for types which can be safely cast to `AggregatorPad`, for instance with `toAggregatorPad`.-class (GObject o, O.IsDescendantOf AggregatorPad o) => IsAggregatorPad o-instance (GObject o, O.IsDescendantOf AggregatorPad o) => IsAggregatorPad o--instance O.HasParentTypes AggregatorPad-type instance O.ParentTypes AggregatorPad = '[Gst.Pad.Pad, Gst.Object.Object, GObject.Object.Object]---- | Cast to `AggregatorPad`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toAggregatorPad :: (MonadIO m, IsAggregatorPad o) => o -> m AggregatorPad-toAggregatorPad = liftIO . unsafeCastTo AggregatorPad---- | A convenience alias for `Nothing` :: `Maybe` `AggregatorPad`.-noAggregatorPad :: Maybe AggregatorPad-noAggregatorPad = Nothing--#if ENABLE_OVERLOADING-type family ResolveAggregatorPadMethod (t :: Symbol) (o :: *) :: * where-    ResolveAggregatorPadMethod "activateMode" o = Gst.Pad.PadActivateModeMethodInfo-    ResolveAggregatorPadMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveAggregatorPadMethod "addProbe" o = Gst.Pad.PadAddProbeMethodInfo-    ResolveAggregatorPadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveAggregatorPadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveAggregatorPadMethod "canLink" o = Gst.Pad.PadCanLinkMethodInfo-    ResolveAggregatorPadMethod "chain" o = Gst.Pad.PadChainMethodInfo-    ResolveAggregatorPadMethod "chainList" o = Gst.Pad.PadChainListMethodInfo-    ResolveAggregatorPadMethod "checkReconfigure" o = Gst.Pad.PadCheckReconfigureMethodInfo-    ResolveAggregatorPadMethod "createStreamId" o = Gst.Pad.PadCreateStreamIdMethodInfo-    ResolveAggregatorPadMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveAggregatorPadMethod "dropBuffer" o = AggregatorPadDropBufferMethodInfo-    ResolveAggregatorPadMethod "eventDefault" o = Gst.Pad.PadEventDefaultMethodInfo-    ResolveAggregatorPadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveAggregatorPadMethod "forward" o = Gst.Pad.PadForwardMethodInfo-    ResolveAggregatorPadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveAggregatorPadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveAggregatorPadMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveAggregatorPadMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveAggregatorPadMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveAggregatorPadMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveAggregatorPadMethod "hasBuffer" o = AggregatorPadHasBufferMethodInfo-    ResolveAggregatorPadMethod "hasCurrentCaps" o = Gst.Pad.PadHasCurrentCapsMethodInfo-    ResolveAggregatorPadMethod "isActive" o = Gst.Pad.PadIsActiveMethodInfo-    ResolveAggregatorPadMethod "isBlocked" o = Gst.Pad.PadIsBlockedMethodInfo-    ResolveAggregatorPadMethod "isBlocking" o = Gst.Pad.PadIsBlockingMethodInfo-    ResolveAggregatorPadMethod "isEos" o = AggregatorPadIsEosMethodInfo-    ResolveAggregatorPadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveAggregatorPadMethod "isLinked" o = Gst.Pad.PadIsLinkedMethodInfo-    ResolveAggregatorPadMethod "iterateInternalLinks" o = Gst.Pad.PadIterateInternalLinksMethodInfo-    ResolveAggregatorPadMethod "iterateInternalLinksDefault" o = Gst.Pad.PadIterateInternalLinksDefaultMethodInfo-    ResolveAggregatorPadMethod "link" o = Gst.Pad.PadLinkMethodInfo-    ResolveAggregatorPadMethod "linkFull" o = Gst.Pad.PadLinkFullMethodInfo-    ResolveAggregatorPadMethod "linkMaybeGhosting" o = Gst.Pad.PadLinkMaybeGhostingMethodInfo-    ResolveAggregatorPadMethod "linkMaybeGhostingFull" o = Gst.Pad.PadLinkMaybeGhostingFullMethodInfo-    ResolveAggregatorPadMethod "markReconfigure" o = Gst.Pad.PadMarkReconfigureMethodInfo-    ResolveAggregatorPadMethod "needsReconfigure" o = Gst.Pad.PadNeedsReconfigureMethodInfo-    ResolveAggregatorPadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveAggregatorPadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveAggregatorPadMethod "pauseTask" o = Gst.Pad.PadPauseTaskMethodInfo-    ResolveAggregatorPadMethod "peekBuffer" o = AggregatorPadPeekBufferMethodInfo-    ResolveAggregatorPadMethod "peerQuery" o = Gst.Pad.PadPeerQueryMethodInfo-    ResolveAggregatorPadMethod "peerQueryAcceptCaps" o = Gst.Pad.PadPeerQueryAcceptCapsMethodInfo-    ResolveAggregatorPadMethod "peerQueryCaps" o = Gst.Pad.PadPeerQueryCapsMethodInfo-    ResolveAggregatorPadMethod "peerQueryConvert" o = Gst.Pad.PadPeerQueryConvertMethodInfo-    ResolveAggregatorPadMethod "peerQueryDuration" o = Gst.Pad.PadPeerQueryDurationMethodInfo-    ResolveAggregatorPadMethod "peerQueryPosition" o = Gst.Pad.PadPeerQueryPositionMethodInfo-    ResolveAggregatorPadMethod "popBuffer" o = AggregatorPadPopBufferMethodInfo-    ResolveAggregatorPadMethod "proxyQueryAcceptCaps" o = Gst.Pad.PadProxyQueryAcceptCapsMethodInfo-    ResolveAggregatorPadMethod "proxyQueryCaps" o = Gst.Pad.PadProxyQueryCapsMethodInfo-    ResolveAggregatorPadMethod "pullRange" o = Gst.Pad.PadPullRangeMethodInfo-    ResolveAggregatorPadMethod "push" o = Gst.Pad.PadPushMethodInfo-    ResolveAggregatorPadMethod "pushEvent" o = Gst.Pad.PadPushEventMethodInfo-    ResolveAggregatorPadMethod "pushList" o = Gst.Pad.PadPushListMethodInfo-    ResolveAggregatorPadMethod "query" o = Gst.Pad.PadQueryMethodInfo-    ResolveAggregatorPadMethod "queryAcceptCaps" o = Gst.Pad.PadQueryAcceptCapsMethodInfo-    ResolveAggregatorPadMethod "queryCaps" o = Gst.Pad.PadQueryCapsMethodInfo-    ResolveAggregatorPadMethod "queryConvert" o = Gst.Pad.PadQueryConvertMethodInfo-    ResolveAggregatorPadMethod "queryDefault" o = Gst.Pad.PadQueryDefaultMethodInfo-    ResolveAggregatorPadMethod "queryDuration" o = Gst.Pad.PadQueryDurationMethodInfo-    ResolveAggregatorPadMethod "queryPosition" o = Gst.Pad.PadQueryPositionMethodInfo-    ResolveAggregatorPadMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveAggregatorPadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveAggregatorPadMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveAggregatorPadMethod "removeProbe" o = Gst.Pad.PadRemoveProbeMethodInfo-    ResolveAggregatorPadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveAggregatorPadMethod "sendEvent" o = Gst.Pad.PadSendEventMethodInfo-    ResolveAggregatorPadMethod "startTask" o = Gst.Pad.PadStartTaskMethodInfo-    ResolveAggregatorPadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveAggregatorPadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveAggregatorPadMethod "stickyEventsForeach" o = Gst.Pad.PadStickyEventsForeachMethodInfo-    ResolveAggregatorPadMethod "stopTask" o = Gst.Pad.PadStopTaskMethodInfo-    ResolveAggregatorPadMethod "storeStickyEvent" o = Gst.Pad.PadStoreStickyEventMethodInfo-    ResolveAggregatorPadMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveAggregatorPadMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveAggregatorPadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveAggregatorPadMethod "unlink" o = Gst.Pad.PadUnlinkMethodInfo-    ResolveAggregatorPadMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveAggregatorPadMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveAggregatorPadMethod "useFixedCaps" o = Gst.Pad.PadUseFixedCapsMethodInfo-    ResolveAggregatorPadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveAggregatorPadMethod "getAllowedCaps" o = Gst.Pad.PadGetAllowedCapsMethodInfo-    ResolveAggregatorPadMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveAggregatorPadMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveAggregatorPadMethod "getCurrentCaps" o = Gst.Pad.PadGetCurrentCapsMethodInfo-    ResolveAggregatorPadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveAggregatorPadMethod "getDirection" o = Gst.Pad.PadGetDirectionMethodInfo-    ResolveAggregatorPadMethod "getElementPrivate" o = Gst.Pad.PadGetElementPrivateMethodInfo-    ResolveAggregatorPadMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveAggregatorPadMethod "getLastFlowReturn" o = Gst.Pad.PadGetLastFlowReturnMethodInfo-    ResolveAggregatorPadMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveAggregatorPadMethod "getOffset" o = Gst.Pad.PadGetOffsetMethodInfo-    ResolveAggregatorPadMethod "getPadTemplate" o = Gst.Pad.PadGetPadTemplateMethodInfo-    ResolveAggregatorPadMethod "getPadTemplateCaps" o = Gst.Pad.PadGetPadTemplateCapsMethodInfo-    ResolveAggregatorPadMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveAggregatorPadMethod "getParentElement" o = Gst.Pad.PadGetParentElementMethodInfo-    ResolveAggregatorPadMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveAggregatorPadMethod "getPeer" o = Gst.Pad.PadGetPeerMethodInfo-    ResolveAggregatorPadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveAggregatorPadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveAggregatorPadMethod "getRange" o = Gst.Pad.PadGetRangeMethodInfo-    ResolveAggregatorPadMethod "getStickyEvent" o = Gst.Pad.PadGetStickyEventMethodInfo-    ResolveAggregatorPadMethod "getStream" o = Gst.Pad.PadGetStreamMethodInfo-    ResolveAggregatorPadMethod "getStreamId" o = Gst.Pad.PadGetStreamIdMethodInfo-    ResolveAggregatorPadMethod "getTaskState" o = Gst.Pad.PadGetTaskStateMethodInfo-    ResolveAggregatorPadMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveAggregatorPadMethod "setActivateFunctionFull" o = Gst.Pad.PadSetActivateFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setActivatemodeFunctionFull" o = Gst.Pad.PadSetActivatemodeFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setActive" o = Gst.Pad.PadSetActiveMethodInfo-    ResolveAggregatorPadMethod "setChainFunctionFull" o = Gst.Pad.PadSetChainFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setChainListFunctionFull" o = Gst.Pad.PadSetChainListFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveAggregatorPadMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveAggregatorPadMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveAggregatorPadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveAggregatorPadMethod "setElementPrivate" o = Gst.Pad.PadSetElementPrivateMethodInfo-    ResolveAggregatorPadMethod "setEventFullFunctionFull" o = Gst.Pad.PadSetEventFullFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setEventFunctionFull" o = Gst.Pad.PadSetEventFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setGetrangeFunctionFull" o = Gst.Pad.PadSetGetrangeFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setIterateInternalLinksFunctionFull" o = Gst.Pad.PadSetIterateInternalLinksFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setLinkFunctionFull" o = Gst.Pad.PadSetLinkFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveAggregatorPadMethod "setOffset" o = Gst.Pad.PadSetOffsetMethodInfo-    ResolveAggregatorPadMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveAggregatorPadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveAggregatorPadMethod "setQueryFunctionFull" o = Gst.Pad.PadSetQueryFunctionFullMethodInfo-    ResolveAggregatorPadMethod "setUnlinkFunctionFull" o = Gst.Pad.PadSetUnlinkFunctionFullMethodInfo-    ResolveAggregatorPadMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveAggregatorPadMethod t AggregatorPad, O.MethodInfo info AggregatorPad p) => OL.IsLabel t (AggregatorPad -> 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 AggregatorPad::buffer-consumed-{- |-/No description available in the introspection data./--}-type AggregatorPadBufferConsumedCallback =-    Gst.Buffer.Buffer-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `AggregatorPadBufferConsumedCallback`@.-noAggregatorPadBufferConsumedCallback :: Maybe AggregatorPadBufferConsumedCallback-noAggregatorPadBufferConsumedCallback = Nothing---- | Type for the callback on the (unwrapped) C side.-type C_AggregatorPadBufferConsumedCallback =-    Ptr () ->                               -- object-    Ptr Gst.Buffer.Buffer ->-    Ptr () ->                               -- user_data-    IO ()---- | Generate a function pointer callable from C code, from a `C_AggregatorPadBufferConsumedCallback`.-foreign import ccall "wrapper"-    mk_AggregatorPadBufferConsumedCallback :: C_AggregatorPadBufferConsumedCallback -> IO (FunPtr C_AggregatorPadBufferConsumedCallback)---- | Wrap the callback into a `GClosure`.-genClosure_AggregatorPadBufferConsumed :: MonadIO m => AggregatorPadBufferConsumedCallback -> m (GClosure C_AggregatorPadBufferConsumedCallback)-genClosure_AggregatorPadBufferConsumed cb = liftIO $ do-    let cb' = wrap_AggregatorPadBufferConsumedCallback cb-    mk_AggregatorPadBufferConsumedCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `AggregatorPadBufferConsumedCallback` into a `C_AggregatorPadBufferConsumedCallback`.-wrap_AggregatorPadBufferConsumedCallback ::-    AggregatorPadBufferConsumedCallback ->-    C_AggregatorPadBufferConsumedCallback-wrap_AggregatorPadBufferConsumedCallback _cb _ object _ = do-    B.ManagedPtr.withTransient Gst.Buffer.Buffer object $ \object' -> do-        _cb  object'---{- |-Connect a signal handler for the “@buffer-consumed@” 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' aggregatorPad #bufferConsumed callback-@--}-onAggregatorPadBufferConsumed :: (IsAggregatorPad a, MonadIO m) => a -> AggregatorPadBufferConsumedCallback -> m SignalHandlerId-onAggregatorPadBufferConsumed obj cb = liftIO $ do-    let cb' = wrap_AggregatorPadBufferConsumedCallback cb-    cb'' <- mk_AggregatorPadBufferConsumedCallback cb'-    connectSignalFunPtr obj "buffer-consumed" cb'' SignalConnectBefore--{- |-Connect a signal handler for the “@buffer-consumed@” 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' aggregatorPad #bufferConsumed callback-@--}-afterAggregatorPadBufferConsumed :: (IsAggregatorPad a, MonadIO m) => a -> AggregatorPadBufferConsumedCallback -> m SignalHandlerId-afterAggregatorPadBufferConsumed obj cb = liftIO $ do-    let cb' = wrap_AggregatorPadBufferConsumedCallback cb-    cb'' <- mk_AggregatorPadBufferConsumedCallback cb'-    connectSignalFunPtr obj "buffer-consumed" cb'' SignalConnectAfter----- VVV Prop "emit-signals"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@emit-signals@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' aggregatorPad #emitSignals-@--}-getAggregatorPadEmitSignals :: (MonadIO m, IsAggregatorPad o) => o -> m Bool-getAggregatorPadEmitSignals obj = liftIO $ B.Properties.getObjectPropertyBool obj "emit-signals"--{- |-Set the value of the “@emit-signals@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' aggregatorPad [ #emitSignals 'Data.GI.Base.Attributes.:=' value ]-@--}-setAggregatorPadEmitSignals :: (MonadIO m, IsAggregatorPad o) => o -> Bool -> m ()-setAggregatorPadEmitSignals obj val = liftIO $ B.Properties.setObjectPropertyBool obj "emit-signals" val--{- |-Construct a `GValueConstruct` with valid value for the “@emit-signals@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructAggregatorPadEmitSignals :: (IsAggregatorPad o) => Bool -> IO (GValueConstruct o)-constructAggregatorPadEmitSignals val = B.Properties.constructObjectPropertyBool "emit-signals" val--#if ENABLE_OVERLOADING-data AggregatorPadEmitSignalsPropertyInfo-instance AttrInfo AggregatorPadEmitSignalsPropertyInfo where-    type AttrAllowedOps AggregatorPadEmitSignalsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint AggregatorPadEmitSignalsPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint AggregatorPadEmitSignalsPropertyInfo = IsAggregatorPad-    type AttrGetType AggregatorPadEmitSignalsPropertyInfo = Bool-    type AttrLabel AggregatorPadEmitSignalsPropertyInfo = "emit-signals"-    type AttrOrigin AggregatorPadEmitSignalsPropertyInfo = AggregatorPad-    attrGet _ = getAggregatorPadEmitSignals-    attrSet _ = setAggregatorPadEmitSignals-    attrConstruct _ = constructAggregatorPadEmitSignals-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList AggregatorPad-type instance O.AttributeList AggregatorPad = AggregatorPadAttributeList-type AggregatorPadAttributeList = ('[ '("caps", Gst.Pad.PadCapsPropertyInfo), '("direction", Gst.Pad.PadDirectionPropertyInfo), '("emitSignals", AggregatorPadEmitSignalsPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("offset", Gst.Pad.PadOffsetPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("template", Gst.Pad.PadTemplatePropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-aggregatorPadEmitSignals :: AttrLabelProxy "emitSignals"-aggregatorPadEmitSignals = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-data AggregatorPadBufferConsumedSignalInfo-instance SignalInfo AggregatorPadBufferConsumedSignalInfo where-    type HaskellCallbackType AggregatorPadBufferConsumedSignalInfo = AggregatorPadBufferConsumedCallback-    connectSignal _ obj cb connectMode = do-        let cb' = wrap_AggregatorPadBufferConsumedCallback cb-        cb'' <- mk_AggregatorPadBufferConsumedCallback cb'-        connectSignalFunPtr obj "buffer-consumed" cb'' connectMode--type instance O.SignalList AggregatorPad = AggregatorPadSignalList-type AggregatorPadSignalList = ('[ '("bufferConsumed", AggregatorPadBufferConsumedSignalInfo), '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("linked", Gst.Pad.PadLinkedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("unlinked", Gst.Pad.PadUnlinkedSignalInfo)] :: [(Symbol, *)])--#endif---- method AggregatorPad::drop_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstBase", name = "AggregatorPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pad where to drop any pending buffer", sinceVersion = 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_aggregator_pad_drop_buffer" gst_aggregator_pad_drop_buffer :: -    Ptr AggregatorPad ->                    -- pad : TInterface (Name {namespace = "GstBase", name = "AggregatorPad"})-    IO CInt--{- |-Drop the buffer currently queued in /@pad@/.--}-aggregatorPadDropBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>-    a-    {- ^ /@pad@/: the pad where to drop any pending buffer -}-    -> m Bool-    {- ^ __Returns:__ TRUE if there was a buffer queued in /@pad@/, or FALSE if not. -}-aggregatorPadDropBuffer pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_aggregator_pad_drop_buffer pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data AggregatorPadDropBufferMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadDropBufferMethodInfo a signature where-    overloadedMethod _ = aggregatorPadDropBuffer--#endif---- method AggregatorPad::has_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstBase", name = "AggregatorPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pad to check the buffer on", sinceVersion = 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_aggregator_pad_has_buffer" gst_aggregator_pad_has_buffer :: -    Ptr AggregatorPad ->                    -- pad : TInterface (Name {namespace = "GstBase", name = "AggregatorPad"})-    IO CInt--{- |-This checks if a pad has a buffer available that will be returned by-a call to 'GI.GstBase.Objects.AggregatorPad.aggregatorPadPeekBuffer' or-'GI.GstBase.Objects.AggregatorPad.aggregatorPadPopBuffer'.--/Since: 1.14.1/--}-aggregatorPadHasBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>-    a-    {- ^ /@pad@/: the pad to check the buffer on -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad has a buffer available as the next thing. -}-aggregatorPadHasBuffer pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_aggregator_pad_has_buffer pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data AggregatorPadHasBufferMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadHasBufferMethodInfo a signature where-    overloadedMethod _ = aggregatorPadHasBuffer--#endif---- method AggregatorPad::is_eos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstBase", name = "AggregatorPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an aggregator 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_aggregator_pad_is_eos" gst_aggregator_pad_is_eos :: -    Ptr AggregatorPad ->                    -- pad : TInterface (Name {namespace = "GstBase", name = "AggregatorPad"})-    IO CInt--{- |-/No description available in the introspection data./--}-aggregatorPadIsEos ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>-    a-    {- ^ /@pad@/: an aggregator pad -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad is EOS, otherwise 'False'. -}-aggregatorPadIsEos pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_aggregator_pad_is_eos pad'-    let result' = (/= 0) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data AggregatorPadIsEosMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadIsEosMethodInfo a signature where-    overloadedMethod _ = aggregatorPadIsEos--#endif---- method AggregatorPad::peek_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstBase", name = "AggregatorPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pad to get buffer from", 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_aggregator_pad_peek_buffer" gst_aggregator_pad_peek_buffer :: -    Ptr AggregatorPad ->                    -- pad : TInterface (Name {namespace = "GstBase", name = "AggregatorPad"})-    IO (Ptr Gst.Buffer.Buffer)--{- |-/No description available in the introspection data./--}-aggregatorPadPeekBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>-    a-    {- ^ /@pad@/: the pad to get buffer from -}-    -> m Gst.Buffer.Buffer-    {- ^ __Returns:__ A reference to the buffer in /@pad@/ or-NULL if no buffer was queued. You should unref the buffer after-usage. -}-aggregatorPadPeekBuffer pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_aggregator_pad_peek_buffer pad'-    checkUnexpectedReturnNULL "aggregatorPadPeekBuffer" result-    result' <- (wrapBoxed Gst.Buffer.Buffer) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data AggregatorPadPeekBufferMethodInfo-instance (signature ~ (m Gst.Buffer.Buffer), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadPeekBufferMethodInfo a signature where-    overloadedMethod _ = aggregatorPadPeekBuffer--#endif---- method AggregatorPad::pop_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pad", argType = TInterface (Name {namespace = "GstBase", name = "AggregatorPad"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pad to get buffer from", 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_aggregator_pad_pop_buffer" gst_aggregator_pad_pop_buffer :: -    Ptr AggregatorPad ->                    -- pad : TInterface (Name {namespace = "GstBase", name = "AggregatorPad"})-    IO (Ptr Gst.Buffer.Buffer)--{- |-Steal the ref to the buffer currently queued in /@pad@/.--}-aggregatorPadPopBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsAggregatorPad a) =>-    a-    {- ^ /@pad@/: the pad to get buffer from -}-    -> m Gst.Buffer.Buffer-    {- ^ __Returns:__ The buffer in /@pad@/ or NULL if no buffer was-  queued. You should unref the buffer after usage. -}-aggregatorPadPopBuffer pad = liftIO $ do-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_aggregator_pad_pop_buffer pad'-    checkUnexpectedReturnNULL "aggregatorPadPopBuffer" result-    result' <- (wrapBoxed Gst.Buffer.Buffer) result-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data AggregatorPadPopBufferMethodInfo-instance (signature ~ (m Gst.Buffer.Buffer), MonadIO m, IsAggregatorPad a) => O.MethodInfo AggregatorPadPopBufferMethodInfo a signature where-    overloadedMethod _ = aggregatorPadPopBuffer--#endif--
− GI/GstBase/Objects/AggregatorPad.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.AggregatorPad 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 AggregatorPad = AggregatorPad (ManagedPtr AggregatorPad)-instance GObject AggregatorPad where-class (GObject o, O.IsDescendantOf AggregatorPad o) => IsAggregatorPad o-instance (GObject o, O.IsDescendantOf AggregatorPad o) => IsAggregatorPad o-instance O.HasParentTypes AggregatorPad-#if ENABLE_OVERLOADING-data AggregatorPadEmitSignalsPropertyInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorPadBufferConsumedSignalInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorPadDropBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorPadHasBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorPadIsEosMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorPadPeekBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data AggregatorPadPopBufferMethodInfo-#endif
− GI/GstBase/Objects/BaseParse.hs
@@ -1,1327 +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 base class is for parser elements that process data and splits it-into separate audio\/video\/whatever frames.--It provides for:--  * provides one sink pad and one source pad-  * handles state changes-  * can operate in pull mode or push mode-  * handles seeking in both modes-  * handles events (SEGMENT\/EOS\/FLUSH)-  * handles queries (POSITION\/DURATION\/SEEKING\/FORMAT\/CONVERT)-  * handles flushing--The purpose of this base class is to provide the basic functionality of-a parser and share a lot of rather complex code.--= Description of the parsing mechanism:--== Set-up phase-- * 'GI.GstBase.Objects.BaseParse.BaseParse' calls 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/start/@() to inform subclass-   that data processing is about to start now.-- * 'GI.GstBase.Objects.BaseParse.BaseParse' class calls 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/set_sink_caps/@() to-   inform the subclass about incoming sinkpad caps. Subclass could-   already set the srcpad caps accordingly, but this might be delayed-   until calling 'GI.GstBase.Objects.BaseParse.baseParseFinishFrame' with a non-queued frame.-- * At least at this point subclass needs to tell the 'GI.GstBase.Objects.BaseParse.BaseParse' class-   how big data chunks it wants to receive (minimum frame size ). It can-   do this with 'GI.GstBase.Objects.BaseParse.baseParseSetMinFrameSize'.-- * 'GI.GstBase.Objects.BaseParse.BaseParse' class sets up appropriate data passing mode (pull\/push)-   and starts to process the data.--== Parsing phase-- * 'GI.GstBase.Objects.BaseParse.BaseParse' gathers at least min_frame_size bytes of data either-   by pulling it from upstream or collecting buffers in an internal-   'GI.GstBase.Objects.Adapter.Adapter'.-- * A buffer of (at least) min_frame_size bytes is passed to subclass-   with 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/handle_frame/@(). Subclass checks the contents-   and can optionally return @/GST_FLOW_OK/@ along with an amount of data-   to be skipped to find a valid frame (which will result in a-   subsequent DISCONT).  If, otherwise, the buffer does not hold a-   complete frame, 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/handle_frame/@() can merely return-   and will be called again when additional data is available.  In push-   mode this amounts to an additional input buffer (thus minimal-   additional latency), in pull mode this amounts to some arbitrary-   reasonable buffer size increase.--   Of course, 'GI.GstBase.Objects.BaseParse.baseParseSetMinFrameSize' could also be used if-   a very specific known amount of additional data is required.  If,-   however, the buffer holds a complete valid frame, it can pass the-   size of this frame to 'GI.GstBase.Objects.BaseParse.baseParseFinishFrame'.--   If acting as a converter, it can also merely indicate consumed input-   data while simultaneously providing custom output data.  Note that-   baseclass performs some processing (such as tracking overall consumed-   data rate versus duration) for each finished frame, but other state-   is only updated upon each call to 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/handle_frame/@()-   (such as tracking upstream input timestamp).--   Subclass is also responsible for setting the buffer metadata-   (e.g. buffer timestamp and duration, or keyframe if applicable).-   (although the latter can also be done by 'GI.GstBase.Objects.BaseParse.BaseParse' if it is-   appropriately configured, see below).  Frame is provided with-   timestamp derived from upstream (as much as generally possible),-   duration obtained from configuration (see below), and offset-   if meaningful (in pull mode).--   Note that 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/handle_frame/@() might receive any small-   amount of input data when leftover data is being drained (e.g. at-   EOS).-- * As part of finish frame processing, just prior to actually pushing-   the buffer in question, it is passed to-   'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/pre_push_frame/@() which gives subclass yet one last-   chance to examine buffer metadata, or to send some custom (tag)-   events, or to perform custom (segment) filtering.-- * During the parsing process 'GI.GstBase.Structs.BaseParseClass.BaseParseClass' will handle both srcpad-   and sinkpad events. They will be passed to subclass if-   'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/event/@() or 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/src_event/@()-   implementations have been provided.--== Shutdown phase--* 'GI.GstBase.Objects.BaseParse.BaseParse' class calls 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/stop/@() to inform the-  subclass that data parsing will be stopped.--Subclass is responsible for providing pad template caps for source and-sink pads. The pads need to be named \"sink\" and \"src\". It also needs to-set the fixed caps on srcpad, when the format is ensured (e.g.  when-base class calls subclass\' 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/set_sink_caps/@() function).--This base class uses 'GI.Gst.Enums.FormatDefault' as a meaning of frames. So,-subclass conversion routine needs to know that conversion from-'GI.Gst.Enums.FormatTime' to 'GI.Gst.Enums.FormatDefault' must return the-frame number that can be found from the given byte position.--'GI.GstBase.Objects.BaseParse.BaseParse' uses subclasses conversion methods also for seeking (or-otherwise uses its own default one, see also below).--Subclass /@start@/ and /@stop@/ functions will be called to inform the beginning-and end of data processing.--Things that subclass need to take care of:--* Provide pad templates-* Fixate the source pad caps when appropriate-* Inform base class how big data chunks should be retrieved. This is-  done with 'GI.GstBase.Objects.BaseParse.baseParseSetMinFrameSize' function.-* Examine data chunks passed to subclass with-  'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/handle_frame/@() and pass proper frame(s) to-  'GI.GstBase.Objects.BaseParse.baseParseFinishFrame', and setting src pad caps and timestamps-  on frame.-* Provide conversion functions-* Update the duration information with 'GI.GstBase.Objects.BaseParse.baseParseSetDuration'-* Optionally passthrough using 'GI.GstBase.Objects.BaseParse.baseParseSetPassthrough'-* Configure various baseparse parameters using-  'GI.GstBase.Objects.BaseParse.baseParseSetAverageBitrate', 'GI.GstBase.Objects.BaseParse.baseParseSetSyncable'-  and 'GI.GstBase.Objects.BaseParse.baseParseSetFrameRate'.--* In particular, if subclass is unable to determine a duration, but-  parsing (or specs) yields a frames per seconds rate, then this can be-  provided to 'GI.GstBase.Objects.BaseParse.BaseParse' to enable it to cater for buffer time-  metadata (which will be taken from upstream as much as-  possible). Internally keeping track of frame durations and respective-  sizes that have been pushed provides 'GI.GstBase.Objects.BaseParse.BaseParse' with an estimated-  bitrate. A default 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/convert/@() (used if not-  overridden) will then use these rates to perform obvious conversions.-  These rates are also used to update (estimated) duration at regular-  frame intervals.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.BaseParse-    ( ---- * Exported types-    BaseParse(..)                           ,-    IsBaseParse                             ,-    toBaseParse                             ,-    noBaseParse                             ,--- -- * Methods--- ** addIndexEntry #method:addIndexEntry#--#if ENABLE_OVERLOADING-    BaseParseAddIndexEntryMethodInfo        ,-#endif-    baseParseAddIndexEntry                  ,----- ** convertDefault #method:convertDefault#--#if ENABLE_OVERLOADING-    BaseParseConvertDefaultMethodInfo       ,-#endif-    baseParseConvertDefault                 ,----- ** drain #method:drain#--#if ENABLE_OVERLOADING-    BaseParseDrainMethodInfo                ,-#endif-    baseParseDrain                          ,----- ** finishFrame #method:finishFrame#--#if ENABLE_OVERLOADING-    BaseParseFinishFrameMethodInfo          ,-#endif-    baseParseFinishFrame                    ,----- ** mergeTags #method:mergeTags#--#if ENABLE_OVERLOADING-    BaseParseMergeTagsMethodInfo            ,-#endif-    baseParseMergeTags                      ,----- ** pushFrame #method:pushFrame#--#if ENABLE_OVERLOADING-    BaseParsePushFrameMethodInfo            ,-#endif-    baseParsePushFrame                      ,----- ** setAverageBitrate #method:setAverageBitrate#--#if ENABLE_OVERLOADING-    BaseParseSetAverageBitrateMethodInfo    ,-#endif-    baseParseSetAverageBitrate              ,----- ** setDuration #method:setDuration#--#if ENABLE_OVERLOADING-    BaseParseSetDurationMethodInfo          ,-#endif-    baseParseSetDuration                    ,----- ** setFrameRate #method:setFrameRate#--#if ENABLE_OVERLOADING-    BaseParseSetFrameRateMethodInfo         ,-#endif-    baseParseSetFrameRate                   ,----- ** setHasTimingInfo #method:setHasTimingInfo#--#if ENABLE_OVERLOADING-    BaseParseSetHasTimingInfoMethodInfo     ,-#endif-    baseParseSetHasTimingInfo               ,----- ** setInferTs #method:setInferTs#--#if ENABLE_OVERLOADING-    BaseParseSetInferTsMethodInfo           ,-#endif-    baseParseSetInferTs                     ,----- ** setLatency #method:setLatency#--#if ENABLE_OVERLOADING-    BaseParseSetLatencyMethodInfo           ,-#endif-    baseParseSetLatency                     ,----- ** setMinFrameSize #method:setMinFrameSize#--#if ENABLE_OVERLOADING-    BaseParseSetMinFrameSizeMethodInfo      ,-#endif-    baseParseSetMinFrameSize                ,----- ** setPassthrough #method:setPassthrough#--#if ENABLE_OVERLOADING-    BaseParseSetPassthroughMethodInfo       ,-#endif-    baseParseSetPassthrough                 ,----- ** setPtsInterpolation #method:setPtsInterpolation#--#if ENABLE_OVERLOADING-    BaseParseSetPtsInterpolationMethodInfo  ,-#endif-    baseParseSetPtsInterpolation            ,----- ** setSyncable #method:setSyncable#--#if ENABLE_OVERLOADING-    BaseParseSetSyncableMethodInfo          ,-#endif-    baseParseSetSyncable                    ,----- ** setTsAtOffset #method:setTsAtOffset#--#if ENABLE_OVERLOADING-    BaseParseSetTsAtOffsetMethodInfo        ,-#endif-    baseParseSetTsAtOffset                  ,----- -- * Properties--- ** disablePassthrough #attr:disablePassthrough#-{- | If set to 'True', baseparse will unconditionally force parsing of the-incoming data. This can be required in the rare cases where the incoming-side-data (caps, pts, dts, ...) is not trusted by the user and wants to-force validation and parsing of the incoming data.-If set to 'False', decision of whether to parse the data or not is up to-the implementation (standard behaviour).--}-#if ENABLE_OVERLOADING-    BaseParseDisablePassthroughPropertyInfo ,-#endif-#if ENABLE_OVERLOADING-    baseParseDisablePassthrough             ,-#endif-    constructBaseParseDisablePassthrough    ,-    getBaseParseDisablePassthrough          ,-    setBaseParseDisablePassthrough          ,-----    ) 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.Enums as Gst.Enums-import qualified GI.Gst.Objects.Element as Gst.Element-import qualified GI.Gst.Objects.Object as Gst.Object-import qualified GI.Gst.Structs.TagList as Gst.TagList-import {-# SOURCE #-} qualified GI.GstBase.Structs.BaseParseFrame as GstBase.BaseParseFrame---- | Memory-managed wrapper type.-newtype BaseParse = BaseParse (ManagedPtr BaseParse)-foreign import ccall "gst_base_parse_get_type"-    c_gst_base_parse_get_type :: IO GType--instance GObject BaseParse where-    gobjectType = c_gst_base_parse_get_type-    ---- | Type class for types which can be safely cast to `BaseParse`, for instance with `toBaseParse`.-class (GObject o, O.IsDescendantOf BaseParse o) => IsBaseParse o-instance (GObject o, O.IsDescendantOf BaseParse o) => IsBaseParse o--instance O.HasParentTypes BaseParse-type instance O.ParentTypes BaseParse = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `BaseParse`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toBaseParse :: (MonadIO m, IsBaseParse o) => o -> m BaseParse-toBaseParse = liftIO . unsafeCastTo BaseParse---- | A convenience alias for `Nothing` :: `Maybe` `BaseParse`.-noBaseParse :: Maybe BaseParse-noBaseParse = Nothing--#if ENABLE_OVERLOADING-type family ResolveBaseParseMethod (t :: Symbol) (o :: *) :: * where-    ResolveBaseParseMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolveBaseParseMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveBaseParseMethod "addIndexEntry" o = BaseParseAddIndexEntryMethodInfo-    ResolveBaseParseMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolveBaseParseMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolveBaseParseMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolveBaseParseMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveBaseParseMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveBaseParseMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolveBaseParseMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolveBaseParseMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolveBaseParseMethod "convertDefault" o = BaseParseConvertDefaultMethodInfo-    ResolveBaseParseMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolveBaseParseMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveBaseParseMethod "drain" o = BaseParseDrainMethodInfo-    ResolveBaseParseMethod "finishFrame" o = BaseParseFinishFrameMethodInfo-    ResolveBaseParseMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveBaseParseMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolveBaseParseMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolveBaseParseMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolveBaseParseMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveBaseParseMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveBaseParseMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveBaseParseMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveBaseParseMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveBaseParseMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveBaseParseMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveBaseParseMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolveBaseParseMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolveBaseParseMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolveBaseParseMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolveBaseParseMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolveBaseParseMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolveBaseParseMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolveBaseParseMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolveBaseParseMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolveBaseParseMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolveBaseParseMethod "mergeTags" o = BaseParseMergeTagsMethodInfo-    ResolveBaseParseMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolveBaseParseMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolveBaseParseMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolveBaseParseMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveBaseParseMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveBaseParseMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolveBaseParseMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolveBaseParseMethod "pushFrame" o = BaseParsePushFrameMethodInfo-    ResolveBaseParseMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolveBaseParseMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolveBaseParseMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolveBaseParseMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolveBaseParseMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveBaseParseMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveBaseParseMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolveBaseParseMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveBaseParseMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolveBaseParseMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolveBaseParseMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolveBaseParseMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveBaseParseMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolveBaseParseMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolveBaseParseMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolveBaseParseMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveBaseParseMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveBaseParseMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveBaseParseMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolveBaseParseMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveBaseParseMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveBaseParseMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolveBaseParseMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolveBaseParseMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveBaseParseMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveBaseParseMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveBaseParseMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolveBaseParseMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo-    ResolveBaseParseMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolveBaseParseMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolveBaseParseMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolveBaseParseMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolveBaseParseMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolveBaseParseMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolveBaseParseMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveBaseParseMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveBaseParseMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveBaseParseMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolveBaseParseMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveBaseParseMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolveBaseParseMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveBaseParseMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolveBaseParseMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolveBaseParseMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveBaseParseMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveBaseParseMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveBaseParseMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveBaseParseMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolveBaseParseMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolveBaseParseMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolveBaseParseMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolveBaseParseMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveBaseParseMethod "setAverageBitrate" o = BaseParseSetAverageBitrateMethodInfo-    ResolveBaseParseMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolveBaseParseMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolveBaseParseMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolveBaseParseMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolveBaseParseMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveBaseParseMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveBaseParseMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveBaseParseMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveBaseParseMethod "setDuration" o = BaseParseSetDurationMethodInfo-    ResolveBaseParseMethod "setFrameRate" o = BaseParseSetFrameRateMethodInfo-    ResolveBaseParseMethod "setHasTimingInfo" o = BaseParseSetHasTimingInfoMethodInfo-    ResolveBaseParseMethod "setInferTs" o = BaseParseSetInferTsMethodInfo-    ResolveBaseParseMethod "setLatency" o = BaseParseSetLatencyMethodInfo-    ResolveBaseParseMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolveBaseParseMethod "setMinFrameSize" o = BaseParseSetMinFrameSizeMethodInfo-    ResolveBaseParseMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveBaseParseMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveBaseParseMethod "setPassthrough" o = BaseParseSetPassthroughMethodInfo-    ResolveBaseParseMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveBaseParseMethod "setPtsInterpolation" o = BaseParseSetPtsInterpolationMethodInfo-    ResolveBaseParseMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolveBaseParseMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolveBaseParseMethod "setSyncable" o = BaseParseSetSyncableMethodInfo-    ResolveBaseParseMethod "setTsAtOffset" o = BaseParseSetTsAtOffsetMethodInfo-    ResolveBaseParseMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBaseParseMethod t BaseParse, O.MethodInfo info BaseParse p) => OL.IsLabel t (BaseParse -> 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 "disable-passthrough"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@disable-passthrough@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseParse #disablePassthrough-@--}-getBaseParseDisablePassthrough :: (MonadIO m, IsBaseParse o) => o -> m Bool-getBaseParseDisablePassthrough obj = liftIO $ B.Properties.getObjectPropertyBool obj "disable-passthrough"--{- |-Set the value of the “@disable-passthrough@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseParse [ #disablePassthrough 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseParseDisablePassthrough :: (MonadIO m, IsBaseParse o) => o -> Bool -> m ()-setBaseParseDisablePassthrough obj val = liftIO $ B.Properties.setObjectPropertyBool obj "disable-passthrough" val--{- |-Construct a `GValueConstruct` with valid value for the “@disable-passthrough@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseParseDisablePassthrough :: (IsBaseParse o) => Bool -> IO (GValueConstruct o)-constructBaseParseDisablePassthrough val = B.Properties.constructObjectPropertyBool "disable-passthrough" val--#if ENABLE_OVERLOADING-data BaseParseDisablePassthroughPropertyInfo-instance AttrInfo BaseParseDisablePassthroughPropertyInfo where-    type AttrAllowedOps BaseParseDisablePassthroughPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseParseDisablePassthroughPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BaseParseDisablePassthroughPropertyInfo = IsBaseParse-    type AttrGetType BaseParseDisablePassthroughPropertyInfo = Bool-    type AttrLabel BaseParseDisablePassthroughPropertyInfo = "disable-passthrough"-    type AttrOrigin BaseParseDisablePassthroughPropertyInfo = BaseParse-    attrGet _ = getBaseParseDisablePassthrough-    attrSet _ = setBaseParseDisablePassthrough-    attrConstruct _ = constructBaseParseDisablePassthrough-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList BaseParse-type instance O.AttributeList BaseParse = BaseParseAttributeList-type BaseParseAttributeList = ('[ '("disablePassthrough", BaseParseDisablePassthroughPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-baseParseDisablePassthrough :: AttrLabelProxy "disablePassthrough"-baseParseDisablePassthrough = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList BaseParse = BaseParseSignalList-type BaseParseSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif---- method BaseParse::add_index_entry--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBaseParse.", 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 of entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ts", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "timestamp associated with offset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether entry refers to keyframe", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "force", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "add entry disregarding sanity checks", sinceVersion = 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_base_parse_add_index_entry" gst_base_parse_add_index_entry :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- ts : TBasicType TUInt64-    CInt ->                                 -- key : TBasicType TBoolean-    CInt ->                                 -- force : TBasicType TBoolean-    IO CInt--{- |-Adds an entry to the index associating /@offset@/ to /@ts@/.  It is recommended-to only add keyframe entries.  /@force@/ allows to bypass checks, such as-whether the stream is (upstream) seekable, another entry is already \"close\"-to the new entry, etc.--}-baseParseAddIndexEntry ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: 'GI.GstBase.Objects.BaseParse.BaseParse'. -}-    -> Word64-    {- ^ /@offset@/: offset of entry -}-    -> Word64-    {- ^ /@ts@/: timestamp associated with offset -}-    -> Bool-    {- ^ /@key@/: whether entry refers to keyframe -}-    -> Bool-    {- ^ /@force@/: add entry disregarding sanity checks -}-    -> m Bool-    {- ^ __Returns:__ 'Bool' indicating whether entry was added -}-baseParseAddIndexEntry parse offset ts key force = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    let key' = (fromIntegral . fromEnum) key-    let force' = (fromIntegral . fromEnum) force-    result <- gst_base_parse_add_index_entry parse' offset ts key' force'-    let result' = (/= 0) result-    touchManagedPtr parse-    return result'--#if ENABLE_OVERLOADING-data BaseParseAddIndexEntryMethodInfo-instance (signature ~ (Word64 -> Word64 -> Bool -> Bool -> m Bool), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseAddIndexEntryMethodInfo a signature where-    overloadedMethod _ = baseParseAddIndexEntry--#endif---- method BaseParse::convert_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBaseParse.", 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 "#GstFormat describing the source format.", 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 "Source value to be converted.", 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 "#GstFormat defining the converted format.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_value", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer where the conversion result will be put.", 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_base_parse_convert_default" gst_base_parse_convert_default :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    CUInt ->                                -- src_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- src_value : TBasicType TInt64-    CUInt ->                                -- dest_format : TInterface (Name {namespace = "Gst", name = "Format"})-    Ptr Int64 ->                            -- dest_value : TBasicType TInt64-    IO CInt--{- |-Default implementation of 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/convert/@().--}-baseParseConvertDefault ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: 'GI.GstBase.Objects.BaseParse.BaseParse'. -}-    -> Gst.Enums.Format-    {- ^ /@srcFormat@/: 'GI.Gst.Enums.Format' describing the source format. -}-    -> Int64-    {- ^ /@srcValue@/: Source value to be converted. -}-    -> Gst.Enums.Format-    {- ^ /@destFormat@/: 'GI.Gst.Enums.Format' defining the converted format. -}-    -> m ((Bool, Int64))-    {- ^ __Returns:__ 'True' if conversion was successful. -}-baseParseConvertDefault parse srcFormat srcValue destFormat = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    let srcFormat' = (fromIntegral . fromEnum) srcFormat-    let destFormat' = (fromIntegral . fromEnum) destFormat-    destValue <- allocMem :: IO (Ptr Int64)-    result <- gst_base_parse_convert_default parse' srcFormat' srcValue destFormat' destValue-    let result' = (/= 0) result-    destValue' <- peek destValue-    touchManagedPtr parse-    freeMem destValue-    return (result', destValue')--#if ENABLE_OVERLOADING-data BaseParseConvertDefaultMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> Gst.Enums.Format -> m ((Bool, Int64))), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseConvertDefaultMethodInfo a signature where-    overloadedMethod _ = baseParseConvertDefault--#endif---- method BaseParse::drain--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_drain" gst_base_parse_drain :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    IO ()--{- |-Drains the adapter until it is empty. It decreases the min_frame_size to-match the current adapter size and calls chain method until the adapter-is emptied or chain returns with error.--/Since: 1.12/--}-baseParseDrain ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> m ()-baseParseDrain parse = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    gst_base_parse_drain parse'-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseDrainMethodInfo-instance (signature ~ (m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseDrainMethodInfo a signature where-    overloadedMethod _ = baseParseDrain--#endif---- method BaseParse::finish_frame--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "frame", argType = TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParseFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "consumed input data represented by frame", 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_base_parse_finish_frame" gst_base_parse_finish_frame :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    Ptr GstBase.BaseParseFrame.BaseParseFrame -> -- frame : TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"})-    Int32 ->                                -- size : TBasicType TInt-    IO CInt--{- |-Collects parsed data and pushes this downstream.-Source pad caps must be set when this is called.--If /@frame@/\'s out_buffer is set, that will be used as subsequent frame data.-Otherwise, /@size@/ samples will be taken from the input and used for output,-and the output\'s metadata (timestamps etc) will be taken as (optionally)-set by the subclass on /@frame@/\'s (input) buffer (which is otherwise-ignored for any but the above purpose\/information).--Note that the latter buffer is invalidated by this call, whereas the-caller retains ownership of /@frame@/.--}-baseParseFinishFrame ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> GstBase.BaseParseFrame.BaseParseFrame-    {- ^ /@frame@/: a 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame' -}-    -> Int32-    {- ^ /@size@/: consumed input data represented by frame -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn' that should be escalated to caller (of caller) -}-baseParseFinishFrame parse frame size = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    frame' <- unsafeManagedPtrGetPtr frame-    result <- gst_base_parse_finish_frame parse' frame' size-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr parse-    touchManagedPtr frame-    return result'--#if ENABLE_OVERLOADING-data BaseParseFinishFrameMethodInfo-instance (signature ~ (GstBase.BaseParseFrame.BaseParseFrame -> Int32 -> m Gst.Enums.FlowReturn), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseFinishFrameMethodInfo a signature where-    overloadedMethod _ = baseParseFinishFrame--#endif---- method BaseParse::merge_tags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", 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 to merge, or NULL to unset\n    previously-set tags", 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 #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_merge_tags" gst_base_parse_merge_tags :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    Ptr Gst.TagList.TagList ->              -- tags : TInterface (Name {namespace = "Gst", name = "TagList"})-    CUInt ->                                -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"})-    IO ()--{- |-Sets the parser subclass\'s tags and how they should be merged with any-upstream stream tags. This will override any tags previously-set-with 'GI.GstBase.Objects.BaseParse.baseParseMergeTags'.--Note that this is provided for convenience, and the subclass is-not required to use this and can still do tag handling on its own.--/Since: 1.6/--}-baseParseMergeTags ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> Maybe (Gst.TagList.TagList)-    {- ^ /@tags@/: a 'GI.Gst.Structs.TagList.TagList' to merge, or NULL to unset-    previously-set tags -}-    -> Gst.Enums.TagMergeMode-    {- ^ /@mode@/: the 'GI.Gst.Enums.TagMergeMode' to use, usually @/GST_TAG_MERGE_REPLACE/@ -}-    -> m ()-baseParseMergeTags parse tags mode = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    maybeTags <- case tags of-        Nothing -> return nullPtr-        Just jTags -> do-            jTags' <- unsafeManagedPtrGetPtr jTags-            return jTags'-    let mode' = (fromIntegral . fromEnum) mode-    gst_base_parse_merge_tags parse' maybeTags mode'-    touchManagedPtr parse-    whenJust tags touchManagedPtr-    return ()--#if ENABLE_OVERLOADING-data BaseParseMergeTagsMethodInfo-instance (signature ~ (Maybe (Gst.TagList.TagList) -> Gst.Enums.TagMergeMode -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseMergeTagsMethodInfo a signature where-    overloadedMethod _ = baseParseMergeTags--#endif---- method BaseParse::push_frame--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBaseParse.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "frame", argType = TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParseFrame", 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_base_parse_push_frame" gst_base_parse_push_frame :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    Ptr GstBase.BaseParseFrame.BaseParseFrame -> -- frame : TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"})-    IO CInt--{- |-Pushes the frame\'s buffer downstream, sends any pending events and-does some timestamp and segment handling. Takes ownership of-frame\'s buffer, though caller retains ownership of /@frame@/.--This must be called with sinkpad STREAM_LOCK held.--}-baseParsePushFrame ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: 'GI.GstBase.Objects.BaseParse.BaseParse'. -}-    -> GstBase.BaseParseFrame.BaseParseFrame-    {- ^ /@frame@/: a 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame' -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturn' -}-baseParsePushFrame parse frame = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    frame' <- unsafeManagedPtrGetPtr frame-    result <- gst_base_parse_push_frame parse' frame'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr parse-    touchManagedPtr frame-    return result'--#if ENABLE_OVERLOADING-data BaseParsePushFrameMethodInfo-instance (signature ~ (GstBase.BaseParseFrame.BaseParseFrame -> m Gst.Enums.FlowReturn), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParsePushFrameMethodInfo a signature where-    overloadedMethod _ = baseParsePushFrame--#endif---- method BaseParse::set_average_bitrate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBaseParse.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bitrate", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "average bitrate in bits/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_base_parse_set_average_bitrate" gst_base_parse_set_average_bitrate :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    Word32 ->                               -- bitrate : TBasicType TUInt-    IO ()--{- |-Optionally sets the average bitrate detected in media (if non-zero),-e.g. based on metadata, as it will be posted to the application.--By default, announced average bitrate is estimated. The average bitrate-is used to estimate the total duration of the stream and to estimate-a seek position, if there\'s no index and the format is syncable-(see 'GI.GstBase.Objects.BaseParse.baseParseSetSyncable').--}-baseParseSetAverageBitrate ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: 'GI.GstBase.Objects.BaseParse.BaseParse'. -}-    -> Word32-    {- ^ /@bitrate@/: average bitrate in bits\/second -}-    -> m ()-baseParseSetAverageBitrate parse bitrate = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    gst_base_parse_set_average_bitrate parse' bitrate-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetAverageBitrateMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetAverageBitrateMethodInfo a signature where-    overloadedMethod _ = baseParseSetAverageBitrate--#endif---- method BaseParse::set_duration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBaseParse.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fmt", argType = TInterface (Name {namespace = "Gst", name = "Format"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstFormat.", 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 "duration value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "how often to update the duration estimate based on bitrate, or 0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_set_duration" gst_base_parse_set_duration :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    CUInt ->                                -- fmt : TInterface (Name {namespace = "Gst", name = "Format"})-    Int64 ->                                -- duration : TBasicType TInt64-    Int32 ->                                -- interval : TBasicType TInt-    IO ()--{- |-Sets the duration of the currently playing media. Subclass can use this-when it is able to determine duration and\/or notices a change in the media-duration.  Alternatively, if /@interval@/ is non-zero (default), then stream-duration is determined based on estimated bitrate, and updated every /@interval@/-frames.--}-baseParseSetDuration ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: 'GI.GstBase.Objects.BaseParse.BaseParse'. -}-    -> Gst.Enums.Format-    {- ^ /@fmt@/: 'GI.Gst.Enums.Format'. -}-    -> Int64-    {- ^ /@duration@/: duration value. -}-    -> Int32-    {- ^ /@interval@/: how often to update the duration estimate based on bitrate, or 0. -}-    -> m ()-baseParseSetDuration parse fmt duration interval = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    let fmt' = (fromIntegral . fromEnum) fmt-    gst_base_parse_set_duration parse' fmt' duration interval-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetDurationMethodInfo-instance (signature ~ (Gst.Enums.Format -> Int64 -> Int32 -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetDurationMethodInfo a signature where-    overloadedMethod _ = baseParseSetDuration--#endif---- method BaseParse::set_frame_rate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBaseParse to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fps_num", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "frames per second (numerator).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fps_den", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "frames per second (denominator).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lead_in", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "frames needed before a segment for subsequent decode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lead_out", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "frames needed after a 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_base_parse_set_frame_rate" gst_base_parse_set_frame_rate :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    Word32 ->                               -- fps_num : TBasicType TUInt-    Word32 ->                               -- fps_den : TBasicType TUInt-    Word32 ->                               -- lead_in : TBasicType TUInt-    Word32 ->                               -- lead_out : TBasicType TUInt-    IO ()--{- |-If frames per second is configured, parser can take care of buffer duration-and timestamping.  When performing segment clipping, or seeking to a specific-location, a corresponding decoder might need an initial /@leadIn@/ and a-following /@leadOut@/ number of frames to ensure the desired segment is-entirely filled upon decoding.--}-baseParseSetFrameRate ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: the 'GI.GstBase.Objects.BaseParse.BaseParse' to set -}-    -> Word32-    {- ^ /@fpsNum@/: frames per second (numerator). -}-    -> Word32-    {- ^ /@fpsDen@/: frames per second (denominator). -}-    -> Word32-    {- ^ /@leadIn@/: frames needed before a segment for subsequent decode -}-    -> Word32-    {- ^ /@leadOut@/: frames needed after a segment -}-    -> m ()-baseParseSetFrameRate parse fpsNum fpsDen leadIn leadOut = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    gst_base_parse_set_frame_rate parse' fpsNum fpsDen leadIn leadOut-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetFrameRateMethodInfo-instance (signature ~ (Word32 -> Word32 -> Word32 -> Word32 -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetFrameRateMethodInfo a signature where-    overloadedMethod _ = baseParseSetFrameRate--#endif---- method BaseParse::set_has_timing_info--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_timing", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether frames carry timing information", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_set_has_timing_info" gst_base_parse_set_has_timing_info :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    CInt ->                                 -- has_timing : TBasicType TBoolean-    IO ()--{- |-Set if frames carry timing information which the subclass can (generally)-parse and provide.  In particular, intrinsic (rather than estimated) time-can be obtained following a seek.--}-baseParseSetHasTimingInfo ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> Bool-    {- ^ /@hasTiming@/: whether frames carry timing information -}-    -> m ()-baseParseSetHasTimingInfo parse hasTiming = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    let hasTiming' = (fromIntegral . fromEnum) hasTiming-    gst_base_parse_set_has_timing_info parse' hasTiming'-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetHasTimingInfoMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetHasTimingInfoMethodInfo a signature where-    overloadedMethod _ = baseParseSetHasTimingInfo--#endif---- method BaseParse::set_infer_ts--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "infer_ts", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if parser should infer DTS/PTS from each other", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_set_infer_ts" gst_base_parse_set_infer_ts :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    CInt ->                                 -- infer_ts : TBasicType TBoolean-    IO ()--{- |-By default, the base class might try to infer PTS from DTS and vice-versa.  While this is generally correct for audio data, it may not-be otherwise. Sub-classes implementing such formats should disable-timestamp inferring.--}-baseParseSetInferTs ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> Bool-    {- ^ /@inferTs@/: 'True' if parser should infer DTS\/PTS from each other -}-    -> m ()-baseParseSetInferTs parse inferTs = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    let inferTs' = (fromIntegral . fromEnum) inferTs-    gst_base_parse_set_infer_ts parse' inferTs'-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetInferTsMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetInferTsMethodInfo a signature where-    overloadedMethod _ = baseParseSetInferTs--#endif---- method BaseParse::set_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", 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 "minimum parse latency", 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 "maximum parse latency", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_set_latency" gst_base_parse_set_latency :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    Word64 ->                               -- min_latency : TBasicType TUInt64-    Word64 ->                               -- max_latency : TBasicType TUInt64-    IO ()--{- |-Sets the minimum and maximum (which may likely be equal) latency introduced-by the parsing process.  If there is such a latency, which depends on the-particular parsing of the format, it typically corresponds to 1 frame duration.--}-baseParseSetLatency ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> Word64-    {- ^ /@minLatency@/: minimum parse latency -}-    -> Word64-    {- ^ /@maxLatency@/: maximum parse latency -}-    -> m ()-baseParseSetLatency parse minLatency maxLatency = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    gst_base_parse_set_latency parse' minLatency maxLatency-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetLatencyMethodInfo-instance (signature ~ (Word64 -> Word64 -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetLatencyMethodInfo a signature where-    overloadedMethod _ = baseParseSetLatency--#endif---- method BaseParse::set_min_frame_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBaseParse.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Minimum size in bytes of the data that this base class should\n      give to subclass.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_set_min_frame_size" gst_base_parse_set_min_frame_size :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    Word32 ->                               -- min_size : TBasicType TUInt-    IO ()--{- |-Subclass can use this function to tell the base class that it needs to-be given buffers of at least /@minSize@/ bytes.--}-baseParseSetMinFrameSize ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: 'GI.GstBase.Objects.BaseParse.BaseParse'. -}-    -> Word32-    {- ^ /@minSize@/: Minimum size in bytes of the data that this base class should-      give to subclass. -}-    -> m ()-baseParseSetMinFrameSize parse minSize = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    gst_base_parse_set_min_frame_size parse' minSize-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetMinFrameSizeMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetMinFrameSizeMethodInfo a signature where-    overloadedMethod _ = baseParseSetMinFrameSize--#endif---- method BaseParse::set_passthrough--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "passthrough", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if parser should run in passthrough mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_set_passthrough" gst_base_parse_set_passthrough :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    CInt ->                                 -- passthrough : TBasicType TBoolean-    IO ()--{- |-Set if the nature of the format or configuration does not allow (much)-parsing, and the parser should operate in passthrough mode (which only-applies when operating in push mode). That is, incoming buffers are-pushed through unmodified, i.e. no 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/handle_frame/@()-will be invoked, but 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/pre_push_frame/@() will still be-invoked, so subclass can perform as much or as little is appropriate for-passthrough semantics in 'GI.GstBase.Structs.BaseParseClass.BaseParseClass'.@/pre_push_frame/@().--}-baseParseSetPassthrough ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> Bool-    {- ^ /@passthrough@/: 'True' if parser should run in passthrough mode -}-    -> m ()-baseParseSetPassthrough parse passthrough = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    let passthrough' = (fromIntegral . fromEnum) passthrough-    gst_base_parse_set_passthrough parse' passthrough'-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetPassthroughMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetPassthroughMethodInfo a signature where-    overloadedMethod _ = baseParseSetPassthrough--#endif---- method BaseParse::set_pts_interpolation--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pts_interpolate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if parser should interpolate PTS timestamps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_set_pts_interpolation" gst_base_parse_set_pts_interpolation :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    CInt ->                                 -- pts_interpolate : TBasicType TBoolean-    IO ()--{- |-By default, the base class will guess PTS timestamps using a simple-interpolation (previous timestamp + duration), which is incorrect for-data streams with reordering, where PTS can go backward. Sub-classes-implementing such formats should disable PTS interpolation.--}-baseParseSetPtsInterpolation ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> Bool-    {- ^ /@ptsInterpolate@/: 'True' if parser should interpolate PTS timestamps -}-    -> m ()-baseParseSetPtsInterpolation parse ptsInterpolate = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    let ptsInterpolate' = (fromIntegral . fromEnum) ptsInterpolate-    gst_base_parse_set_pts_interpolation parse' ptsInterpolate'-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetPtsInterpolationMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetPtsInterpolationMethodInfo a signature where-    overloadedMethod _ = baseParseSetPtsInterpolation--#endif---- method BaseParse::set_syncable--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "syncable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "set if frame starts can be identified", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_set_syncable" gst_base_parse_set_syncable :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    CInt ->                                 -- syncable : TBasicType TBoolean-    IO ()--{- |-Set if frame starts can be identified. This is set by default and-determines whether seeking based on bitrate averages-is possible for a format\/stream.--}-baseParseSetSyncable ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> Bool-    {- ^ /@syncable@/: set if frame starts can be identified -}-    -> m ()-baseParseSetSyncable parse syncable = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    let syncable' = (fromIntegral . fromEnum) syncable-    gst_base_parse_set_syncable parse' syncable'-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetSyncableMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetSyncableMethodInfo a signature where-    overloadedMethod _ = baseParseSetSyncable--#endif---- method BaseParse::set_ts_at_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "parse", argType = TInterface (Name {namespace = "GstBase", name = "BaseParse"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParse", 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 into current buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_set_ts_at_offset" gst_base_parse_set_ts_at_offset :: -    Ptr BaseParse ->                        -- parse : TInterface (Name {namespace = "GstBase", name = "BaseParse"})-    Word64 ->                               -- offset : TBasicType TUInt64-    IO ()--{- |-This function should only be called from a /@handleFrame@/ implementation.--'GI.GstBase.Objects.BaseParse.BaseParse' creates initial timestamps for frames by using the last-timestamp seen in the stream before the frame starts.  In certain-cases, the correct timestamps will occur in the stream after the-start of the frame, but before the start of the actual picture data.-This function can be used to set the timestamps based on the offset-into the frame data that the picture starts.--/Since: 1.2/--}-baseParseSetTsAtOffset ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseParse a) =>-    a-    {- ^ /@parse@/: a 'GI.GstBase.Objects.BaseParse.BaseParse' -}-    -> Word64-    {- ^ /@offset@/: offset into current buffer -}-    -> m ()-baseParseSetTsAtOffset parse offset = liftIO $ do-    parse' <- unsafeManagedPtrCastPtr parse-    gst_base_parse_set_ts_at_offset parse' offset-    touchManagedPtr parse-    return ()--#if ENABLE_OVERLOADING-data BaseParseSetTsAtOffsetMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsBaseParse a) => O.MethodInfo BaseParseSetTsAtOffsetMethodInfo a signature where-    overloadedMethod _ = baseParseSetTsAtOffset--#endif--
− GI/GstBase/Objects/BaseParse.hs-boot
@@ -1,83 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.BaseParse 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 BaseParse = BaseParse (ManagedPtr BaseParse)-instance GObject BaseParse where-class (GObject o, O.IsDescendantOf BaseParse o) => IsBaseParse o-instance (GObject o, O.IsDescendantOf BaseParse o) => IsBaseParse o-instance O.HasParentTypes BaseParse-#if ENABLE_OVERLOADING-data BaseParseDisablePassthroughPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseAddIndexEntryMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseConvertDefaultMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseDrainMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseFinishFrameMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseMergeTagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParsePushFrameMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetAverageBitrateMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetDurationMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetFrameRateMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetHasTimingInfoMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetInferTsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetMinFrameSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetPassthroughMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetPtsInterpolationMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetSyncableMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseSetTsAtOffsetMethodInfo-#endif
− GI/GstBase/Objects/BaseSink.hs
@@ -1,2646 +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.GstBase.Objects.BaseSink.BaseSink' is the base class for sink elements in GStreamer, such as-xvimagesink or filesink. It is a layer on top of 'GI.Gst.Objects.Element.Element' that provides a-simplified interface to plugin writers. 'GI.GstBase.Objects.BaseSink.BaseSink' handles many details-for you, for example: preroll, clock synchronization, state changes,-activation in push or pull mode, and queries.--In most cases, when writing sink elements, there is no need to implement-class methods from 'GI.Gst.Objects.Element.Element' or to set functions on pads, because the-'GI.GstBase.Objects.BaseSink.BaseSink' infrastructure should be sufficient.--'GI.GstBase.Objects.BaseSink.BaseSink' provides support for exactly one sink pad, which should be-named \"sink\". A sink implementation (subclass of 'GI.GstBase.Objects.BaseSink.BaseSink') should-install a pad template in its class_init function, like so:--=== /C code/->->static void->my_element_class_init (GstMyElementClass *klass)->{->  GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);->->  // sinktemplate should be a #GstStaticPadTemplate with direction->  // %GST_PAD_SINK and name "sink"->  gst_element_class_add_static_pad_template (gstelement_class, &amp;sinktemplate);->->  gst_element_class_set_static_metadata (gstelement_class,->      "Sink name",->      "Sink",->      "My Sink element",->      "The author <my.sink@my.email>");->}---'GI.GstBase.Objects.BaseSink.BaseSink' will handle the prerolling correctly. This means that it will-return 'GI.Gst.Enums.StateChangeReturnAsync' from a state change to PAUSED until the first-buffer arrives in this element. The base class will call the-'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/preroll/@() vmethod with this preroll buffer and will then-commit the state change to the next asynchronously pending state.--When the element is set to PLAYING, 'GI.GstBase.Objects.BaseSink.BaseSink' will synchronise on the-clock using the times returned from 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/get_times/@(). If this-function returns 'GI.Gst.Constants.CLOCK_TIME_NONE' for the start time, no synchronisation-will be done. Synchronisation can be disabled entirely by setting the object-'GI.GstBase.Objects.BaseSink.BaseSink':@/sync/@ property to 'False'.--After synchronisation the virtual method 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/render/@() will be-called. Subclasses should minimally implement this method.--Subclasses that synchronise on the clock in the 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/render/@()-method are supported as well. These classes typically receive a buffer in-the render method and can then potentially block on the clock while-rendering. A typical example is an audiosink.-These subclasses can use 'GI.GstBase.Objects.BaseSink.baseSinkWaitPreroll' to perform the-blocking wait.--Upon receiving the EOS event in the PLAYING state, 'GI.GstBase.Objects.BaseSink.BaseSink' will wait-for the clock to reach the time indicated by the stop time of the last-'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/get_times/@() call before posting an EOS message. When the-element receives EOS in PAUSED, preroll completes, the event is queued and an-EOS message is posted when going to PLAYING.--'GI.GstBase.Objects.BaseSink.BaseSink' will internally use the 'GI.Gst.Enums.EventTypeSegment' events to schedule-synchronisation and clipping of buffers. Buffers that fall completely outside-of the current segment are dropped. Buffers that fall partially in the-segment are rendered (and prerolled). Subclasses should do any subbuffer-clipping themselves when needed.--'GI.GstBase.Objects.BaseSink.BaseSink' will by default report the current playback position in-'GI.Gst.Enums.FormatTime' based on the current clock time and segment information.-If no clock has been set on the element, the query will be forwarded-upstream.--The 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/set_caps/@() function will be called when the subclass-should configure itself to process a specific media type.--The 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/start/@() and 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/stop/@() virtual methods-will be called when resources should be allocated. Any-'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/preroll/@(), 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/render/@() and-'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/set_caps/@() function will be called between the-'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/start/@() and 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/stop/@() calls.--The 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/event/@() virtual method will be called when an event is-received by 'GI.GstBase.Objects.BaseSink.BaseSink'. Normally this method should only be overridden by-very specific elements (such as file sinks) which need to handle the-newsegment event specially.--The 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/unlock/@() method is called when the elements should-unblock any blocking operations they perform in the-'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/render/@() method. This is mostly useful when the-'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/render/@() method performs a blocking write on a file-descriptor, for example.--The 'GI.GstBase.Objects.BaseSink.BaseSink':@/max-lateness/@ property affects how the sink deals with-buffers that arrive too late in the sink. A buffer arrives too late in the-sink when the presentation time (as a combination of the last segment, buffer-timestamp and element base_time) plus the duration is before the current-time of the clock.-If the frame is later than max-lateness, the sink will drop the buffer-without calling the render method.-This feature is disabled if sync is disabled, the-'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/get_times/@() method does not return a valid start time or-max-lateness is set to -1 (the default).-Subclasses can use 'GI.GstBase.Objects.BaseSink.baseSinkSetMaxLateness' to configure the-max-lateness value.--The 'GI.GstBase.Objects.BaseSink.BaseSink':@/qos/@ property will enable the quality-of-service features of-the basesink which gather statistics about the real-time performance of the-clock synchronisation. For each buffer received in the sink, statistics are-gathered and a QOS event is sent upstream with these numbers. This-information can then be used by upstream elements to reduce their processing-rate, for example.--The 'GI.GstBase.Objects.BaseSink.BaseSink':@/async/@ property can be used to instruct the sink to never-perform an ASYNC state change. This feature is mostly usable when dealing-with non-synchronized streams or sparse streams.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.BaseSink-    ( ---- * Exported types-    BaseSink(..)                            ,-    IsBaseSink                              ,-    toBaseSink                              ,-    noBaseSink                              ,--- -- * Methods--- ** doPreroll #method:doPreroll#--#if ENABLE_OVERLOADING-    BaseSinkDoPrerollMethodInfo             ,-#endif-    baseSinkDoPreroll                       ,----- ** getBlocksize #method:getBlocksize#--#if ENABLE_OVERLOADING-    BaseSinkGetBlocksizeMethodInfo          ,-#endif-    baseSinkGetBlocksize                    ,----- ** getDropOutOfSegment #method:getDropOutOfSegment#--#if ENABLE_OVERLOADING-    BaseSinkGetDropOutOfSegmentMethodInfo   ,-#endif-    baseSinkGetDropOutOfSegment             ,----- ** getLastSample #method:getLastSample#--#if ENABLE_OVERLOADING-    BaseSinkGetLastSampleMethodInfo         ,-#endif-    baseSinkGetLastSample                   ,----- ** getLatency #method:getLatency#--#if ENABLE_OVERLOADING-    BaseSinkGetLatencyMethodInfo            ,-#endif-    baseSinkGetLatency                      ,----- ** getMaxBitrate #method:getMaxBitrate#--#if ENABLE_OVERLOADING-    BaseSinkGetMaxBitrateMethodInfo         ,-#endif-    baseSinkGetMaxBitrate                   ,----- ** getMaxLateness #method:getMaxLateness#--#if ENABLE_OVERLOADING-    BaseSinkGetMaxLatenessMethodInfo        ,-#endif-    baseSinkGetMaxLateness                  ,----- ** getProcessingDeadline #method:getProcessingDeadline#--#if ENABLE_OVERLOADING-    BaseSinkGetProcessingDeadlineMethodInfo ,-#endif-    baseSinkGetProcessingDeadline           ,----- ** getRenderDelay #method:getRenderDelay#--#if ENABLE_OVERLOADING-    BaseSinkGetRenderDelayMethodInfo        ,-#endif-    baseSinkGetRenderDelay                  ,----- ** getSync #method:getSync#--#if ENABLE_OVERLOADING-    BaseSinkGetSyncMethodInfo               ,-#endif-    baseSinkGetSync                         ,----- ** getThrottleTime #method:getThrottleTime#--#if ENABLE_OVERLOADING-    BaseSinkGetThrottleTimeMethodInfo       ,-#endif-    baseSinkGetThrottleTime                 ,----- ** getTsOffset #method:getTsOffset#--#if ENABLE_OVERLOADING-    BaseSinkGetTsOffsetMethodInfo           ,-#endif-    baseSinkGetTsOffset                     ,----- ** isAsyncEnabled #method:isAsyncEnabled#--#if ENABLE_OVERLOADING-    BaseSinkIsAsyncEnabledMethodInfo        ,-#endif-    baseSinkIsAsyncEnabled                  ,----- ** isLastSampleEnabled #method:isLastSampleEnabled#--#if ENABLE_OVERLOADING-    BaseSinkIsLastSampleEnabledMethodInfo   ,-#endif-    baseSinkIsLastSampleEnabled             ,----- ** isQosEnabled #method:isQosEnabled#--#if ENABLE_OVERLOADING-    BaseSinkIsQosEnabledMethodInfo          ,-#endif-    baseSinkIsQosEnabled                    ,----- ** queryLatency #method:queryLatency#--#if ENABLE_OVERLOADING-    BaseSinkQueryLatencyMethodInfo          ,-#endif-    baseSinkQueryLatency                    ,----- ** setAsyncEnabled #method:setAsyncEnabled#--#if ENABLE_OVERLOADING-    BaseSinkSetAsyncEnabledMethodInfo       ,-#endif-    baseSinkSetAsyncEnabled                 ,----- ** setBlocksize #method:setBlocksize#--#if ENABLE_OVERLOADING-    BaseSinkSetBlocksizeMethodInfo          ,-#endif-    baseSinkSetBlocksize                    ,----- ** setDropOutOfSegment #method:setDropOutOfSegment#--#if ENABLE_OVERLOADING-    BaseSinkSetDropOutOfSegmentMethodInfo   ,-#endif-    baseSinkSetDropOutOfSegment             ,----- ** setLastSampleEnabled #method:setLastSampleEnabled#--#if ENABLE_OVERLOADING-    BaseSinkSetLastSampleEnabledMethodInfo  ,-#endif-    baseSinkSetLastSampleEnabled            ,----- ** setMaxBitrate #method:setMaxBitrate#--#if ENABLE_OVERLOADING-    BaseSinkSetMaxBitrateMethodInfo         ,-#endif-    baseSinkSetMaxBitrate                   ,----- ** setMaxLateness #method:setMaxLateness#--#if ENABLE_OVERLOADING-    BaseSinkSetMaxLatenessMethodInfo        ,-#endif-    baseSinkSetMaxLateness                  ,----- ** setProcessingDeadline #method:setProcessingDeadline#--#if ENABLE_OVERLOADING-    BaseSinkSetProcessingDeadlineMethodInfo ,-#endif-    baseSinkSetProcessingDeadline           ,----- ** setQosEnabled #method:setQosEnabled#--#if ENABLE_OVERLOADING-    BaseSinkSetQosEnabledMethodInfo         ,-#endif-    baseSinkSetQosEnabled                   ,----- ** setRenderDelay #method:setRenderDelay#--#if ENABLE_OVERLOADING-    BaseSinkSetRenderDelayMethodInfo        ,-#endif-    baseSinkSetRenderDelay                  ,----- ** setSync #method:setSync#--#if ENABLE_OVERLOADING-    BaseSinkSetSyncMethodInfo               ,-#endif-    baseSinkSetSync                         ,----- ** setThrottleTime #method:setThrottleTime#--#if ENABLE_OVERLOADING-    BaseSinkSetThrottleTimeMethodInfo       ,-#endif-    baseSinkSetThrottleTime                 ,----- ** setTsOffset #method:setTsOffset#--#if ENABLE_OVERLOADING-    BaseSinkSetTsOffsetMethodInfo           ,-#endif-    baseSinkSetTsOffset                     ,----- ** wait #method:wait#--#if ENABLE_OVERLOADING-    BaseSinkWaitMethodInfo                  ,-#endif-    baseSinkWait                            ,----- ** waitClock #method:waitClock#--#if ENABLE_OVERLOADING-    BaseSinkWaitClockMethodInfo             ,-#endif-    baseSinkWaitClock                       ,----- ** waitPreroll #method:waitPreroll#--#if ENABLE_OVERLOADING-    BaseSinkWaitPrerollMethodInfo           ,-#endif-    baseSinkWaitPreroll                     ,----- -- * Properties--- ** async #attr:async#-{- | If set to 'True', the basesink will perform asynchronous state changes.-When set to 'False', the sink will not signal the parent when it prerolls.-Use this option when dealing with sparse streams or when synchronisation is-not required.--}-#if ENABLE_OVERLOADING-    BaseSinkAsyncPropertyInfo               ,-#endif-#if ENABLE_OVERLOADING-    baseSinkAsync                           ,-#endif-    constructBaseSinkAsync                  ,-    getBaseSinkAsync                        ,-    setBaseSinkAsync                        ,----- ** blocksize #attr:blocksize#-{- | The amount of bytes to pull when operating in pull mode.--}-#if ENABLE_OVERLOADING-    BaseSinkBlocksizePropertyInfo           ,-#endif-#if ENABLE_OVERLOADING-    baseSinkBlocksize                       ,-#endif-    constructBaseSinkBlocksize              ,-    getBaseSinkBlocksize                    ,-    setBaseSinkBlocksize                    ,----- ** enableLastSample #attr:enableLastSample#-{- | Enable the last-sample property. If 'False', basesink doesn\'t keep a-reference to the last buffer arrived and the last-sample property is always-set to 'Nothing'. This can be useful if you need buffers to be released as soon-as possible, eg. if you\'re using a buffer pool.--}-#if ENABLE_OVERLOADING-    BaseSinkEnableLastSamplePropertyInfo    ,-#endif-#if ENABLE_OVERLOADING-    baseSinkEnableLastSample                ,-#endif-    constructBaseSinkEnableLastSample       ,-    getBaseSinkEnableLastSample             ,-    setBaseSinkEnableLastSample             ,----- ** lastSample #attr:lastSample#-{- | The last buffer that arrived in the sink and was used for preroll or for-rendering. This property can be used to generate thumbnails. This property-can be 'Nothing' when the sink has not yet received a buffer.--}-#if ENABLE_OVERLOADING-    BaseSinkLastSamplePropertyInfo          ,-#endif-#if ENABLE_OVERLOADING-    baseSinkLastSample                      ,-#endif-    getBaseSinkLastSample                   ,----- ** maxBitrate #attr:maxBitrate#-{- | Control the maximum amount of bits that will be rendered per second.-Setting this property to a value bigger than 0 will make the sink delay-rendering of the buffers when it would exceed to max-bitrate.--/Since: 1.2/--}-#if ENABLE_OVERLOADING-    BaseSinkMaxBitratePropertyInfo          ,-#endif-#if ENABLE_OVERLOADING-    baseSinkMaxBitrate                      ,-#endif-    constructBaseSinkMaxBitrate             ,-    getBaseSinkMaxBitrate                   ,-    setBaseSinkMaxBitrate                   ,----- ** maxLateness #attr:maxLateness#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    BaseSinkMaxLatenessPropertyInfo         ,-#endif-#if ENABLE_OVERLOADING-    baseSinkMaxLateness                     ,-#endif-    constructBaseSinkMaxLateness            ,-    getBaseSinkMaxLateness                  ,-    setBaseSinkMaxLateness                  ,----- ** processingDeadline #attr:processingDeadline#-{- | Maximum amount of time (in nanoseconds) that the pipeline can take-for processing the buffer. This is added to the latency of live-pipelines.--/Since: 1.16/--}-#if ENABLE_OVERLOADING-    BaseSinkProcessingDeadlinePropertyInfo  ,-#endif-#if ENABLE_OVERLOADING-    baseSinkProcessingDeadline              ,-#endif-    constructBaseSinkProcessingDeadline     ,-    getBaseSinkProcessingDeadline           ,-    setBaseSinkProcessingDeadline           ,----- ** qos #attr:qos#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    BaseSinkQosPropertyInfo                 ,-#endif-#if ENABLE_OVERLOADING-    baseSinkQos                             ,-#endif-    constructBaseSinkQos                    ,-    getBaseSinkQos                          ,-    setBaseSinkQos                          ,----- ** renderDelay #attr:renderDelay#-{- | The additional delay between synchronisation and actual rendering of the-media. This property will add additional latency to the device in order to-make other sinks compensate for the delay.--}-#if ENABLE_OVERLOADING-    BaseSinkRenderDelayPropertyInfo         ,-#endif-#if ENABLE_OVERLOADING-    baseSinkRenderDelay                     ,-#endif-    constructBaseSinkRenderDelay            ,-    getBaseSinkRenderDelay                  ,-    setBaseSinkRenderDelay                  ,----- ** sync #attr:sync#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    BaseSinkSyncPropertyInfo                ,-#endif-#if ENABLE_OVERLOADING-    baseSinkSync                            ,-#endif-    constructBaseSinkSync                   ,-    getBaseSinkSync                         ,-    setBaseSinkSync                         ,----- ** throttleTime #attr:throttleTime#-{- | The time to insert between buffers. This property can be used to control-the maximum amount of buffers per second to render. Setting this property-to a value bigger than 0 will make the sink create THROTTLE QoS events.--}-#if ENABLE_OVERLOADING-    BaseSinkThrottleTimePropertyInfo        ,-#endif-#if ENABLE_OVERLOADING-    baseSinkThrottleTime                    ,-#endif-    constructBaseSinkThrottleTime           ,-    getBaseSinkThrottleTime                 ,-    setBaseSinkThrottleTime                 ,----- ** tsOffset #attr:tsOffset#-{- | Controls the final synchronisation, a negative value will render the buffer-earlier while a positive value delays playback. This property can be-used to fix synchronisation in bad files.--}-#if ENABLE_OVERLOADING-    BaseSinkTsOffsetPropertyInfo            ,-#endif-#if ENABLE_OVERLOADING-    baseSinkTsOffset                        ,-#endif-    constructBaseSinkTsOffset               ,-    getBaseSinkTsOffset                     ,-    setBaseSinkTsOffset                     ,-----    ) 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.Enums as Gst.Enums-import qualified GI.Gst.Objects.Element as Gst.Element-import qualified GI.Gst.Objects.Object as Gst.Object-import qualified GI.Gst.Structs.MiniObject as Gst.MiniObject-import qualified GI.Gst.Structs.Sample as Gst.Sample---- | Memory-managed wrapper type.-newtype BaseSink = BaseSink (ManagedPtr BaseSink)-foreign import ccall "gst_base_sink_get_type"-    c_gst_base_sink_get_type :: IO GType--instance GObject BaseSink where-    gobjectType = c_gst_base_sink_get_type-    ---- | Type class for types which can be safely cast to `BaseSink`, for instance with `toBaseSink`.-class (GObject o, O.IsDescendantOf BaseSink o) => IsBaseSink o-instance (GObject o, O.IsDescendantOf BaseSink o) => IsBaseSink o--instance O.HasParentTypes BaseSink-type instance O.ParentTypes BaseSink = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `BaseSink`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toBaseSink :: (MonadIO m, IsBaseSink o) => o -> m BaseSink-toBaseSink = liftIO . unsafeCastTo BaseSink---- | A convenience alias for `Nothing` :: `Maybe` `BaseSink`.-noBaseSink :: Maybe BaseSink-noBaseSink = Nothing--#if ENABLE_OVERLOADING-type family ResolveBaseSinkMethod (t :: Symbol) (o :: *) :: * where-    ResolveBaseSinkMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolveBaseSinkMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveBaseSinkMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolveBaseSinkMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolveBaseSinkMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolveBaseSinkMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveBaseSinkMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveBaseSinkMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolveBaseSinkMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolveBaseSinkMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolveBaseSinkMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolveBaseSinkMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveBaseSinkMethod "doPreroll" o = BaseSinkDoPrerollMethodInfo-    ResolveBaseSinkMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveBaseSinkMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolveBaseSinkMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolveBaseSinkMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolveBaseSinkMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveBaseSinkMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveBaseSinkMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveBaseSinkMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveBaseSinkMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveBaseSinkMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveBaseSinkMethod "isAsyncEnabled" o = BaseSinkIsAsyncEnabledMethodInfo-    ResolveBaseSinkMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveBaseSinkMethod "isLastSampleEnabled" o = BaseSinkIsLastSampleEnabledMethodInfo-    ResolveBaseSinkMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolveBaseSinkMethod "isQosEnabled" o = BaseSinkIsQosEnabledMethodInfo-    ResolveBaseSinkMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolveBaseSinkMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolveBaseSinkMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolveBaseSinkMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolveBaseSinkMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolveBaseSinkMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolveBaseSinkMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolveBaseSinkMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolveBaseSinkMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolveBaseSinkMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolveBaseSinkMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolveBaseSinkMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolveBaseSinkMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveBaseSinkMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveBaseSinkMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolveBaseSinkMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolveBaseSinkMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolveBaseSinkMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolveBaseSinkMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolveBaseSinkMethod "queryLatency" o = BaseSinkQueryLatencyMethodInfo-    ResolveBaseSinkMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolveBaseSinkMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveBaseSinkMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveBaseSinkMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolveBaseSinkMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveBaseSinkMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolveBaseSinkMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolveBaseSinkMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolveBaseSinkMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveBaseSinkMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolveBaseSinkMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolveBaseSinkMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolveBaseSinkMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveBaseSinkMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveBaseSinkMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveBaseSinkMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolveBaseSinkMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveBaseSinkMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveBaseSinkMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolveBaseSinkMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolveBaseSinkMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveBaseSinkMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveBaseSinkMethod "wait" o = BaseSinkWaitMethodInfo-    ResolveBaseSinkMethod "waitClock" o = BaseSinkWaitClockMethodInfo-    ResolveBaseSinkMethod "waitPreroll" o = BaseSinkWaitPrerollMethodInfo-    ResolveBaseSinkMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveBaseSinkMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolveBaseSinkMethod "getBlocksize" o = BaseSinkGetBlocksizeMethodInfo-    ResolveBaseSinkMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo-    ResolveBaseSinkMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolveBaseSinkMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolveBaseSinkMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolveBaseSinkMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolveBaseSinkMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolveBaseSinkMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolveBaseSinkMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveBaseSinkMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveBaseSinkMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveBaseSinkMethod "getDropOutOfSegment" o = BaseSinkGetDropOutOfSegmentMethodInfo-    ResolveBaseSinkMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolveBaseSinkMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveBaseSinkMethod "getLastSample" o = BaseSinkGetLastSampleMethodInfo-    ResolveBaseSinkMethod "getLatency" o = BaseSinkGetLatencyMethodInfo-    ResolveBaseSinkMethod "getMaxBitrate" o = BaseSinkGetMaxBitrateMethodInfo-    ResolveBaseSinkMethod "getMaxLateness" o = BaseSinkGetMaxLatenessMethodInfo-    ResolveBaseSinkMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolveBaseSinkMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveBaseSinkMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolveBaseSinkMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolveBaseSinkMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveBaseSinkMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveBaseSinkMethod "getProcessingDeadline" o = BaseSinkGetProcessingDeadlineMethodInfo-    ResolveBaseSinkMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveBaseSinkMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveBaseSinkMethod "getRenderDelay" o = BaseSinkGetRenderDelayMethodInfo-    ResolveBaseSinkMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolveBaseSinkMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolveBaseSinkMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolveBaseSinkMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolveBaseSinkMethod "getSync" o = BaseSinkGetSyncMethodInfo-    ResolveBaseSinkMethod "getThrottleTime" o = BaseSinkGetThrottleTimeMethodInfo-    ResolveBaseSinkMethod "getTsOffset" o = BaseSinkGetTsOffsetMethodInfo-    ResolveBaseSinkMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveBaseSinkMethod "setAsyncEnabled" o = BaseSinkSetAsyncEnabledMethodInfo-    ResolveBaseSinkMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolveBaseSinkMethod "setBlocksize" o = BaseSinkSetBlocksizeMethodInfo-    ResolveBaseSinkMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolveBaseSinkMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolveBaseSinkMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolveBaseSinkMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveBaseSinkMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveBaseSinkMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveBaseSinkMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveBaseSinkMethod "setDropOutOfSegment" o = BaseSinkSetDropOutOfSegmentMethodInfo-    ResolveBaseSinkMethod "setLastSampleEnabled" o = BaseSinkSetLastSampleEnabledMethodInfo-    ResolveBaseSinkMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolveBaseSinkMethod "setMaxBitrate" o = BaseSinkSetMaxBitrateMethodInfo-    ResolveBaseSinkMethod "setMaxLateness" o = BaseSinkSetMaxLatenessMethodInfo-    ResolveBaseSinkMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveBaseSinkMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveBaseSinkMethod "setProcessingDeadline" o = BaseSinkSetProcessingDeadlineMethodInfo-    ResolveBaseSinkMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveBaseSinkMethod "setQosEnabled" o = BaseSinkSetQosEnabledMethodInfo-    ResolveBaseSinkMethod "setRenderDelay" o = BaseSinkSetRenderDelayMethodInfo-    ResolveBaseSinkMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolveBaseSinkMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolveBaseSinkMethod "setSync" o = BaseSinkSetSyncMethodInfo-    ResolveBaseSinkMethod "setThrottleTime" o = BaseSinkSetThrottleTimeMethodInfo-    ResolveBaseSinkMethod "setTsOffset" o = BaseSinkSetTsOffsetMethodInfo-    ResolveBaseSinkMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBaseSinkMethod t BaseSink, O.MethodInfo info BaseSink p) => OL.IsLabel t (BaseSink -> 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 "async"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@async@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #async-@--}-getBaseSinkAsync :: (MonadIO m, IsBaseSink o) => o -> m Bool-getBaseSinkAsync obj = liftIO $ B.Properties.getObjectPropertyBool obj "async"--{- |-Set the value of the “@async@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #async 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkAsync :: (MonadIO m, IsBaseSink o) => o -> Bool -> m ()-setBaseSinkAsync obj val = liftIO $ B.Properties.setObjectPropertyBool obj "async" val--{- |-Construct a `GValueConstruct` with valid value for the “@async@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkAsync :: (IsBaseSink o) => Bool -> IO (GValueConstruct o)-constructBaseSinkAsync val = B.Properties.constructObjectPropertyBool "async" val--#if ENABLE_OVERLOADING-data BaseSinkAsyncPropertyInfo-instance AttrInfo BaseSinkAsyncPropertyInfo where-    type AttrAllowedOps BaseSinkAsyncPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkAsyncPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BaseSinkAsyncPropertyInfo = IsBaseSink-    type AttrGetType BaseSinkAsyncPropertyInfo = Bool-    type AttrLabel BaseSinkAsyncPropertyInfo = "async"-    type AttrOrigin BaseSinkAsyncPropertyInfo = BaseSink-    attrGet _ = getBaseSinkAsync-    attrSet _ = setBaseSinkAsync-    attrConstruct _ = constructBaseSinkAsync-    attrClear _ = undefined-#endif---- VVV Prop "blocksize"-   -- Type: TBasicType TUInt-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@blocksize@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #blocksize-@--}-getBaseSinkBlocksize :: (MonadIO m, IsBaseSink o) => o -> m Word32-getBaseSinkBlocksize obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "blocksize"--{- |-Set the value of the “@blocksize@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #blocksize 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkBlocksize :: (MonadIO m, IsBaseSink o) => o -> Word32 -> m ()-setBaseSinkBlocksize obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "blocksize" val--{- |-Construct a `GValueConstruct` with valid value for the “@blocksize@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkBlocksize :: (IsBaseSink o) => Word32 -> IO (GValueConstruct o)-constructBaseSinkBlocksize val = B.Properties.constructObjectPropertyUInt32 "blocksize" val--#if ENABLE_OVERLOADING-data BaseSinkBlocksizePropertyInfo-instance AttrInfo BaseSinkBlocksizePropertyInfo where-    type AttrAllowedOps BaseSinkBlocksizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkBlocksizePropertyInfo = (~) Word32-    type AttrBaseTypeConstraint BaseSinkBlocksizePropertyInfo = IsBaseSink-    type AttrGetType BaseSinkBlocksizePropertyInfo = Word32-    type AttrLabel BaseSinkBlocksizePropertyInfo = "blocksize"-    type AttrOrigin BaseSinkBlocksizePropertyInfo = BaseSink-    attrGet _ = getBaseSinkBlocksize-    attrSet _ = setBaseSinkBlocksize-    attrConstruct _ = constructBaseSinkBlocksize-    attrClear _ = undefined-#endif---- VVV Prop "enable-last-sample"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@enable-last-sample@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #enableLastSample-@--}-getBaseSinkEnableLastSample :: (MonadIO m, IsBaseSink o) => o -> m Bool-getBaseSinkEnableLastSample obj = liftIO $ B.Properties.getObjectPropertyBool obj "enable-last-sample"--{- |-Set the value of the “@enable-last-sample@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #enableLastSample 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkEnableLastSample :: (MonadIO m, IsBaseSink o) => o -> Bool -> m ()-setBaseSinkEnableLastSample obj val = liftIO $ B.Properties.setObjectPropertyBool obj "enable-last-sample" val--{- |-Construct a `GValueConstruct` with valid value for the “@enable-last-sample@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkEnableLastSample :: (IsBaseSink o) => Bool -> IO (GValueConstruct o)-constructBaseSinkEnableLastSample val = B.Properties.constructObjectPropertyBool "enable-last-sample" val--#if ENABLE_OVERLOADING-data BaseSinkEnableLastSamplePropertyInfo-instance AttrInfo BaseSinkEnableLastSamplePropertyInfo where-    type AttrAllowedOps BaseSinkEnableLastSamplePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkEnableLastSamplePropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BaseSinkEnableLastSamplePropertyInfo = IsBaseSink-    type AttrGetType BaseSinkEnableLastSamplePropertyInfo = Bool-    type AttrLabel BaseSinkEnableLastSamplePropertyInfo = "enable-last-sample"-    type AttrOrigin BaseSinkEnableLastSamplePropertyInfo = BaseSink-    attrGet _ = getBaseSinkEnableLastSample-    attrSet _ = setBaseSinkEnableLastSample-    attrConstruct _ = constructBaseSinkEnableLastSample-    attrClear _ = undefined-#endif---- VVV Prop "last-sample"-   -- Type: TInterface (Name {namespace = "Gst", name = "Sample"})-   -- Flags: [PropertyReadable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@last-sample@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #lastSample-@--}-getBaseSinkLastSample :: (MonadIO m, IsBaseSink o) => o -> m (Maybe Gst.Sample.Sample)-getBaseSinkLastSample obj = liftIO $ B.Properties.getObjectPropertyBoxed obj "last-sample" Gst.Sample.Sample--#if ENABLE_OVERLOADING-data BaseSinkLastSamplePropertyInfo-instance AttrInfo BaseSinkLastSamplePropertyInfo where-    type AttrAllowedOps BaseSinkLastSamplePropertyInfo = '[ 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint BaseSinkLastSamplePropertyInfo = (~) ()-    type AttrBaseTypeConstraint BaseSinkLastSamplePropertyInfo = IsBaseSink-    type AttrGetType BaseSinkLastSamplePropertyInfo = (Maybe Gst.Sample.Sample)-    type AttrLabel BaseSinkLastSamplePropertyInfo = "last-sample"-    type AttrOrigin BaseSinkLastSamplePropertyInfo = BaseSink-    attrGet _ = getBaseSinkLastSample-    attrSet _ = undefined-    attrConstruct _ = undefined-    attrClear _ = undefined-#endif---- VVV Prop "max-bitrate"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@max-bitrate@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #maxBitrate-@--}-getBaseSinkMaxBitrate :: (MonadIO m, IsBaseSink o) => o -> m Word64-getBaseSinkMaxBitrate obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "max-bitrate"--{- |-Set the value of the “@max-bitrate@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #maxBitrate 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkMaxBitrate :: (MonadIO m, IsBaseSink o) => o -> Word64 -> m ()-setBaseSinkMaxBitrate obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "max-bitrate" val--{- |-Construct a `GValueConstruct` with valid value for the “@max-bitrate@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkMaxBitrate :: (IsBaseSink o) => Word64 -> IO (GValueConstruct o)-constructBaseSinkMaxBitrate val = B.Properties.constructObjectPropertyUInt64 "max-bitrate" val--#if ENABLE_OVERLOADING-data BaseSinkMaxBitratePropertyInfo-instance AttrInfo BaseSinkMaxBitratePropertyInfo where-    type AttrAllowedOps BaseSinkMaxBitratePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkMaxBitratePropertyInfo = (~) Word64-    type AttrBaseTypeConstraint BaseSinkMaxBitratePropertyInfo = IsBaseSink-    type AttrGetType BaseSinkMaxBitratePropertyInfo = Word64-    type AttrLabel BaseSinkMaxBitratePropertyInfo = "max-bitrate"-    type AttrOrigin BaseSinkMaxBitratePropertyInfo = BaseSink-    attrGet _ = getBaseSinkMaxBitrate-    attrSet _ = setBaseSinkMaxBitrate-    attrConstruct _ = constructBaseSinkMaxBitrate-    attrClear _ = undefined-#endif---- VVV Prop "max-lateness"-   -- Type: TBasicType TInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@max-lateness@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #maxLateness-@--}-getBaseSinkMaxLateness :: (MonadIO m, IsBaseSink o) => o -> m Int64-getBaseSinkMaxLateness obj = liftIO $ B.Properties.getObjectPropertyInt64 obj "max-lateness"--{- |-Set the value of the “@max-lateness@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #maxLateness 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkMaxLateness :: (MonadIO m, IsBaseSink o) => o -> Int64 -> m ()-setBaseSinkMaxLateness obj val = liftIO $ B.Properties.setObjectPropertyInt64 obj "max-lateness" val--{- |-Construct a `GValueConstruct` with valid value for the “@max-lateness@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkMaxLateness :: (IsBaseSink o) => Int64 -> IO (GValueConstruct o)-constructBaseSinkMaxLateness val = B.Properties.constructObjectPropertyInt64 "max-lateness" val--#if ENABLE_OVERLOADING-data BaseSinkMaxLatenessPropertyInfo-instance AttrInfo BaseSinkMaxLatenessPropertyInfo where-    type AttrAllowedOps BaseSinkMaxLatenessPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkMaxLatenessPropertyInfo = (~) Int64-    type AttrBaseTypeConstraint BaseSinkMaxLatenessPropertyInfo = IsBaseSink-    type AttrGetType BaseSinkMaxLatenessPropertyInfo = Int64-    type AttrLabel BaseSinkMaxLatenessPropertyInfo = "max-lateness"-    type AttrOrigin BaseSinkMaxLatenessPropertyInfo = BaseSink-    attrGet _ = getBaseSinkMaxLateness-    attrSet _ = setBaseSinkMaxLateness-    attrConstruct _ = constructBaseSinkMaxLateness-    attrClear _ = undefined-#endif---- VVV Prop "processing-deadline"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@processing-deadline@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #processingDeadline-@--}-getBaseSinkProcessingDeadline :: (MonadIO m, IsBaseSink o) => o -> m Word64-getBaseSinkProcessingDeadline obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "processing-deadline"--{- |-Set the value of the “@processing-deadline@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #processingDeadline 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkProcessingDeadline :: (MonadIO m, IsBaseSink o) => o -> Word64 -> m ()-setBaseSinkProcessingDeadline obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "processing-deadline" val--{- |-Construct a `GValueConstruct` with valid value for the “@processing-deadline@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkProcessingDeadline :: (IsBaseSink o) => Word64 -> IO (GValueConstruct o)-constructBaseSinkProcessingDeadline val = B.Properties.constructObjectPropertyUInt64 "processing-deadline" val--#if ENABLE_OVERLOADING-data BaseSinkProcessingDeadlinePropertyInfo-instance AttrInfo BaseSinkProcessingDeadlinePropertyInfo where-    type AttrAllowedOps BaseSinkProcessingDeadlinePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkProcessingDeadlinePropertyInfo = (~) Word64-    type AttrBaseTypeConstraint BaseSinkProcessingDeadlinePropertyInfo = IsBaseSink-    type AttrGetType BaseSinkProcessingDeadlinePropertyInfo = Word64-    type AttrLabel BaseSinkProcessingDeadlinePropertyInfo = "processing-deadline"-    type AttrOrigin BaseSinkProcessingDeadlinePropertyInfo = BaseSink-    attrGet _ = getBaseSinkProcessingDeadline-    attrSet _ = setBaseSinkProcessingDeadline-    attrConstruct _ = constructBaseSinkProcessingDeadline-    attrClear _ = undefined-#endif---- VVV Prop "qos"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@qos@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #qos-@--}-getBaseSinkQos :: (MonadIO m, IsBaseSink o) => o -> m Bool-getBaseSinkQos obj = liftIO $ B.Properties.getObjectPropertyBool obj "qos"--{- |-Set the value of the “@qos@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #qos 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkQos :: (MonadIO m, IsBaseSink o) => o -> Bool -> m ()-setBaseSinkQos obj val = liftIO $ B.Properties.setObjectPropertyBool obj "qos" val--{- |-Construct a `GValueConstruct` with valid value for the “@qos@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkQos :: (IsBaseSink o) => Bool -> IO (GValueConstruct o)-constructBaseSinkQos val = B.Properties.constructObjectPropertyBool "qos" val--#if ENABLE_OVERLOADING-data BaseSinkQosPropertyInfo-instance AttrInfo BaseSinkQosPropertyInfo where-    type AttrAllowedOps BaseSinkQosPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkQosPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BaseSinkQosPropertyInfo = IsBaseSink-    type AttrGetType BaseSinkQosPropertyInfo = Bool-    type AttrLabel BaseSinkQosPropertyInfo = "qos"-    type AttrOrigin BaseSinkQosPropertyInfo = BaseSink-    attrGet _ = getBaseSinkQos-    attrSet _ = setBaseSinkQos-    attrConstruct _ = constructBaseSinkQos-    attrClear _ = undefined-#endif---- VVV Prop "render-delay"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@render-delay@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #renderDelay-@--}-getBaseSinkRenderDelay :: (MonadIO m, IsBaseSink o) => o -> m Word64-getBaseSinkRenderDelay obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "render-delay"--{- |-Set the value of the “@render-delay@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #renderDelay 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkRenderDelay :: (MonadIO m, IsBaseSink o) => o -> Word64 -> m ()-setBaseSinkRenderDelay obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "render-delay" val--{- |-Construct a `GValueConstruct` with valid value for the “@render-delay@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkRenderDelay :: (IsBaseSink o) => Word64 -> IO (GValueConstruct o)-constructBaseSinkRenderDelay val = B.Properties.constructObjectPropertyUInt64 "render-delay" val--#if ENABLE_OVERLOADING-data BaseSinkRenderDelayPropertyInfo-instance AttrInfo BaseSinkRenderDelayPropertyInfo where-    type AttrAllowedOps BaseSinkRenderDelayPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkRenderDelayPropertyInfo = (~) Word64-    type AttrBaseTypeConstraint BaseSinkRenderDelayPropertyInfo = IsBaseSink-    type AttrGetType BaseSinkRenderDelayPropertyInfo = Word64-    type AttrLabel BaseSinkRenderDelayPropertyInfo = "render-delay"-    type AttrOrigin BaseSinkRenderDelayPropertyInfo = BaseSink-    attrGet _ = getBaseSinkRenderDelay-    attrSet _ = setBaseSinkRenderDelay-    attrConstruct _ = constructBaseSinkRenderDelay-    attrClear _ = undefined-#endif---- VVV Prop "sync"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@sync@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #sync-@--}-getBaseSinkSync :: (MonadIO m, IsBaseSink o) => o -> m Bool-getBaseSinkSync obj = liftIO $ B.Properties.getObjectPropertyBool obj "sync"--{- |-Set the value of the “@sync@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #sync 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkSync :: (MonadIO m, IsBaseSink o) => o -> Bool -> m ()-setBaseSinkSync obj val = liftIO $ B.Properties.setObjectPropertyBool obj "sync" val--{- |-Construct a `GValueConstruct` with valid value for the “@sync@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkSync :: (IsBaseSink o) => Bool -> IO (GValueConstruct o)-constructBaseSinkSync val = B.Properties.constructObjectPropertyBool "sync" val--#if ENABLE_OVERLOADING-data BaseSinkSyncPropertyInfo-instance AttrInfo BaseSinkSyncPropertyInfo where-    type AttrAllowedOps BaseSinkSyncPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkSyncPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BaseSinkSyncPropertyInfo = IsBaseSink-    type AttrGetType BaseSinkSyncPropertyInfo = Bool-    type AttrLabel BaseSinkSyncPropertyInfo = "sync"-    type AttrOrigin BaseSinkSyncPropertyInfo = BaseSink-    attrGet _ = getBaseSinkSync-    attrSet _ = setBaseSinkSync-    attrConstruct _ = constructBaseSinkSync-    attrClear _ = undefined-#endif---- VVV Prop "throttle-time"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@throttle-time@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #throttleTime-@--}-getBaseSinkThrottleTime :: (MonadIO m, IsBaseSink o) => o -> m Word64-getBaseSinkThrottleTime obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "throttle-time"--{- |-Set the value of the “@throttle-time@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #throttleTime 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkThrottleTime :: (MonadIO m, IsBaseSink o) => o -> Word64 -> m ()-setBaseSinkThrottleTime obj val = liftIO $ B.Properties.setObjectPropertyUInt64 obj "throttle-time" val--{- |-Construct a `GValueConstruct` with valid value for the “@throttle-time@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkThrottleTime :: (IsBaseSink o) => Word64 -> IO (GValueConstruct o)-constructBaseSinkThrottleTime val = B.Properties.constructObjectPropertyUInt64 "throttle-time" val--#if ENABLE_OVERLOADING-data BaseSinkThrottleTimePropertyInfo-instance AttrInfo BaseSinkThrottleTimePropertyInfo where-    type AttrAllowedOps BaseSinkThrottleTimePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkThrottleTimePropertyInfo = (~) Word64-    type AttrBaseTypeConstraint BaseSinkThrottleTimePropertyInfo = IsBaseSink-    type AttrGetType BaseSinkThrottleTimePropertyInfo = Word64-    type AttrLabel BaseSinkThrottleTimePropertyInfo = "throttle-time"-    type AttrOrigin BaseSinkThrottleTimePropertyInfo = BaseSink-    attrGet _ = getBaseSinkThrottleTime-    attrSet _ = setBaseSinkThrottleTime-    attrConstruct _ = constructBaseSinkThrottleTime-    attrClear _ = undefined-#endif---- VVV Prop "ts-offset"-   -- Type: TBasicType TInt64-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@ts-offset@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSink #tsOffset-@--}-getBaseSinkTsOffset :: (MonadIO m, IsBaseSink o) => o -> m Int64-getBaseSinkTsOffset obj = liftIO $ B.Properties.getObjectPropertyInt64 obj "ts-offset"--{- |-Set the value of the “@ts-offset@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSink [ #tsOffset 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSinkTsOffset :: (MonadIO m, IsBaseSink o) => o -> Int64 -> m ()-setBaseSinkTsOffset obj val = liftIO $ B.Properties.setObjectPropertyInt64 obj "ts-offset" val--{- |-Construct a `GValueConstruct` with valid value for the “@ts-offset@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSinkTsOffset :: (IsBaseSink o) => Int64 -> IO (GValueConstruct o)-constructBaseSinkTsOffset val = B.Properties.constructObjectPropertyInt64 "ts-offset" val--#if ENABLE_OVERLOADING-data BaseSinkTsOffsetPropertyInfo-instance AttrInfo BaseSinkTsOffsetPropertyInfo where-    type AttrAllowedOps BaseSinkTsOffsetPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSinkTsOffsetPropertyInfo = (~) Int64-    type AttrBaseTypeConstraint BaseSinkTsOffsetPropertyInfo = IsBaseSink-    type AttrGetType BaseSinkTsOffsetPropertyInfo = Int64-    type AttrLabel BaseSinkTsOffsetPropertyInfo = "ts-offset"-    type AttrOrigin BaseSinkTsOffsetPropertyInfo = BaseSink-    attrGet _ = getBaseSinkTsOffset-    attrSet _ = setBaseSinkTsOffset-    attrConstruct _ = constructBaseSinkTsOffset-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList BaseSink-type instance O.AttributeList BaseSink = BaseSinkAttributeList-type BaseSinkAttributeList = ('[ '("async", BaseSinkAsyncPropertyInfo), '("blocksize", BaseSinkBlocksizePropertyInfo), '("enableLastSample", BaseSinkEnableLastSamplePropertyInfo), '("lastSample", BaseSinkLastSamplePropertyInfo), '("maxBitrate", BaseSinkMaxBitratePropertyInfo), '("maxLateness", BaseSinkMaxLatenessPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("processingDeadline", BaseSinkProcessingDeadlinePropertyInfo), '("qos", BaseSinkQosPropertyInfo), '("renderDelay", BaseSinkRenderDelayPropertyInfo), '("sync", BaseSinkSyncPropertyInfo), '("throttleTime", BaseSinkThrottleTimePropertyInfo), '("tsOffset", BaseSinkTsOffsetPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-baseSinkAsync :: AttrLabelProxy "async"-baseSinkAsync = AttrLabelProxy--baseSinkBlocksize :: AttrLabelProxy "blocksize"-baseSinkBlocksize = AttrLabelProxy--baseSinkEnableLastSample :: AttrLabelProxy "enableLastSample"-baseSinkEnableLastSample = AttrLabelProxy--baseSinkLastSample :: AttrLabelProxy "lastSample"-baseSinkLastSample = AttrLabelProxy--baseSinkMaxBitrate :: AttrLabelProxy "maxBitrate"-baseSinkMaxBitrate = AttrLabelProxy--baseSinkMaxLateness :: AttrLabelProxy "maxLateness"-baseSinkMaxLateness = AttrLabelProxy--baseSinkProcessingDeadline :: AttrLabelProxy "processingDeadline"-baseSinkProcessingDeadline = AttrLabelProxy--baseSinkQos :: AttrLabelProxy "qos"-baseSinkQos = AttrLabelProxy--baseSinkRenderDelay :: AttrLabelProxy "renderDelay"-baseSinkRenderDelay = AttrLabelProxy--baseSinkSync :: AttrLabelProxy "sync"-baseSinkSync = AttrLabelProxy--baseSinkThrottleTime :: AttrLabelProxy "throttleTime"-baseSinkThrottleTime = AttrLabelProxy--baseSinkTsOffset :: AttrLabelProxy "tsOffset"-baseSinkTsOffset = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList BaseSink = BaseSinkSignalList-type BaseSinkSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif---- method BaseSink::do_preroll--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, 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 that caused the preroll", 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_base_sink_do_preroll" gst_base_sink_do_preroll :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Ptr Gst.MiniObject.MiniObject ->        -- obj : TInterface (Name {namespace = "Gst", name = "MiniObject"})-    IO CInt--{- |-If the /@sink@/ spawns its own thread for pulling buffers from upstream it-should call this method after it has pulled a buffer. If the element needed-to preroll, this function will perform the preroll and will then block-until the element state is changed.--This function should be called with the PREROLL_LOCK held.--}-baseSinkDoPreroll ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Gst.MiniObject.MiniObject-    {- ^ /@obj@/: the mini object that caused the preroll -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' if the preroll completed and processing can-continue. Any other return value should be returned from the render vmethod. -}-baseSinkDoPreroll sink obj = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    obj' <- unsafeManagedPtrGetPtr obj-    result <- gst_base_sink_do_preroll sink' obj'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr sink-    touchManagedPtr obj-    return result'--#if ENABLE_OVERLOADING-data BaseSinkDoPrerollMethodInfo-instance (signature ~ (Gst.MiniObject.MiniObject -> m Gst.Enums.FlowReturn), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkDoPrerollMethodInfo a signature where-    overloadedMethod _ = baseSinkDoPreroll--#endif---- method BaseSink::get_blocksize--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", 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_base_sink_get_blocksize" gst_base_sink_get_blocksize :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO Word32--{- |-Get the number of bytes that the sink will pull when it is operating in pull-mode.--}-baseSinkGetBlocksize ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> m Word32-    {- ^ __Returns:__ the number of bytes /@sink@/ will pull in pull mode. -}-baseSinkGetBlocksize sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_blocksize sink'-    touchManagedPtr sink-    return result--#if ENABLE_OVERLOADING-data BaseSinkGetBlocksizeMethodInfo-instance (signature ~ (m Word32), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetBlocksizeMethodInfo a signature where-    overloadedMethod _ = baseSinkGetBlocksize--#endif---- method BaseSink::get_drop_out_of_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = 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_base_sink_get_drop_out_of_segment" gst_base_sink_get_drop_out_of_segment :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO CInt--{- |-Checks if /@sink@/ is currently configured to drop buffers which are outside-the current segment--/Since: 1.12/--}-baseSinkGetDropOutOfSegment ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the sink is configured to drop buffers outside the-current segment. -}-baseSinkGetDropOutOfSegment sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_drop_out_of_segment sink'-    let result' = (/= 0) result-    touchManagedPtr sink-    return result'--#if ENABLE_OVERLOADING-data BaseSinkGetDropOutOfSegmentMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetDropOutOfSegmentMethodInfo a signature where-    overloadedMethod _ = baseSinkGetDropOutOfSegment--#endif---- method BaseSink::get_last_sample--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "Sample"}))--- throws : False--- Skip return : False--foreign import ccall "gst_base_sink_get_last_sample" gst_base_sink_get_last_sample :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO (Ptr Gst.Sample.Sample)--{- |-Get the last sample that arrived in the sink and was used for preroll or for-rendering. This property can be used to generate thumbnails.--The 'GI.Gst.Structs.Caps.Caps' on the sample can be used to determine the type of the buffer.--Free-function: gst_sample_unref--}-baseSinkGetLastSample ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m (Maybe Gst.Sample.Sample)-    {- ^ __Returns:__ a 'GI.Gst.Structs.Sample.Sample'. @/gst_sample_unref()/@ after-    usage.  This function returns 'Nothing' when no buffer has arrived in the-    sink yet or when the sink is not in PAUSED or PLAYING. -}-baseSinkGetLastSample sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_last_sample sink'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Sample.Sample) result'-        return result''-    touchManagedPtr sink-    return maybeResult--#if ENABLE_OVERLOADING-data BaseSinkGetLastSampleMethodInfo-instance (signature ~ (m (Maybe Gst.Sample.Sample)), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetLastSampleMethodInfo a signature where-    overloadedMethod _ = baseSinkGetLastSample--#endif---- method BaseSink::get_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", 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_base_sink_get_latency" gst_base_sink_get_latency :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO Word64--{- |-Get the currently configured latency.--}-baseSinkGetLatency ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m Word64-    {- ^ __Returns:__ The configured latency. -}-baseSinkGetLatency sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_latency sink'-    touchManagedPtr sink-    return result--#if ENABLE_OVERLOADING-data BaseSinkGetLatencyMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetLatencyMethodInfo a signature where-    overloadedMethod _ = baseSinkGetLatency--#endif---- method BaseSink::get_max_bitrate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", 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_base_sink_get_max_bitrate" gst_base_sink_get_max_bitrate :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO Word64--{- |-Get the maximum amount of bits per second that the sink will render.--/Since: 1.2/--}-baseSinkGetMaxBitrate ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> m Word64-    {- ^ __Returns:__ the maximum number of bits per second /@sink@/ will render. -}-baseSinkGetMaxBitrate sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_max_bitrate sink'-    touchManagedPtr sink-    return result--#if ENABLE_OVERLOADING-data BaseSinkGetMaxBitrateMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetMaxBitrateMethodInfo a signature where-    overloadedMethod _ = baseSinkGetMaxBitrate--#endif---- method BaseSink::get_max_lateness--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", 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_base_sink_get_max_lateness" gst_base_sink_get_max_lateness :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO Int64--{- |-Gets the max lateness value. See 'GI.GstBase.Objects.BaseSink.baseSinkSetMaxLateness' for-more details.--}-baseSinkGetMaxLateness ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m Int64-    {- ^ __Returns:__ The maximum time in nanoseconds that a buffer can be late-before it is dropped and not rendered. A value of -1 means an-unlimited time. -}-baseSinkGetMaxLateness sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_max_lateness sink'-    touchManagedPtr sink-    return result--#if ENABLE_OVERLOADING-data BaseSinkGetMaxLatenessMethodInfo-instance (signature ~ (m Int64), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetMaxLatenessMethodInfo a signature where-    overloadedMethod _ = baseSinkGetMaxLateness--#endif---- method BaseSink::get_processing_deadline--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", 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_base_sink_get_processing_deadline" gst_base_sink_get_processing_deadline :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO Word64--{- |-Get the processing deadline of /@sink@/. see-'GI.GstBase.Objects.BaseSink.baseSinkSetProcessingDeadline' for more information about-the processing deadline.--/Since: 1.16/--}-baseSinkGetProcessingDeadline ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> m Word64-    {- ^ __Returns:__ the processing deadline -}-baseSinkGetProcessingDeadline sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_processing_deadline sink'-    touchManagedPtr sink-    return result--#if ENABLE_OVERLOADING-data BaseSinkGetProcessingDeadlineMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetProcessingDeadlineMethodInfo a signature where-    overloadedMethod _ = baseSinkGetProcessingDeadline--#endif---- method BaseSink::get_render_delay--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", 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_base_sink_get_render_delay" gst_base_sink_get_render_delay :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO Word64--{- |-Get the render delay of /@sink@/. see 'GI.GstBase.Objects.BaseSink.baseSinkSetRenderDelay' for more-information about the render delay.--}-baseSinkGetRenderDelay ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> m Word64-    {- ^ __Returns:__ the render delay of /@sink@/. -}-baseSinkGetRenderDelay sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_render_delay sink'-    touchManagedPtr sink-    return result--#if ENABLE_OVERLOADING-data BaseSinkGetRenderDelayMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetRenderDelayMethodInfo a signature where-    overloadedMethod _ = baseSinkGetRenderDelay--#endif---- method BaseSink::get_sync--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = 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_base_sink_get_sync" gst_base_sink_get_sync :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO CInt--{- |-Checks if /@sink@/ is currently configured to synchronize against the-clock.--}-baseSinkGetSync ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the sink is configured to synchronize against the clock. -}-baseSinkGetSync sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_sync sink'-    let result' = (/= 0) result-    touchManagedPtr sink-    return result'--#if ENABLE_OVERLOADING-data BaseSinkGetSyncMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetSyncMethodInfo a signature where-    overloadedMethod _ = baseSinkGetSync--#endif---- method BaseSink::get_throttle_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", 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_base_sink_get_throttle_time" gst_base_sink_get_throttle_time :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO Word64--{- |-Get the time that will be inserted between frames to control the-maximum buffers per second.--}-baseSinkGetThrottleTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> m Word64-    {- ^ __Returns:__ the number of nanoseconds /@sink@/ will put between frames. -}-baseSinkGetThrottleTime sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_throttle_time sink'-    touchManagedPtr sink-    return result--#if ENABLE_OVERLOADING-data BaseSinkGetThrottleTimeMethodInfo-instance (signature ~ (m Word64), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetThrottleTimeMethodInfo a signature where-    overloadedMethod _ = baseSinkGetThrottleTime--#endif---- method BaseSink::get_ts_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", 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_base_sink_get_ts_offset" gst_base_sink_get_ts_offset :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO Int64--{- |-Get the synchronisation offset of /@sink@/.--}-baseSinkGetTsOffset ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m Int64-    {- ^ __Returns:__ The synchronisation offset. -}-baseSinkGetTsOffset sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_get_ts_offset sink'-    touchManagedPtr sink-    return result--#if ENABLE_OVERLOADING-data BaseSinkGetTsOffsetMethodInfo-instance (signature ~ (m Int64), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkGetTsOffsetMethodInfo a signature where-    overloadedMethod _ = baseSinkGetTsOffset--#endif---- method BaseSink::is_async_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = 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_base_sink_is_async_enabled" gst_base_sink_is_async_enabled :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO CInt--{- |-Checks if /@sink@/ is currently configured to perform asynchronous state-changes to PAUSED.--}-baseSinkIsAsyncEnabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the sink is configured to perform asynchronous state-changes. -}-baseSinkIsAsyncEnabled sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_is_async_enabled sink'-    let result' = (/= 0) result-    touchManagedPtr sink-    return result'--#if ENABLE_OVERLOADING-data BaseSinkIsAsyncEnabledMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkIsAsyncEnabledMethodInfo a signature where-    overloadedMethod _ = baseSinkIsAsyncEnabled--#endif---- method BaseSink::is_last_sample_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = 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_base_sink_is_last_sample_enabled" gst_base_sink_is_last_sample_enabled :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO CInt--{- |-Checks if /@sink@/ is currently configured to store the last received sample in-the last-sample property.--}-baseSinkIsLastSampleEnabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the sink is configured to store the last received sample. -}-baseSinkIsLastSampleEnabled sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_is_last_sample_enabled sink'-    let result' = (/= 0) result-    touchManagedPtr sink-    return result'--#if ENABLE_OVERLOADING-data BaseSinkIsLastSampleEnabledMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkIsLastSampleEnabledMethodInfo a signature where-    overloadedMethod _ = baseSinkIsLastSampleEnabled--#endif---- method BaseSink::is_qos_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = 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_base_sink_is_qos_enabled" gst_base_sink_is_qos_enabled :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO CInt--{- |-Checks if /@sink@/ is currently configured to send Quality-of-Service events-upstream.--}-baseSinkIsQosEnabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the sink is configured to perform Quality-of-Service. -}-baseSinkIsQosEnabled sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_is_qos_enabled sink'-    let result' = (/= 0) result-    touchManagedPtr sink-    return result'--#if ENABLE_OVERLOADING-data BaseSinkIsQosEnabledMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkIsQosEnabledMethodInfo a signature where-    overloadedMethod _ = baseSinkIsQosEnabled--#endif---- method BaseSink::query_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", 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 sink is live", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "upstream_live", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if an upstream element is live", 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 min latency of the upstream elements", 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 max latency of the upstream elements", 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_base_sink_query_latency" gst_base_sink_query_latency :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Ptr CInt ->                             -- live : TBasicType TBoolean-    Ptr CInt ->                             -- upstream_live : TBasicType TBoolean-    Ptr Word64 ->                           -- min_latency : TBasicType TUInt64-    Ptr Word64 ->                           -- max_latency : TBasicType TUInt64-    IO CInt--{- |-Query the sink for the latency parameters. The latency will be queried from-the upstream elements. /@live@/ will be 'True' if /@sink@/ is configured to-synchronize against the clock. /@upstreamLive@/ will be 'True' if an upstream-element is live.--If both /@live@/ and /@upstreamLive@/ are 'True', the sink will want to compensate-for the latency introduced by the upstream elements by setting the-/@minLatency@/ to a strictly positive value.--This function is mostly used by subclasses.--}-baseSinkQueryLatency ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m ((Bool, Bool, Bool, Word64, Word64))-    {- ^ __Returns:__ 'True' if the query succeeded. -}-baseSinkQueryLatency sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    live <- allocMem :: IO (Ptr CInt)-    upstreamLive <- allocMem :: IO (Ptr CInt)-    minLatency <- allocMem :: IO (Ptr Word64)-    maxLatency <- allocMem :: IO (Ptr Word64)-    result <- gst_base_sink_query_latency sink' live upstreamLive minLatency maxLatency-    let result' = (/= 0) result-    live' <- peek live-    let live'' = (/= 0) live'-    upstreamLive' <- peek upstreamLive-    let upstreamLive'' = (/= 0) upstreamLive'-    minLatency' <- peek minLatency-    maxLatency' <- peek maxLatency-    touchManagedPtr sink-    freeMem live-    freeMem upstreamLive-    freeMem minLatency-    freeMem maxLatency-    return (result', live'', upstreamLive'', minLatency', maxLatency')--#if ENABLE_OVERLOADING-data BaseSinkQueryLatencyMethodInfo-instance (signature ~ (m ((Bool, Bool, Bool, Word64, Word64))), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkQueryLatencyMethodInfo a signature where-    overloadedMethod _ = baseSinkQueryLatency--#endif---- method BaseSink::set_async_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new async 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_base_sink_set_async_enabled" gst_base_sink_set_async_enabled :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    CInt ->                                 -- enabled : TBasicType TBoolean-    IO ()--{- |-Configures /@sink@/ to perform all state changes asynchronously. When async is-disabled, the sink will immediately go to PAUSED instead of waiting for a-preroll buffer. This feature is useful if the sink does not synchronize-against the clock or when it is dealing with sparse streams.--}-baseSinkSetAsyncEnabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Bool-    {- ^ /@enabled@/: the new async value. -}-    -> m ()-baseSinkSetAsyncEnabled sink enabled = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    let enabled' = (fromIntegral . fromEnum) enabled-    gst_base_sink_set_async_enabled sink' enabled'-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetAsyncEnabledMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetAsyncEnabledMethodInfo a signature where-    overloadedMethod _ = baseSinkSetAsyncEnabled--#endif---- method BaseSink::set_blocksize--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blocksize", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the blocksize in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_sink_set_blocksize" gst_base_sink_set_blocksize :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Word32 ->                               -- blocksize : TBasicType TUInt-    IO ()--{- |-Set the number of bytes that the sink will pull when it is operating in pull-mode.--}-baseSinkSetBlocksize ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> Word32-    {- ^ /@blocksize@/: the blocksize in bytes -}-    -> m ()-baseSinkSetBlocksize sink blocksize = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    gst_base_sink_set_blocksize sink' blocksize-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetBlocksizeMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetBlocksizeMethodInfo a signature where-    overloadedMethod _ = baseSinkSetBlocksize--#endif---- method BaseSink::set_drop_out_of_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "drop_out_of_segment", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "drop buffers outside 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_base_sink_set_drop_out_of_segment" gst_base_sink_set_drop_out_of_segment :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    CInt ->                                 -- drop_out_of_segment : TBasicType TBoolean-    IO ()--{- |-Configure /@sink@/ to drop buffers which are outside the current segment--/Since: 1.12/--}-baseSinkSetDropOutOfSegment ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Bool-    {- ^ /@dropOutOfSegment@/: drop buffers outside the segment -}-    -> m ()-baseSinkSetDropOutOfSegment sink dropOutOfSegment = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    let dropOutOfSegment' = (fromIntegral . fromEnum) dropOutOfSegment-    gst_base_sink_set_drop_out_of_segment sink' dropOutOfSegment'-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetDropOutOfSegmentMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetDropOutOfSegmentMethodInfo a signature where-    overloadedMethod _ = baseSinkSetDropOutOfSegment--#endif---- method BaseSink::set_last_sample_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new enable-last-sample 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_base_sink_set_last_sample_enabled" gst_base_sink_set_last_sample_enabled :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    CInt ->                                 -- enabled : TBasicType TBoolean-    IO ()--{- |-Configures /@sink@/ to store the last received sample in the last-sample-property.--}-baseSinkSetLastSampleEnabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Bool-    {- ^ /@enabled@/: the new enable-last-sample value. -}-    -> m ()-baseSinkSetLastSampleEnabled sink enabled = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    let enabled' = (fromIntegral . fromEnum) enabled-    gst_base_sink_set_last_sample_enabled sink' enabled'-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetLastSampleEnabledMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetLastSampleEnabledMethodInfo a signature where-    overloadedMethod _ = baseSinkSetLastSampleEnabled--#endif---- method BaseSink::set_max_bitrate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_bitrate", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the max_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_base_sink_set_max_bitrate" gst_base_sink_set_max_bitrate :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Word64 ->                               -- max_bitrate : TBasicType TUInt64-    IO ()--{- |-Set the maximum amount of bits per second that the sink will render.--/Since: 1.2/--}-baseSinkSetMaxBitrate ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> Word64-    {- ^ /@maxBitrate@/: the max_bitrate in bits per second -}-    -> m ()-baseSinkSetMaxBitrate sink maxBitrate = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    gst_base_sink_set_max_bitrate sink' maxBitrate-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetMaxBitrateMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetMaxBitrateMethodInfo a signature where-    overloadedMethod _ = baseSinkSetMaxBitrate--#endif---- method BaseSink::set_max_lateness--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_lateness", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new max lateness 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_base_sink_set_max_lateness" gst_base_sink_set_max_lateness :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Int64 ->                                -- max_lateness : TBasicType TInt64-    IO ()--{- |-Sets the new max lateness value to /@maxLateness@/. This value is-used to decide if a buffer should be dropped or not based on the-buffer timestamp and the current clock time. A value of -1 means-an unlimited time.--}-baseSinkSetMaxLateness ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Int64-    {- ^ /@maxLateness@/: the new max lateness value. -}-    -> m ()-baseSinkSetMaxLateness sink maxLateness = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    gst_base_sink_set_max_lateness sink' maxLateness-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetMaxLatenessMethodInfo-instance (signature ~ (Int64 -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetMaxLatenessMethodInfo a signature where-    overloadedMethod _ = baseSinkSetMaxLateness--#endif---- method BaseSink::set_processing_deadline--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "processing_deadline", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new processing deadline 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_base_sink_set_processing_deadline" gst_base_sink_set_processing_deadline :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Word64 ->                               -- processing_deadline : TBasicType TUInt64-    IO ()--{- |-Maximum amount of time (in nanoseconds) that the pipeline can take-for processing the buffer. This is added to the latency of live-pipelines.--This function is usually called by subclasses.--/Since: 1.16/--}-baseSinkSetProcessingDeadline ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> Word64-    {- ^ /@processingDeadline@/: the new processing deadline in nanoseconds. -}-    -> m ()-baseSinkSetProcessingDeadline sink processingDeadline = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    gst_base_sink_set_processing_deadline sink' processingDeadline-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetProcessingDeadlineMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetProcessingDeadlineMethodInfo a signature where-    overloadedMethod _ = baseSinkSetProcessingDeadline--#endif---- method BaseSink::set_qos_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new qos 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_base_sink_set_qos_enabled" gst_base_sink_set_qos_enabled :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    CInt ->                                 -- enabled : TBasicType TBoolean-    IO ()--{- |-Configures /@sink@/ to send Quality-of-Service events upstream.--}-baseSinkSetQosEnabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Bool-    {- ^ /@enabled@/: the new qos value. -}-    -> m ()-baseSinkSetQosEnabled sink enabled = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    let enabled' = (fromIntegral . fromEnum) enabled-    gst_base_sink_set_qos_enabled sink' enabled'-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetQosEnabledMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetQosEnabledMethodInfo a signature where-    overloadedMethod _ = baseSinkSetQosEnabled--#endif---- method BaseSink::set_render_delay--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", 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 new 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_base_sink_set_render_delay" gst_base_sink_set_render_delay :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Word64 ->                               -- delay : TBasicType TUInt64-    IO ()--{- |-Set the render delay in /@sink@/ to /@delay@/. The render delay is the time-between actual rendering of a buffer and its synchronisation time. Some-devices might delay media rendering which can be compensated for with this-function.--After calling this function, this sink will report additional latency and-other sinks will adjust their latency to delay the rendering of their media.--This function is usually called by subclasses.--}-baseSinkSetRenderDelay ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> Word64-    {- ^ /@delay@/: the new delay -}-    -> m ()-baseSinkSetRenderDelay sink delay = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    gst_base_sink_set_render_delay sink' delay-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetRenderDelayMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetRenderDelayMethodInfo a signature where-    overloadedMethod _ = baseSinkSetRenderDelay--#endif---- method BaseSink::set_sync--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sync", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new sync 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_base_sink_set_sync" gst_base_sink_set_sync :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    CInt ->                                 -- sync : TBasicType TBoolean-    IO ()--{- |-Configures /@sink@/ to synchronize on the clock or not. When-/@sync@/ is 'False', incoming samples will be played as fast as-possible. If /@sync@/ is 'True', the timestamps of the incoming-buffers will be used to schedule the exact render time of its-contents.--}-baseSinkSetSync ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Bool-    {- ^ /@sync@/: the new sync value. -}-    -> m ()-baseSinkSetSync sink sync = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    let sync' = (fromIntegral . fromEnum) sync-    gst_base_sink_set_sync sink' sync'-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetSyncMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetSyncMethodInfo a signature where-    overloadedMethod _ = baseSinkSetSync--#endif---- method BaseSink::set_throttle_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSink", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "throttle", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the throttle time 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_base_sink_set_throttle_time" gst_base_sink_set_throttle_time :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Word64 ->                               -- throttle : TBasicType TUInt64-    IO ()--{- |-Set the time that will be inserted between rendered buffers. This-can be used to control the maximum buffers per second that the sink-will render.--}-baseSinkSetThrottleTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: a 'GI.GstBase.Objects.BaseSink.BaseSink' -}-    -> Word64-    {- ^ /@throttle@/: the throttle time in nanoseconds -}-    -> m ()-baseSinkSetThrottleTime sink throttle = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    gst_base_sink_set_throttle_time sink' throttle-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetThrottleTimeMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetThrottleTimeMethodInfo a signature where-    overloadedMethod _ = baseSinkSetThrottleTime--#endif---- method BaseSink::set_ts_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", 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 new 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_base_sink_set_ts_offset" gst_base_sink_set_ts_offset :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Int64 ->                                -- offset : TBasicType TInt64-    IO ()--{- |-Adjust the synchronisation of /@sink@/ with /@offset@/. A negative value will-render buffers earlier than their timestamp. A positive value will delay-rendering. This function can be used to fix playback of badly timestamped-buffers.--}-baseSinkSetTsOffset ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Int64-    {- ^ /@offset@/: the new offset -}-    -> m ()-baseSinkSetTsOffset sink offset = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    gst_base_sink_set_ts_offset sink' offset-    touchManagedPtr sink-    return ()--#if ENABLE_OVERLOADING-data BaseSinkSetTsOffsetMethodInfo-instance (signature ~ (Int64 -> m ()), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkSetTsOffsetMethodInfo a signature where-    overloadedMethod _ = baseSinkSetTsOffset--#endif---- method BaseSink::wait--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", 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 running_time to be reached", 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 jitter to be filled with time diff, or %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_base_sink_wait" gst_base_sink_wait :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Word64 ->                               -- time : TBasicType TUInt64-    Ptr Int64 ->                            -- jitter : TBasicType TInt64-    IO CInt--{- |-This function will wait for preroll to complete and will then block until /@time@/-is reached. It is usually called by subclasses that use their own internal-synchronisation but want to let some synchronization (like EOS) be handled-by the base class.--This function should only be called with the PREROLL_LOCK held (like when-receiving an EOS event in the ::event vmethod or when handling buffers in-::render).--The /@time@/ argument should be the running_time of when the timeout should happen-and will be adjusted with any latency and offset configured in the sink.--}-baseSinkWait ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Word64-    {- ^ /@time@/: the running_time to be reached -}-    -> m ((Gst.Enums.FlowReturn, Int64))-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturn' -}-baseSinkWait sink time = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    jitter <- allocMem :: IO (Ptr Int64)-    result <- gst_base_sink_wait sink' time jitter-    let result' = (toEnum . fromIntegral) result-    jitter' <- peek jitter-    touchManagedPtr sink-    freeMem jitter-    return (result', jitter')--#if ENABLE_OVERLOADING-data BaseSinkWaitMethodInfo-instance (signature ~ (Word64 -> m ((Gst.Enums.FlowReturn, Int64))), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkWaitMethodInfo a signature where-    overloadedMethod _ = baseSinkWait--#endif---- method BaseSink::wait_clock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", 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 running_time to be reached", 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 jitter to be filled with time diff, or %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_base_sink_wait_clock" gst_base_sink_wait_clock :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    Word64 ->                               -- time : TBasicType TUInt64-    Ptr Int64 ->                            -- jitter : TBasicType TInt64-    IO CUInt--{- |-This function will block until /@time@/ is reached. It is usually called by-subclasses that use their own internal synchronisation.--If /@time@/ is not valid, no synchronisation is done and 'GI.Gst.Enums.ClockReturnBadtime' is-returned. Likewise, if synchronisation is disabled in the element or there-is no clock, no synchronisation is done and 'GI.Gst.Enums.ClockReturnBadtime' is returned.--This function should only be called with the PREROLL_LOCK held, like when-receiving an EOS event in the 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/event/@() vmethod or when-receiving a buffer in-the 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/render/@() vmethod.--The /@time@/ argument should be the running_time of when this method should-return and is not adjusted with any latency or offset configured in the-sink.--}-baseSinkWaitClock ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> Word64-    {- ^ /@time@/: the running_time to be reached -}-    -> m ((Gst.Enums.ClockReturn, Int64))-    {- ^ __Returns:__ 'GI.Gst.Enums.ClockReturn' -}-baseSinkWaitClock sink time = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    jitter <- allocMem :: IO (Ptr Int64)-    result <- gst_base_sink_wait_clock sink' time jitter-    let result' = (toEnum . fromIntegral) result-    jitter' <- peek jitter-    touchManagedPtr sink-    freeMem jitter-    return (result', jitter')--#if ENABLE_OVERLOADING-data BaseSinkWaitClockMethodInfo-instance (signature ~ (Word64 -> m ((Gst.Enums.ClockReturn, Int64))), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkWaitClockMethodInfo a signature where-    overloadedMethod _ = baseSinkWaitClock--#endif---- method BaseSink::wait_preroll--- method type : OrdinaryMethod--- Args : [Arg {argCName = "sink", argType = TInterface (Name {namespace = "GstBase", name = "BaseSink"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the sink", 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_base_sink_wait_preroll" gst_base_sink_wait_preroll :: -    Ptr BaseSink ->                         -- sink : TInterface (Name {namespace = "GstBase", name = "BaseSink"})-    IO CInt--{- |-If the 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/render/@() method performs its own synchronisation-against the clock it must unblock when going from PLAYING to the PAUSED state-and call this method before continuing to render the remaining data.--If the 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/render/@() method can block on something else than-the clock, it must also be ready to unblock immediately on-the 'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/unlock/@() method and cause the-'GI.GstBase.Structs.BaseSinkClass.BaseSinkClass'.@/render/@() method to immediately call this function.-In this case, the subclass must be prepared to continue rendering where it-left off if this function returns 'GI.Gst.Enums.FlowReturnOk'.--This function will block until a state change to PLAYING happens (in which-case this function returns 'GI.Gst.Enums.FlowReturnOk') or the processing must be stopped due-to a state change to READY or a FLUSH event (in which case this function-returns 'GI.Gst.Enums.FlowReturnFlushing').--This function should only be called with the PREROLL_LOCK held, like in the-render function.--}-baseSinkWaitPreroll ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSink a) =>-    a-    {- ^ /@sink@/: the sink -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' if the preroll completed and processing can-continue. Any other return value should be returned from the render vmethod. -}-baseSinkWaitPreroll sink = liftIO $ do-    sink' <- unsafeManagedPtrCastPtr sink-    result <- gst_base_sink_wait_preroll sink'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr sink-    return result'--#if ENABLE_OVERLOADING-data BaseSinkWaitPrerollMethodInfo-instance (signature ~ (m Gst.Enums.FlowReturn), MonadIO m, IsBaseSink a) => O.MethodInfo BaseSinkWaitPrerollMethodInfo a signature where-    overloadedMethod _ = baseSinkWaitPreroll--#endif--
− GI/GstBase/Objects/BaseSink.hs-boot
@@ -1,158 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.BaseSink 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 BaseSink = BaseSink (ManagedPtr BaseSink)-instance GObject BaseSink where-class (GObject o, O.IsDescendantOf BaseSink o) => IsBaseSink o-instance (GObject o, O.IsDescendantOf BaseSink o) => IsBaseSink o-instance O.HasParentTypes BaseSink-#if ENABLE_OVERLOADING-data BaseSinkAsyncPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkBlocksizePropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkEnableLastSamplePropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkLastSamplePropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkMaxBitratePropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkMaxLatenessPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkProcessingDeadlinePropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkQosPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkRenderDelayPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSyncPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkThrottleTimePropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkTsOffsetPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkDoPrerollMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetBlocksizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetDropOutOfSegmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetLastSampleMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetMaxBitrateMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetMaxLatenessMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetProcessingDeadlineMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetRenderDelayMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetSyncMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetThrottleTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkGetTsOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkIsAsyncEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkIsLastSampleEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkIsQosEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkQueryLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetAsyncEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetBlocksizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetDropOutOfSegmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetLastSampleEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetMaxBitrateMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetMaxLatenessMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetProcessingDeadlineMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetQosEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetRenderDelayMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetSyncMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetThrottleTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkSetTsOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkWaitMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkWaitClockMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSinkWaitPrerollMethodInfo-#endif
− GI/GstBase/Objects/BaseSrc.hs
@@ -1,1598 +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 generic base class for source elements. The following-types of sources are supported:--  * random access sources like files-  * seekable sources-  * live sources--The source can be configured to operate in any 'GI.Gst.Enums.Format' with the-'GI.GstBase.Objects.BaseSrc.baseSrcSetFormat' method. The currently set format determines-the format of the internal 'GI.Gst.Structs.Segment.Segment' and any 'GI.Gst.Enums.EventTypeSegment'-events. The default format for 'GI.GstBase.Objects.BaseSrc.BaseSrc' is 'GI.Gst.Enums.FormatBytes'.--'GI.GstBase.Objects.BaseSrc.BaseSrc' always supports push mode scheduling. If the following-conditions are met, it also supports pull mode scheduling:--  * The format is set to 'GI.Gst.Enums.FormatBytes' (default).-  * 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/is_seekable/@() returns 'True'.--If all the conditions are met for operating in pull mode, 'GI.GstBase.Objects.BaseSrc.BaseSrc' is-automatically seekable in push mode as well. The following conditions must-be met to make the element seekable in push mode when the format is not-'GI.Gst.Enums.FormatBytes':--* 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/is_seekable/@() returns 'True'.-* 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/query/@() can convert all supported seek formats to the-  internal format as set with 'GI.GstBase.Objects.BaseSrc.baseSrcSetFormat'.-* 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/do_seek/@() is implemented, performs the seek and returns-   'True'.--When the element does not meet the requirements to operate in pull mode, the-offset and length in the 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/create/@() method should be ignored.-It is recommended to subclass 'GI.GstBase.Objects.PushSrc.PushSrc' instead, in this situation. If the-element can operate in pull mode but only with specific offsets and-lengths, it is allowed to generate an error when the wrong values are passed-to the 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/create/@() function.--'GI.GstBase.Objects.BaseSrc.BaseSrc' has support for live sources. Live sources are sources that when-paused discard data, such as audio or video capture devices. A typical live-source also produces data at a fixed rate and thus provides a clock to publish-this rate.-Use 'GI.GstBase.Objects.BaseSrc.baseSrcSetLive' to activate the live source mode.--A live source does not produce data in the PAUSED state. This means that the-'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/create/@() method will not be called in PAUSED but only in-PLAYING. To signal the pipeline that the element will not produce data, the-return value from the READY to PAUSED state will be-'GI.Gst.Enums.StateChangeReturnNoPreroll'.--A typical live source will timestamp the buffers it creates with the-current running time of the pipeline. This is one reason why a live source-can only produce data in the PLAYING state, when the clock is actually-distributed and running.--Live sources that synchronize and block on the clock (an audio source, for-example) can use 'GI.GstBase.Objects.BaseSrc.baseSrcWaitPlaying' when the-'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/create/@() function was interrupted by a state change to-PAUSED.--The 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/get_times/@() method can be used to implement pseudo-live-sources. It only makes sense to implement the 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/get_times/@()-function if the source is a live source. The 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/get_times/@()-function should return timestamps starting from 0, as if it were a non-live-source. The base class will make sure that the timestamps are transformed-into the current running_time. The base source will then wait for the-calculated running_time before pushing out the buffer.--For live sources, the base class will by default report a latency of 0.-For pseudo live sources, the base class will by default measure the difference-between the first buffer timestamp and the start time of get_times and will-report this value as the latency.-Subclasses should override the query function when this behaviour is not-acceptable.--There is only support in 'GI.GstBase.Objects.BaseSrc.BaseSrc' for exactly one source pad, which-should be named \"src\". A source implementation (subclass of 'GI.GstBase.Objects.BaseSrc.BaseSrc')-should install a pad template in its class_init function, like so:--=== /C code/->->static void->my_element_class_init (GstMyElementClass *klass)->{->  GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);->  // srctemplate should be a #GstStaticPadTemplate with direction->  // %GST_PAD_SRC and name "src"->  gst_element_class_add_static_pad_template (gstelement_class, &amp;srctemplate);->->  gst_element_class_set_static_metadata (gstelement_class,->     "Source name",->     "Source",->     "My Source element",->     "The author <my.sink@my.email>");->}---== Controlled shutdown of live sources in applications--Applications that record from a live source may want to stop recording-in a controlled way, so that the recording is stopped, but the data-already in the pipeline is processed to the end (remember that many live-sources would go on recording forever otherwise). For that to happen the-application needs to make the source stop recording and send an EOS-event down the pipeline. The application would then wait for an-EOS message posted on the pipeline\'s bus to know when all data has-been processed and the pipeline can safely be stopped.--An application may send an EOS event to a source element to make it-perform the EOS logic (send EOS event downstream or post a-'GI.Gst.Flags.MessageTypeSegmentDone' on the bus). This can typically be done-with the 'GI.Gst.Objects.Element.elementSendEvent' function on the element or its parent bin.--After the EOS has been sent to the element, the application should wait for-an EOS message to be posted on the pipeline\'s bus. Once this EOS message is-received, it may safely shut down the entire pipeline.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.BaseSrc-    ( ---- * Exported types-    BaseSrc(..)                             ,-    IsBaseSrc                               ,-    toBaseSrc                               ,-    noBaseSrc                               ,--- -- * Methods--- ** getAllocator #method:getAllocator#--#if ENABLE_OVERLOADING-    BaseSrcGetAllocatorMethodInfo           ,-#endif-    baseSrcGetAllocator                     ,----- ** getBlocksize #method:getBlocksize#--#if ENABLE_OVERLOADING-    BaseSrcGetBlocksizeMethodInfo           ,-#endif-    baseSrcGetBlocksize                     ,----- ** getBufferPool #method:getBufferPool#--#if ENABLE_OVERLOADING-    BaseSrcGetBufferPoolMethodInfo          ,-#endif-    baseSrcGetBufferPool                    ,----- ** getDoTimestamp #method:getDoTimestamp#--#if ENABLE_OVERLOADING-    BaseSrcGetDoTimestampMethodInfo         ,-#endif-    baseSrcGetDoTimestamp                   ,----- ** isAsync #method:isAsync#--#if ENABLE_OVERLOADING-    BaseSrcIsAsyncMethodInfo                ,-#endif-    baseSrcIsAsync                          ,----- ** isLive #method:isLive#--#if ENABLE_OVERLOADING-    BaseSrcIsLiveMethodInfo                 ,-#endif-    baseSrcIsLive                           ,----- ** newSeamlessSegment #method:newSeamlessSegment#--#if ENABLE_OVERLOADING-    BaseSrcNewSeamlessSegmentMethodInfo     ,-#endif-    baseSrcNewSeamlessSegment               ,----- ** queryLatency #method:queryLatency#--#if ENABLE_OVERLOADING-    BaseSrcQueryLatencyMethodInfo           ,-#endif-    baseSrcQueryLatency                     ,----- ** setAsync #method:setAsync#--#if ENABLE_OVERLOADING-    BaseSrcSetAsyncMethodInfo               ,-#endif-    baseSrcSetAsync                         ,----- ** setAutomaticEos #method:setAutomaticEos#--#if ENABLE_OVERLOADING-    BaseSrcSetAutomaticEosMethodInfo        ,-#endif-    baseSrcSetAutomaticEos                  ,----- ** setBlocksize #method:setBlocksize#--#if ENABLE_OVERLOADING-    BaseSrcSetBlocksizeMethodInfo           ,-#endif-    baseSrcSetBlocksize                     ,----- ** setCaps #method:setCaps#--#if ENABLE_OVERLOADING-    BaseSrcSetCapsMethodInfo                ,-#endif-    baseSrcSetCaps                          ,----- ** setDoTimestamp #method:setDoTimestamp#--#if ENABLE_OVERLOADING-    BaseSrcSetDoTimestampMethodInfo         ,-#endif-    baseSrcSetDoTimestamp                   ,----- ** setDynamicSize #method:setDynamicSize#--#if ENABLE_OVERLOADING-    BaseSrcSetDynamicSizeMethodInfo         ,-#endif-    baseSrcSetDynamicSize                   ,----- ** setFormat #method:setFormat#--#if ENABLE_OVERLOADING-    BaseSrcSetFormatMethodInfo              ,-#endif-    baseSrcSetFormat                        ,----- ** setLive #method:setLive#--#if ENABLE_OVERLOADING-    BaseSrcSetLiveMethodInfo                ,-#endif-    baseSrcSetLive                          ,----- ** startComplete #method:startComplete#--#if ENABLE_OVERLOADING-    BaseSrcStartCompleteMethodInfo          ,-#endif-    baseSrcStartComplete                    ,----- ** startWait #method:startWait#--#if ENABLE_OVERLOADING-    BaseSrcStartWaitMethodInfo              ,-#endif-    baseSrcStartWait                        ,----- ** submitBufferList #method:submitBufferList#--#if ENABLE_OVERLOADING-    BaseSrcSubmitBufferListMethodInfo       ,-#endif-    baseSrcSubmitBufferList                 ,----- ** waitPlaying #method:waitPlaying#--#if ENABLE_OVERLOADING-    BaseSrcWaitPlayingMethodInfo            ,-#endif-    baseSrcWaitPlaying                      ,----- -- * Properties--- ** blocksize #attr:blocksize#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    BaseSrcBlocksizePropertyInfo            ,-#endif-#if ENABLE_OVERLOADING-    baseSrcBlocksize                        ,-#endif-    constructBaseSrcBlocksize               ,-    getBaseSrcBlocksize                     ,-    setBaseSrcBlocksize                     ,----- ** doTimestamp #attr:doTimestamp#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    BaseSrcDoTimestampPropertyInfo          ,-#endif-#if ENABLE_OVERLOADING-    baseSrcDoTimestamp                      ,-#endif-    constructBaseSrcDoTimestamp             ,-    getBaseSrcDoTimestamp                   ,-    setBaseSrcDoTimestamp                   ,----- ** numBuffers #attr:numBuffers#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    BaseSrcNumBuffersPropertyInfo           ,-#endif-#if ENABLE_OVERLOADING-    baseSrcNumBuffers                       ,-#endif-    constructBaseSrcNumBuffers              ,-    getBaseSrcNumBuffers                    ,-    setBaseSrcNumBuffers                    ,----- ** typefind #attr:typefind#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    BaseSrcTypefindPropertyInfo             ,-#endif-#if ENABLE_OVERLOADING-    baseSrcTypefind                         ,-#endif-    constructBaseSrcTypefind                ,-    getBaseSrcTypefind                      ,-    setBaseSrcTypefind                      ,-----    ) 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.Enums as Gst.Enums-import qualified GI.Gst.Objects.Allocator as Gst.Allocator-import qualified GI.Gst.Objects.BufferPool as Gst.BufferPool-import qualified GI.Gst.Objects.Element as Gst.Element-import qualified GI.Gst.Objects.Object as Gst.Object-import qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams-import qualified GI.Gst.Structs.BufferList as Gst.BufferList-import qualified GI.Gst.Structs.Caps as Gst.Caps---- | Memory-managed wrapper type.-newtype BaseSrc = BaseSrc (ManagedPtr BaseSrc)-foreign import ccall "gst_base_src_get_type"-    c_gst_base_src_get_type :: IO GType--instance GObject BaseSrc where-    gobjectType = c_gst_base_src_get_type-    ---- | Type class for types which can be safely cast to `BaseSrc`, for instance with `toBaseSrc`.-class (GObject o, O.IsDescendantOf BaseSrc o) => IsBaseSrc o-instance (GObject o, O.IsDescendantOf BaseSrc o) => IsBaseSrc o--instance O.HasParentTypes BaseSrc-type instance O.ParentTypes BaseSrc = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `BaseSrc`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toBaseSrc :: (MonadIO m, IsBaseSrc o) => o -> m BaseSrc-toBaseSrc = liftIO . unsafeCastTo BaseSrc---- | A convenience alias for `Nothing` :: `Maybe` `BaseSrc`.-noBaseSrc :: Maybe BaseSrc-noBaseSrc = Nothing--#if ENABLE_OVERLOADING-type family ResolveBaseSrcMethod (t :: Symbol) (o :: *) :: * where-    ResolveBaseSrcMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolveBaseSrcMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveBaseSrcMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolveBaseSrcMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolveBaseSrcMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolveBaseSrcMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveBaseSrcMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveBaseSrcMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolveBaseSrcMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolveBaseSrcMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolveBaseSrcMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolveBaseSrcMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveBaseSrcMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveBaseSrcMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolveBaseSrcMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolveBaseSrcMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolveBaseSrcMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveBaseSrcMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveBaseSrcMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveBaseSrcMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveBaseSrcMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveBaseSrcMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveBaseSrcMethod "isAsync" o = BaseSrcIsAsyncMethodInfo-    ResolveBaseSrcMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveBaseSrcMethod "isLive" o = BaseSrcIsLiveMethodInfo-    ResolveBaseSrcMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolveBaseSrcMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolveBaseSrcMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolveBaseSrcMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolveBaseSrcMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolveBaseSrcMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolveBaseSrcMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolveBaseSrcMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolveBaseSrcMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolveBaseSrcMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolveBaseSrcMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolveBaseSrcMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolveBaseSrcMethod "newSeamlessSegment" o = BaseSrcNewSeamlessSegmentMethodInfo-    ResolveBaseSrcMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolveBaseSrcMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveBaseSrcMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveBaseSrcMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolveBaseSrcMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolveBaseSrcMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolveBaseSrcMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolveBaseSrcMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolveBaseSrcMethod "queryLatency" o = BaseSrcQueryLatencyMethodInfo-    ResolveBaseSrcMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolveBaseSrcMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveBaseSrcMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveBaseSrcMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolveBaseSrcMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveBaseSrcMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolveBaseSrcMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolveBaseSrcMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolveBaseSrcMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveBaseSrcMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolveBaseSrcMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolveBaseSrcMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolveBaseSrcMethod "startComplete" o = BaseSrcStartCompleteMethodInfo-    ResolveBaseSrcMethod "startWait" o = BaseSrcStartWaitMethodInfo-    ResolveBaseSrcMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveBaseSrcMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveBaseSrcMethod "submitBufferList" o = BaseSrcSubmitBufferListMethodInfo-    ResolveBaseSrcMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveBaseSrcMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolveBaseSrcMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveBaseSrcMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveBaseSrcMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolveBaseSrcMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolveBaseSrcMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveBaseSrcMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveBaseSrcMethod "waitPlaying" o = BaseSrcWaitPlayingMethodInfo-    ResolveBaseSrcMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveBaseSrcMethod "getAllocator" o = BaseSrcGetAllocatorMethodInfo-    ResolveBaseSrcMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolveBaseSrcMethod "getBlocksize" o = BaseSrcGetBlocksizeMethodInfo-    ResolveBaseSrcMethod "getBufferPool" o = BaseSrcGetBufferPoolMethodInfo-    ResolveBaseSrcMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo-    ResolveBaseSrcMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolveBaseSrcMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolveBaseSrcMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolveBaseSrcMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolveBaseSrcMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolveBaseSrcMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolveBaseSrcMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveBaseSrcMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveBaseSrcMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveBaseSrcMethod "getDoTimestamp" o = BaseSrcGetDoTimestampMethodInfo-    ResolveBaseSrcMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolveBaseSrcMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveBaseSrcMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolveBaseSrcMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveBaseSrcMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolveBaseSrcMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolveBaseSrcMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveBaseSrcMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveBaseSrcMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveBaseSrcMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveBaseSrcMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolveBaseSrcMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolveBaseSrcMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolveBaseSrcMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolveBaseSrcMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveBaseSrcMethod "setAsync" o = BaseSrcSetAsyncMethodInfo-    ResolveBaseSrcMethod "setAutomaticEos" o = BaseSrcSetAutomaticEosMethodInfo-    ResolveBaseSrcMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolveBaseSrcMethod "setBlocksize" o = BaseSrcSetBlocksizeMethodInfo-    ResolveBaseSrcMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolveBaseSrcMethod "setCaps" o = BaseSrcSetCapsMethodInfo-    ResolveBaseSrcMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolveBaseSrcMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolveBaseSrcMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveBaseSrcMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveBaseSrcMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveBaseSrcMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveBaseSrcMethod "setDoTimestamp" o = BaseSrcSetDoTimestampMethodInfo-    ResolveBaseSrcMethod "setDynamicSize" o = BaseSrcSetDynamicSizeMethodInfo-    ResolveBaseSrcMethod "setFormat" o = BaseSrcSetFormatMethodInfo-    ResolveBaseSrcMethod "setLive" o = BaseSrcSetLiveMethodInfo-    ResolveBaseSrcMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolveBaseSrcMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveBaseSrcMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveBaseSrcMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveBaseSrcMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolveBaseSrcMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolveBaseSrcMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBaseSrcMethod t BaseSrc, O.MethodInfo info BaseSrc p) => OL.IsLabel t (BaseSrc -> 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 "blocksize"-   -- Type: TBasicType TUInt-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@blocksize@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSrc #blocksize-@--}-getBaseSrcBlocksize :: (MonadIO m, IsBaseSrc o) => o -> m Word32-getBaseSrcBlocksize obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "blocksize"--{- |-Set the value of the “@blocksize@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSrc [ #blocksize 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSrcBlocksize :: (MonadIO m, IsBaseSrc o) => o -> Word32 -> m ()-setBaseSrcBlocksize obj val = liftIO $ B.Properties.setObjectPropertyUInt32 obj "blocksize" val--{- |-Construct a `GValueConstruct` with valid value for the “@blocksize@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSrcBlocksize :: (IsBaseSrc o) => Word32 -> IO (GValueConstruct o)-constructBaseSrcBlocksize val = B.Properties.constructObjectPropertyUInt32 "blocksize" val--#if ENABLE_OVERLOADING-data BaseSrcBlocksizePropertyInfo-instance AttrInfo BaseSrcBlocksizePropertyInfo where-    type AttrAllowedOps BaseSrcBlocksizePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSrcBlocksizePropertyInfo = (~) Word32-    type AttrBaseTypeConstraint BaseSrcBlocksizePropertyInfo = IsBaseSrc-    type AttrGetType BaseSrcBlocksizePropertyInfo = Word32-    type AttrLabel BaseSrcBlocksizePropertyInfo = "blocksize"-    type AttrOrigin BaseSrcBlocksizePropertyInfo = BaseSrc-    attrGet _ = getBaseSrcBlocksize-    attrSet _ = setBaseSrcBlocksize-    attrConstruct _ = constructBaseSrcBlocksize-    attrClear _ = undefined-#endif---- VVV Prop "do-timestamp"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Just False,Just False)--{- |-Get the value of the “@do-timestamp@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSrc #doTimestamp-@--}-getBaseSrcDoTimestamp :: (MonadIO m, IsBaseSrc o) => o -> m Bool-getBaseSrcDoTimestamp obj = liftIO $ B.Properties.getObjectPropertyBool obj "do-timestamp"--{- |-Set the value of the “@do-timestamp@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSrc [ #doTimestamp 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSrcDoTimestamp :: (MonadIO m, IsBaseSrc o) => o -> Bool -> m ()-setBaseSrcDoTimestamp obj val = liftIO $ B.Properties.setObjectPropertyBool obj "do-timestamp" val--{- |-Construct a `GValueConstruct` with valid value for the “@do-timestamp@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSrcDoTimestamp :: (IsBaseSrc o) => Bool -> IO (GValueConstruct o)-constructBaseSrcDoTimestamp val = B.Properties.constructObjectPropertyBool "do-timestamp" val--#if ENABLE_OVERLOADING-data BaseSrcDoTimestampPropertyInfo-instance AttrInfo BaseSrcDoTimestampPropertyInfo where-    type AttrAllowedOps BaseSrcDoTimestampPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSrcDoTimestampPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BaseSrcDoTimestampPropertyInfo = IsBaseSrc-    type AttrGetType BaseSrcDoTimestampPropertyInfo = Bool-    type AttrLabel BaseSrcDoTimestampPropertyInfo = "do-timestamp"-    type AttrOrigin BaseSrcDoTimestampPropertyInfo = BaseSrc-    attrGet _ = getBaseSrcDoTimestamp-    attrSet _ = setBaseSrcDoTimestamp-    attrConstruct _ = constructBaseSrcDoTimestamp-    attrClear _ = undefined-#endif---- VVV Prop "num-buffers"-   -- Type: TBasicType TInt-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@num-buffers@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSrc #numBuffers-@--}-getBaseSrcNumBuffers :: (MonadIO m, IsBaseSrc o) => o -> m Int32-getBaseSrcNumBuffers obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "num-buffers"--{- |-Set the value of the “@num-buffers@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSrc [ #numBuffers 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSrcNumBuffers :: (MonadIO m, IsBaseSrc o) => o -> Int32 -> m ()-setBaseSrcNumBuffers obj val = liftIO $ B.Properties.setObjectPropertyInt32 obj "num-buffers" val--{- |-Construct a `GValueConstruct` with valid value for the “@num-buffers@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSrcNumBuffers :: (IsBaseSrc o) => Int32 -> IO (GValueConstruct o)-constructBaseSrcNumBuffers val = B.Properties.constructObjectPropertyInt32 "num-buffers" val--#if ENABLE_OVERLOADING-data BaseSrcNumBuffersPropertyInfo-instance AttrInfo BaseSrcNumBuffersPropertyInfo where-    type AttrAllowedOps BaseSrcNumBuffersPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSrcNumBuffersPropertyInfo = (~) Int32-    type AttrBaseTypeConstraint BaseSrcNumBuffersPropertyInfo = IsBaseSrc-    type AttrGetType BaseSrcNumBuffersPropertyInfo = Int32-    type AttrLabel BaseSrcNumBuffersPropertyInfo = "num-buffers"-    type AttrOrigin BaseSrcNumBuffersPropertyInfo = BaseSrc-    attrGet _ = getBaseSrcNumBuffers-    attrSet _ = setBaseSrcNumBuffers-    attrConstruct _ = constructBaseSrcNumBuffers-    attrClear _ = undefined-#endif---- VVV Prop "typefind"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@typefind@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseSrc #typefind-@--}-getBaseSrcTypefind :: (MonadIO m, IsBaseSrc o) => o -> m Bool-getBaseSrcTypefind obj = liftIO $ B.Properties.getObjectPropertyBool obj "typefind"--{- |-Set the value of the “@typefind@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseSrc [ #typefind 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseSrcTypefind :: (MonadIO m, IsBaseSrc o) => o -> Bool -> m ()-setBaseSrcTypefind obj val = liftIO $ B.Properties.setObjectPropertyBool obj "typefind" val--{- |-Construct a `GValueConstruct` with valid value for the “@typefind@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseSrcTypefind :: (IsBaseSrc o) => Bool -> IO (GValueConstruct o)-constructBaseSrcTypefind val = B.Properties.constructObjectPropertyBool "typefind" val--#if ENABLE_OVERLOADING-data BaseSrcTypefindPropertyInfo-instance AttrInfo BaseSrcTypefindPropertyInfo where-    type AttrAllowedOps BaseSrcTypefindPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseSrcTypefindPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BaseSrcTypefindPropertyInfo = IsBaseSrc-    type AttrGetType BaseSrcTypefindPropertyInfo = Bool-    type AttrLabel BaseSrcTypefindPropertyInfo = "typefind"-    type AttrOrigin BaseSrcTypefindPropertyInfo = BaseSrc-    attrGet _ = getBaseSrcTypefind-    attrSet _ = setBaseSrcTypefind-    attrConstruct _ = constructBaseSrcTypefind-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList BaseSrc-type instance O.AttributeList BaseSrc = BaseSrcAttributeList-type BaseSrcAttributeList = ('[ '("blocksize", BaseSrcBlocksizePropertyInfo), '("doTimestamp", BaseSrcDoTimestampPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("numBuffers", BaseSrcNumBuffersPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("typefind", BaseSrcTypefindPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-baseSrcBlocksize :: AttrLabelProxy "blocksize"-baseSrcBlocksize = AttrLabelProxy--baseSrcDoTimestamp :: AttrLabelProxy "doTimestamp"-baseSrcDoTimestamp = AttrLabelProxy--baseSrcNumBuffers :: AttrLabelProxy "numBuffers"-baseSrcNumBuffers = AttrLabelProxy--baseSrcTypefind :: AttrLabelProxy "typefind"-baseSrcTypefind = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList BaseSrc = BaseSrcSignalList-type BaseSrcSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif---- method BaseSrc::get_allocator--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSrc", 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 "the #GstAllocator\nused", 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 "the\n#GstAllocationParams of @allocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_get_allocator" gst_base_src_get_allocator :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    Ptr (Ptr Gst.Allocator.Allocator) ->    -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO ()--{- |-Lets 'GI.GstBase.Objects.BaseSrc.BaseSrc' sub-classes to know the memory /@allocator@/-used by the base class and its /@params@/.--Unref the /@allocator@/ after usage.--}-baseSrcGetAllocator ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: a 'GI.GstBase.Objects.BaseSrc.BaseSrc' -}-    -> m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))-baseSrcGetAllocator src = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    allocator <- allocMem :: IO (Ptr (Ptr Gst.Allocator.Allocator))-    params <- callocBoxedBytes 64 :: IO (Ptr Gst.AllocationParams.AllocationParams)-    gst_base_src_get_allocator src' allocator params-    allocator' <- peek allocator-    allocator'' <- (wrapObject Gst.Allocator.Allocator) allocator'-    params' <- (wrapBoxed Gst.AllocationParams.AllocationParams) params-    touchManagedPtr src-    freeMem allocator-    return (allocator'', params')--#if ENABLE_OVERLOADING-data BaseSrcGetAllocatorMethodInfo-instance (signature ~ (m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcGetAllocatorMethodInfo a signature where-    overloadedMethod _ = baseSrcGetAllocator--#endif---- method BaseSrc::get_blocksize--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source", 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_base_src_get_blocksize" gst_base_src_get_blocksize :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    IO Word32--{- |-Get the number of bytes that /@src@/ will push out with each buffer.--}-baseSrcGetBlocksize ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: the source -}-    -> m Word32-    {- ^ __Returns:__ the number of bytes pushed with each buffer. -}-baseSrcGetBlocksize src = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    result <- gst_base_src_get_blocksize src'-    touchManagedPtr src-    return result--#if ENABLE_OVERLOADING-data BaseSrcGetBlocksizeMethodInfo-instance (signature ~ (m Word32), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcGetBlocksizeMethodInfo a signature where-    overloadedMethod _ = baseSrcGetBlocksize--#endif---- method BaseSrc::get_buffer_pool--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSrc", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferPool"}))--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_get_buffer_pool" gst_base_src_get_buffer_pool :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    IO (Ptr Gst.BufferPool.BufferPool)--{- |-/No description available in the introspection data./--}-baseSrcGetBufferPool ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: a 'GI.GstBase.Objects.BaseSrc.BaseSrc' -}-    -> m Gst.BufferPool.BufferPool-    {- ^ __Returns:__ the instance of the 'GI.Gst.Objects.BufferPool.BufferPool' used-by the src; unref it after usage. -}-baseSrcGetBufferPool src = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    result <- gst_base_src_get_buffer_pool src'-    checkUnexpectedReturnNULL "baseSrcGetBufferPool" result-    result' <- (wrapObject Gst.BufferPool.BufferPool) result-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-data BaseSrcGetBufferPoolMethodInfo-instance (signature ~ (m Gst.BufferPool.BufferPool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcGetBufferPoolMethodInfo a signature where-    overloadedMethod _ = baseSrcGetBufferPool--#endif---- method BaseSrc::get_do_timestamp--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source", sinceVersion = 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_base_src_get_do_timestamp" gst_base_src_get_do_timestamp :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    IO CInt--{- |-Query if /@src@/ timestamps outgoing buffers based on the current running_time.--}-baseSrcGetDoTimestamp ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: the source -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the base class will automatically timestamp outgoing buffers. -}-baseSrcGetDoTimestamp src = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    result <- gst_base_src_get_do_timestamp src'-    let result' = (/= 0) result-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-data BaseSrcGetDoTimestampMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcGetDoTimestampMethodInfo a signature where-    overloadedMethod _ = baseSrcGetDoTimestamp--#endif---- method BaseSrc::is_async--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base source instance", sinceVersion = 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_base_src_is_async" gst_base_src_is_async :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    IO CInt--{- |-Get the current async behaviour of /@src@/. See also 'GI.GstBase.Objects.BaseSrc.baseSrcSetAsync'.--}-baseSrcIsAsync ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: base source instance -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@src@/ is operating in async mode. -}-baseSrcIsAsync src = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    result <- gst_base_src_is_async src'-    let result' = (/= 0) result-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-data BaseSrcIsAsyncMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcIsAsyncMethodInfo a signature where-    overloadedMethod _ = baseSrcIsAsync--#endif---- method BaseSrc::is_live--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base source instance", sinceVersion = 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_base_src_is_live" gst_base_src_is_live :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    IO CInt--{- |-Check if an element is in live mode.--}-baseSrcIsLive ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: base source instance -}-    -> m Bool-    {- ^ __Returns:__ 'True' if element is in live mode. -}-baseSrcIsLive src = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    result <- gst_base_src_is_live src'-    let result' = (/= 0) result-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-data BaseSrcIsLiveMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcIsLiveMethodInfo a signature where-    overloadedMethod _ = baseSrcIsLive--#endif---- method BaseSrc::new_seamless_segment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The source", 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 new start value for the segment", 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 for the new segment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new time value for the start of the new 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_base_src_new_seamless_segment" gst_base_src_new_seamless_segment :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    Int64 ->                                -- start : TBasicType TInt64-    Int64 ->                                -- stop : TBasicType TInt64-    Int64 ->                                -- time : TBasicType TInt64-    IO CInt--{- |-Prepare a new seamless segment for emission downstream. This function must-only be called by derived sub-classes, and only from the @/create()/@ function,-as the stream-lock needs to be held.--The format for the new segment will be the current format of the source, as-configured with 'GI.GstBase.Objects.BaseSrc.baseSrcSetFormat'--}-baseSrcNewSeamlessSegment ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: The source -}-    -> Int64-    {- ^ /@start@/: The new start value for the segment -}-    -> Int64-    {- ^ /@stop@/: Stop value for the new segment -}-    -> Int64-    {- ^ /@time@/: The new time value for the start of the new segment -}-    -> m Bool-    {- ^ __Returns:__ 'True' if preparation of the seamless segment succeeded. -}-baseSrcNewSeamlessSegment src start stop time = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    result <- gst_base_src_new_seamless_segment src' start stop time-    let result' = (/= 0) result-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-data BaseSrcNewSeamlessSegmentMethodInfo-instance (signature ~ (Int64 -> Int64 -> Int64 -> m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcNewSeamlessSegmentMethodInfo a signature where-    overloadedMethod _ = baseSrcNewSeamlessSegment--#endif---- method BaseSrc::query_latency--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source", 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 source is live", 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 min latency of the source", 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 max latency of the source", 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_base_src_query_latency" gst_base_src_query_latency :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    Ptr CInt ->                             -- live : TBasicType TBoolean-    Ptr Word64 ->                           -- min_latency : TBasicType TUInt64-    Ptr Word64 ->                           -- max_latency : TBasicType TUInt64-    IO CInt--{- |-Query the source for the latency parameters. /@live@/ will be 'True' when /@src@/ is-configured as a live source. /@minLatency@/ and /@maxLatency@/ will be set-to the difference between the running time and the timestamp of the first-buffer.--This function is mostly used by subclasses.--}-baseSrcQueryLatency ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: the source -}-    -> m ((Bool, Bool, Word64, Word64))-    {- ^ __Returns:__ 'True' if the query succeeded. -}-baseSrcQueryLatency src = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    live <- allocMem :: IO (Ptr CInt)-    minLatency <- allocMem :: IO (Ptr Word64)-    maxLatency <- allocMem :: IO (Ptr Word64)-    result <- gst_base_src_query_latency src' live minLatency maxLatency-    let result' = (/= 0) result-    live' <- peek live-    let live'' = (/= 0) live'-    minLatency' <- peek minLatency-    maxLatency' <- peek maxLatency-    touchManagedPtr src-    freeMem live-    freeMem minLatency-    freeMem maxLatency-    return (result', live'', minLatency', maxLatency')--#if ENABLE_OVERLOADING-data BaseSrcQueryLatencyMethodInfo-instance (signature ~ (m ((Bool, Bool, Word64, Word64))), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcQueryLatencyMethodInfo a signature where-    overloadedMethod _ = baseSrcQueryLatency--#endif---- method BaseSrc::set_async--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base source instance", 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 "new async mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_set_async" gst_base_src_set_async :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    CInt ->                                 -- async : TBasicType TBoolean-    IO ()--{- |-Configure async behaviour in /@src@/, no state change will block. The open,-close, start, stop, play and pause virtual methods will be executed in a-different thread and are thus allowed to perform blocking operations. Any-blocking operation should be unblocked with the unlock vmethod.--}-baseSrcSetAsync ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: base source instance -}-    -> Bool-    {- ^ /@async@/: new async mode -}-    -> m ()-baseSrcSetAsync src async = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let async' = (fromIntegral . fromEnum) async-    gst_base_src_set_async src' async'-    touchManagedPtr src-    return ()--#if ENABLE_OVERLOADING-data BaseSrcSetAsyncMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetAsyncMethodInfo a signature where-    overloadedMethod _ = baseSrcSetAsync--#endif---- method BaseSrc::set_automatic_eos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base source instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "automatic_eos", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "automatic eos", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_set_automatic_eos" gst_base_src_set_automatic_eos :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    CInt ->                                 -- automatic_eos : TBasicType TBoolean-    IO ()--{- |-If /@automaticEos@/ is 'True', /@src@/ will automatically go EOS if a buffer-after the total size is returned. By default this is 'True' but sources-that can\'t return an authoritative size and only know that they\'re EOS-when trying to read more should set this to 'False'.--When /@src@/ operates in 'GI.Gst.Enums.FormatTime', 'GI.GstBase.Objects.BaseSrc.BaseSrc' will send an EOS-when a buffer outside of the currently configured segment is pushed if-/@automaticEos@/ is 'True'. Since 1.16, if /@automaticEos@/ is 'False' an-EOS will be pushed only when the 'GI.GstBase.Objects.BaseSrc.BaseSrc'.@/create/@ implementation-returns 'GI.Gst.Enums.FlowReturnEos'.--/Since: 1.4/--}-baseSrcSetAutomaticEos ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: base source instance -}-    -> Bool-    {- ^ /@automaticEos@/: automatic eos -}-    -> m ()-baseSrcSetAutomaticEos src automaticEos = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let automaticEos' = (fromIntegral . fromEnum) automaticEos-    gst_base_src_set_automatic_eos src' automaticEos'-    touchManagedPtr src-    return ()--#if ENABLE_OVERLOADING-data BaseSrcSetAutomaticEosMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetAutomaticEosMethodInfo a signature where-    overloadedMethod _ = baseSrcSetAutomaticEos--#endif---- method BaseSrc::set_blocksize--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "blocksize", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new blocksize in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_set_blocksize" gst_base_src_set_blocksize :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    Word32 ->                               -- blocksize : TBasicType TUInt-    IO ()--{- |-Set the number of bytes that /@src@/ will push out with each buffer. When-/@blocksize@/ is set to -1, a default length will be used.--}-baseSrcSetBlocksize ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: the source -}-    -> Word32-    {- ^ /@blocksize@/: the new blocksize in bytes -}-    -> m ()-baseSrcSetBlocksize src blocksize = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    gst_base_src_set_blocksize src' blocksize-    touchManagedPtr src-    return ()--#if ENABLE_OVERLOADING-data BaseSrcSetBlocksizeMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetBlocksizeMethodInfo a signature where-    overloadedMethod _ = baseSrcSetBlocksize--#endif---- method BaseSrc::set_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSrc", 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 : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_set_caps" gst_base_src_set_caps :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    Ptr Gst.Caps.Caps ->                    -- caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Set new caps on the basesrc source pad.--}-baseSrcSetCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: a 'GI.GstBase.Objects.BaseSrc.BaseSrc' -}-    -> Gst.Caps.Caps-    {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the caps could be set -}-baseSrcSetCaps src caps = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    caps' <- unsafeManagedPtrGetPtr caps-    result <- gst_base_src_set_caps src' caps'-    let result' = (/= 0) result-    touchManagedPtr src-    touchManagedPtr caps-    return result'--#if ENABLE_OVERLOADING-data BaseSrcSetCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetCapsMethodInfo a signature where-    overloadedMethod _ = baseSrcSetCaps--#endif---- method BaseSrc::set_do_timestamp--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timestamp", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "enable or disable timestamping", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_set_do_timestamp" gst_base_src_set_do_timestamp :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    CInt ->                                 -- timestamp : TBasicType TBoolean-    IO ()--{- |-Configure /@src@/ to automatically timestamp outgoing buffers based on the-current running_time of the pipeline. This property is mostly useful for live-sources.--}-baseSrcSetDoTimestamp ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: the source -}-    -> Bool-    {- ^ /@timestamp@/: enable or disable timestamping -}-    -> m ()-baseSrcSetDoTimestamp src timestamp = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let timestamp' = (fromIntegral . fromEnum) timestamp-    gst_base_src_set_do_timestamp src' timestamp'-    touchManagedPtr src-    return ()--#if ENABLE_OVERLOADING-data BaseSrcSetDoTimestampMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetDoTimestampMethodInfo a signature where-    overloadedMethod _ = baseSrcSetDoTimestamp--#endif---- method BaseSrc::set_dynamic_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base source instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dynamic", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new dynamic size mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_set_dynamic_size" gst_base_src_set_dynamic_size :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    CInt ->                                 -- dynamic : TBasicType TBoolean-    IO ()--{- |-If not /@dynamic@/, size is only updated when needed, such as when trying to-read past current tracked size.  Otherwise, size is checked for upon each-read.--}-baseSrcSetDynamicSize ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: base source instance -}-    -> Bool-    {- ^ /@dynamic@/: new dynamic size mode -}-    -> m ()-baseSrcSetDynamicSize src dynamic = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let dynamic' = (fromIntegral . fromEnum) dynamic-    gst_base_src_set_dynamic_size src' dynamic'-    touchManagedPtr src-    return ()--#if ENABLE_OVERLOADING-data BaseSrcSetDynamicSizeMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetDynamicSizeMethodInfo a signature where-    overloadedMethod _ = baseSrcSetDynamicSize--#endif---- method BaseSrc::set_format--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base source instance", 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 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_base_src_set_format" gst_base_src_set_format :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    CUInt ->                                -- format : TInterface (Name {namespace = "Gst", name = "Format"})-    IO ()--{- |-Sets the default format of the source. This will be the format used-for sending SEGMENT events and for performing seeks.--If a format of GST_FORMAT_BYTES is set, the element will be able to-operate in pull mode if the 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/is_seekable/@() returns 'True'.--This function must only be called in states \< 'GI.Gst.Enums.StatePaused'.--}-baseSrcSetFormat ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: base source instance -}-    -> Gst.Enums.Format-    {- ^ /@format@/: the format to use -}-    -> m ()-baseSrcSetFormat src format = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let format' = (fromIntegral . fromEnum) format-    gst_base_src_set_format src' format'-    touchManagedPtr src-    return ()--#if ENABLE_OVERLOADING-data BaseSrcSetFormatMethodInfo-instance (signature ~ (Gst.Enums.Format -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetFormatMethodInfo a signature where-    overloadedMethod _ = baseSrcSetFormat--#endif---- method BaseSrc::set_live--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base source instance", 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 "new live-mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_set_live" gst_base_src_set_live :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    CInt ->                                 -- live : TBasicType TBoolean-    IO ()--{- |-If the element listens to a live source, /@live@/ should-be set to 'True'.--A live source will not produce data in the PAUSED state and-will therefore not be able to participate in the PREROLL phase-of a pipeline. To signal this fact to the application and the-pipeline, the state change return value of the live source will-be GST_STATE_CHANGE_NO_PREROLL.--}-baseSrcSetLive ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: base source instance -}-    -> Bool-    {- ^ /@live@/: new live-mode -}-    -> m ()-baseSrcSetLive src live = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    let live' = (fromIntegral . fromEnum) live-    gst_base_src_set_live src' live'-    touchManagedPtr src-    return ()--#if ENABLE_OVERLOADING-data BaseSrcSetLiveMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSetLiveMethodInfo a signature where-    overloadedMethod _ = baseSrcSetLive--#endif---- method BaseSrc::start_complete--- method type : OrdinaryMethod--- Args : [Arg {argCName = "basesrc", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base source instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ret", argType = TInterface (Name {namespace = "Gst", name = "FlowReturn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstFlowReturn", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_start_complete" gst_base_src_start_complete :: -    Ptr BaseSrc ->                          -- basesrc : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    CInt ->                                 -- ret : TInterface (Name {namespace = "Gst", name = "FlowReturn"})-    IO ()--{- |-Complete an asynchronous start operation. When the subclass overrides the-start method, it should call 'GI.GstBase.Objects.BaseSrc.baseSrcStartComplete' when the start-operation completes either from the same thread or from an asynchronous-helper thread.--}-baseSrcStartComplete ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@basesrc@/: base source instance -}-    -> Gst.Enums.FlowReturn-    {- ^ /@ret@/: a 'GI.Gst.Enums.FlowReturn' -}-    -> m ()-baseSrcStartComplete basesrc ret = liftIO $ do-    basesrc' <- unsafeManagedPtrCastPtr basesrc-    let ret' = (fromIntegral . fromEnum) ret-    gst_base_src_start_complete basesrc' ret'-    touchManagedPtr basesrc-    return ()--#if ENABLE_OVERLOADING-data BaseSrcStartCompleteMethodInfo-instance (signature ~ (Gst.Enums.FlowReturn -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcStartCompleteMethodInfo a signature where-    overloadedMethod _ = baseSrcStartComplete--#endif---- method BaseSrc::start_wait--- method type : OrdinaryMethod--- Args : [Arg {argCName = "basesrc", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base source instance", 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_base_src_start_wait" gst_base_src_start_wait :: -    Ptr BaseSrc ->                          -- basesrc : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    IO CInt--{- |-Wait until the start operation completes.--}-baseSrcStartWait ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@basesrc@/: base source instance -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ a 'GI.Gst.Enums.FlowReturn'. -}-baseSrcStartWait basesrc = liftIO $ do-    basesrc' <- unsafeManagedPtrCastPtr basesrc-    result <- gst_base_src_start_wait basesrc'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr basesrc-    return result'--#if ENABLE_OVERLOADING-data BaseSrcStartWaitMethodInfo-instance (signature ~ (m Gst.Enums.FlowReturn), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcStartWaitMethodInfo a signature where-    overloadedMethod _ = baseSrcStartWait--#endif---- method BaseSrc::submit_buffer_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseSrc", 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 = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_src_submit_buffer_list" gst_base_src_submit_buffer_list :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    Ptr Gst.BufferList.BufferList ->        -- buffer_list : TInterface (Name {namespace = "Gst", name = "BufferList"})-    IO ()--{- |-Subclasses can call this from their create virtual method implementation-to submit a buffer list to be pushed out later. This is useful in-cases where the create function wants to produce multiple buffers to be-pushed out in one go in form of a 'GI.Gst.Structs.BufferList.BufferList', which can reduce overhead-drastically, especially for packetised inputs (for data streams where-the packetisation\/chunking is not important it is usually more efficient-to return larger buffers instead).--Subclasses that use this function from their create function must return-'GI.Gst.Enums.FlowReturnOk' and no buffer from their create virtual method implementation.-If a buffer is returned after a buffer list has also been submitted via this-function the behaviour is undefined.--Subclasses must only call this function once per create function call and-subclasses must only call this function when the source operates in push-mode.--/Since: 1.14/--}-baseSrcSubmitBufferList ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: a 'GI.GstBase.Objects.BaseSrc.BaseSrc' -}-    -> Gst.BufferList.BufferList-    {- ^ /@bufferList@/: a 'GI.Gst.Structs.BufferList.BufferList' -}-    -> m ()-baseSrcSubmitBufferList src bufferList = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    bufferList' <- B.ManagedPtr.disownBoxed bufferList-    gst_base_src_submit_buffer_list src' bufferList'-    touchManagedPtr src-    touchManagedPtr bufferList-    return ()--#if ENABLE_OVERLOADING-data BaseSrcSubmitBufferListMethodInfo-instance (signature ~ (Gst.BufferList.BufferList -> m ()), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcSubmitBufferListMethodInfo a signature where-    overloadedMethod _ = baseSrcSubmitBufferList--#endif---- method BaseSrc::wait_playing--- method type : OrdinaryMethod--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GstBase", name = "BaseSrc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the src", 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_base_src_wait_playing" gst_base_src_wait_playing :: -    Ptr BaseSrc ->                          -- src : TInterface (Name {namespace = "GstBase", name = "BaseSrc"})-    IO CInt--{- |-If the 'GI.GstBase.Structs.BaseSrcClass.BaseSrcClass'.@/create/@() method performs its own synchronisation-against the clock it must unblock when going from PLAYING to the PAUSED state-and call this method before continuing to produce the remaining data.--This function will block until a state change to PLAYING happens (in which-case this function returns 'GI.Gst.Enums.FlowReturnOk') or the processing must be stopped due-to a state change to READY or a FLUSH event (in which case this function-returns 'GI.Gst.Enums.FlowReturnFlushing').--}-baseSrcWaitPlaying ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseSrc a) =>-    a-    {- ^ /@src@/: the src -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ 'GI.Gst.Enums.FlowReturnOk' if /@src@/ is PLAYING and processing can-continue. Any other return value should be returned from the create vmethod. -}-baseSrcWaitPlaying src = liftIO $ do-    src' <- unsafeManagedPtrCastPtr src-    result <- gst_base_src_wait_playing src'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr src-    return result'--#if ENABLE_OVERLOADING-data BaseSrcWaitPlayingMethodInfo-instance (signature ~ (m Gst.Enums.FlowReturn), MonadIO m, IsBaseSrc a) => O.MethodInfo BaseSrcWaitPlayingMethodInfo a signature where-    overloadedMethod _ = baseSrcWaitPlaying--#endif--
− GI/GstBase/Objects/BaseSrc.hs-boot
@@ -1,101 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.BaseSrc 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 BaseSrc = BaseSrc (ManagedPtr BaseSrc)-instance GObject BaseSrc where-class (GObject o, O.IsDescendantOf BaseSrc o) => IsBaseSrc o-instance (GObject o, O.IsDescendantOf BaseSrc o) => IsBaseSrc o-instance O.HasParentTypes BaseSrc-#if ENABLE_OVERLOADING-data BaseSrcBlocksizePropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcDoTimestampPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcNumBuffersPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcTypefindPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcGetAllocatorMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcGetBlocksizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcGetBufferPoolMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcGetDoTimestampMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcIsAsyncMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcIsLiveMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcNewSeamlessSegmentMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcQueryLatencyMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcSetAsyncMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcSetAutomaticEosMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcSetBlocksizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcSetCapsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcSetDoTimestampMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcSetDynamicSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcSetFormatMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcSetLiveMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcStartCompleteMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcStartWaitMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcSubmitBufferListMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseSrcWaitPlayingMethodInfo-#endif
− GI/GstBase/Objects/BaseTransform.hs
@@ -1,1088 +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 base class is for filter elements that process data. Elements-that are suitable for implementation using 'GI.GstBase.Objects.BaseTransform.BaseTransform' are ones-where the size and caps of the output is known entirely from the input-caps and buffer sizes. These include elements that directly transform-one buffer into another, modify the contents of a buffer in-place, as-well as elements that collate multiple input buffers into one output buffer,-or that expand one input buffer into multiple output buffers. See below-for more concrete use cases.--It provides for:--* one sinkpad and one srcpad-* Possible formats on sink and source pad implemented-  with custom transform_caps function. By default uses-  same format on sink and source.--* Handles state changes-* Does flushing-* Push mode-* Pull mode if the sub-class transform can operate on arbitrary data--= Use Cases--== Passthrough mode--  * Element has no interest in modifying the buffer. It may want to inspect it,-    in which case the element should have a transform_ip function. If there-    is no transform_ip function in passthrough mode, the buffer is pushed-    intact.--  * The 'GI.GstBase.Structs.BaseTransformClass.BaseTransformClass'.@/passthrough_on_same_caps/@ variable-    will automatically set\/unset passthrough based on whether the-    element negotiates the same caps on both pads.--  * 'GI.GstBase.Structs.BaseTransformClass.BaseTransformClass'.@/passthrough_on_same_caps/@ on an element that-    doesn\'t implement a transform_caps function is useful for elements that-    only inspect data (such as level)--  * Example elements--    * Level-    * Videoscale, audioconvert, videoconvert, audioresample in certain modes.--== Modifications in-place - input buffer and output buffer are the same thing.--* The element must implement a transform_ip function.-* Output buffer size must \<= input buffer size-* If the always_in_place flag is set, non-writable buffers will be copied-  and passed to the transform_ip function, otherwise a new buffer will be-  created and the transform function called.--* Incoming writable buffers will be passed to the transform_ip function-  immediately.-* only implementing transform_ip and not transform implies always_in_place = 'True'--  * Example elements:-    * Volume-    * Audioconvert in certain modes (signed\/unsigned conversion)-    * videoconvert in certain modes (endianness swapping)--== Modifications only to the caps\/metadata of a buffer--* The element does not require writable data, but non-writable buffers-  should be subbuffered so that the meta-information can be replaced.--* Elements wishing to operate in this mode should replace the-  prepare_output_buffer method to create subbuffers of the input buffer-  and set always_in_place to 'True'--* Example elements-  * Capsfilter when setting caps on outgoing buffers that have-    none.-  * identity when it is going to re-timestamp buffers by-    datarate.--== Normal mode-  * always_in_place flag is not set, or there is no transform_ip function-  * Element will receive an input buffer and output buffer to operate on.-  * Output buffer is allocated by calling the prepare_output_buffer function.-  * Example elements:-    * Videoscale, videoconvert, audioconvert when doing-    scaling\/conversions--== Special output buffer allocations-  * Elements which need to do special allocation of their output buffers-    beyond allocating output buffers via the negotiated allocator or-    buffer pool should implement the prepare_output_buffer method.--  * Example elements:-    * efence--= Sub-class settable flags on GstBaseTransform--* passthrough--  * Implies that in the current configuration, the sub-class is not interested in modifying the buffers.-  * Elements which are always in passthrough mode whenever the same caps has been negotiated on both pads can set the class variable passthrough_on_same_caps to have this behaviour automatically.--* always_in_place-  * Determines whether a non-writable buffer will be copied before passing-    to the transform_ip function.--  * Implied 'True' if no transform function is implemented.-  * Implied 'False' if ONLY transform function is implemented.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.BaseTransform-    ( ---- * Exported types-    BaseTransform(..)                       ,-    IsBaseTransform                         ,-    toBaseTransform                         ,-    noBaseTransform                         ,--- -- * Methods--- ** getAllocator #method:getAllocator#--#if ENABLE_OVERLOADING-    BaseTransformGetAllocatorMethodInfo     ,-#endif-    baseTransformGetAllocator               ,----- ** getBufferPool #method:getBufferPool#--#if ENABLE_OVERLOADING-    BaseTransformGetBufferPoolMethodInfo    ,-#endif-    baseTransformGetBufferPool              ,----- ** isInPlace #method:isInPlace#--#if ENABLE_OVERLOADING-    BaseTransformIsInPlaceMethodInfo        ,-#endif-    baseTransformIsInPlace                  ,----- ** isPassthrough #method:isPassthrough#--#if ENABLE_OVERLOADING-    BaseTransformIsPassthroughMethodInfo    ,-#endif-    baseTransformIsPassthrough              ,----- ** isQosEnabled #method:isQosEnabled#--#if ENABLE_OVERLOADING-    BaseTransformIsQosEnabledMethodInfo     ,-#endif-    baseTransformIsQosEnabled               ,----- ** reconfigureSink #method:reconfigureSink#--#if ENABLE_OVERLOADING-    BaseTransformReconfigureSinkMethodInfo  ,-#endif-    baseTransformReconfigureSink            ,----- ** reconfigureSrc #method:reconfigureSrc#--#if ENABLE_OVERLOADING-    BaseTransformReconfigureSrcMethodInfo   ,-#endif-    baseTransformReconfigureSrc             ,----- ** setGapAware #method:setGapAware#--#if ENABLE_OVERLOADING-    BaseTransformSetGapAwareMethodInfo      ,-#endif-    baseTransformSetGapAware                ,----- ** setInPlace #method:setInPlace#--#if ENABLE_OVERLOADING-    BaseTransformSetInPlaceMethodInfo       ,-#endif-    baseTransformSetInPlace                 ,----- ** setPassthrough #method:setPassthrough#--#if ENABLE_OVERLOADING-    BaseTransformSetPassthroughMethodInfo   ,-#endif-    baseTransformSetPassthrough             ,----- ** setPreferPassthrough #method:setPreferPassthrough#--#if ENABLE_OVERLOADING-    BaseTransformSetPreferPassthroughMethodInfo,-#endif-    baseTransformSetPreferPassthrough       ,----- ** setQosEnabled #method:setQosEnabled#--#if ENABLE_OVERLOADING-    BaseTransformSetQosEnabledMethodInfo    ,-#endif-    baseTransformSetQosEnabled              ,----- ** updateQos #method:updateQos#--#if ENABLE_OVERLOADING-    BaseTransformUpdateQosMethodInfo        ,-#endif-    baseTransformUpdateQos                  ,----- ** updateSrcCaps #method:updateSrcCaps#--#if ENABLE_OVERLOADING-    BaseTransformUpdateSrcCapsMethodInfo    ,-#endif-    baseTransformUpdateSrcCaps              ,----- -- * Properties--- ** qos #attr:qos#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    BaseTransformQosPropertyInfo            ,-#endif-#if ENABLE_OVERLOADING-    baseTransformQos                        ,-#endif-    constructBaseTransformQos               ,-    getBaseTransformQos                     ,-    setBaseTransformQos                     ,-----    ) 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.Objects.Allocator as Gst.Allocator-import qualified GI.Gst.Objects.BufferPool as Gst.BufferPool-import qualified GI.Gst.Objects.Element as Gst.Element-import qualified GI.Gst.Objects.Object as Gst.Object-import qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams-import qualified GI.Gst.Structs.Caps as Gst.Caps---- | Memory-managed wrapper type.-newtype BaseTransform = BaseTransform (ManagedPtr BaseTransform)-foreign import ccall "gst_base_transform_get_type"-    c_gst_base_transform_get_type :: IO GType--instance GObject BaseTransform where-    gobjectType = c_gst_base_transform_get_type-    ---- | Type class for types which can be safely cast to `BaseTransform`, for instance with `toBaseTransform`.-class (GObject o, O.IsDescendantOf BaseTransform o) => IsBaseTransform o-instance (GObject o, O.IsDescendantOf BaseTransform o) => IsBaseTransform o--instance O.HasParentTypes BaseTransform-type instance O.ParentTypes BaseTransform = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `BaseTransform`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toBaseTransform :: (MonadIO m, IsBaseTransform o) => o -> m BaseTransform-toBaseTransform = liftIO . unsafeCastTo BaseTransform---- | A convenience alias for `Nothing` :: `Maybe` `BaseTransform`.-noBaseTransform :: Maybe BaseTransform-noBaseTransform = Nothing--#if ENABLE_OVERLOADING-type family ResolveBaseTransformMethod (t :: Symbol) (o :: *) :: * where-    ResolveBaseTransformMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolveBaseTransformMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveBaseTransformMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolveBaseTransformMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolveBaseTransformMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolveBaseTransformMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveBaseTransformMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveBaseTransformMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolveBaseTransformMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolveBaseTransformMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolveBaseTransformMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolveBaseTransformMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveBaseTransformMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveBaseTransformMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolveBaseTransformMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolveBaseTransformMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolveBaseTransformMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveBaseTransformMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveBaseTransformMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveBaseTransformMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveBaseTransformMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveBaseTransformMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveBaseTransformMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveBaseTransformMethod "isInPlace" o = BaseTransformIsInPlaceMethodInfo-    ResolveBaseTransformMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolveBaseTransformMethod "isPassthrough" o = BaseTransformIsPassthroughMethodInfo-    ResolveBaseTransformMethod "isQosEnabled" o = BaseTransformIsQosEnabledMethodInfo-    ResolveBaseTransformMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolveBaseTransformMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolveBaseTransformMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolveBaseTransformMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolveBaseTransformMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolveBaseTransformMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolveBaseTransformMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolveBaseTransformMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolveBaseTransformMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolveBaseTransformMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolveBaseTransformMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolveBaseTransformMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolveBaseTransformMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveBaseTransformMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveBaseTransformMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolveBaseTransformMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolveBaseTransformMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolveBaseTransformMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolveBaseTransformMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolveBaseTransformMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolveBaseTransformMethod "reconfigureSink" o = BaseTransformReconfigureSinkMethodInfo-    ResolveBaseTransformMethod "reconfigureSrc" o = BaseTransformReconfigureSrcMethodInfo-    ResolveBaseTransformMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveBaseTransformMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveBaseTransformMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolveBaseTransformMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveBaseTransformMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolveBaseTransformMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolveBaseTransformMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolveBaseTransformMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveBaseTransformMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolveBaseTransformMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolveBaseTransformMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolveBaseTransformMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveBaseTransformMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveBaseTransformMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveBaseTransformMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolveBaseTransformMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveBaseTransformMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveBaseTransformMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolveBaseTransformMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolveBaseTransformMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveBaseTransformMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveBaseTransformMethod "updateQos" o = BaseTransformUpdateQosMethodInfo-    ResolveBaseTransformMethod "updateSrcCaps" o = BaseTransformUpdateSrcCapsMethodInfo-    ResolveBaseTransformMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveBaseTransformMethod "getAllocator" o = BaseTransformGetAllocatorMethodInfo-    ResolveBaseTransformMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolveBaseTransformMethod "getBufferPool" o = BaseTransformGetBufferPoolMethodInfo-    ResolveBaseTransformMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo-    ResolveBaseTransformMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolveBaseTransformMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolveBaseTransformMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolveBaseTransformMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolveBaseTransformMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolveBaseTransformMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolveBaseTransformMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveBaseTransformMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveBaseTransformMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveBaseTransformMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolveBaseTransformMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveBaseTransformMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolveBaseTransformMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveBaseTransformMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolveBaseTransformMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolveBaseTransformMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveBaseTransformMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveBaseTransformMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveBaseTransformMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveBaseTransformMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolveBaseTransformMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolveBaseTransformMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolveBaseTransformMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolveBaseTransformMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveBaseTransformMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolveBaseTransformMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolveBaseTransformMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolveBaseTransformMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolveBaseTransformMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveBaseTransformMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveBaseTransformMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveBaseTransformMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveBaseTransformMethod "setGapAware" o = BaseTransformSetGapAwareMethodInfo-    ResolveBaseTransformMethod "setInPlace" o = BaseTransformSetInPlaceMethodInfo-    ResolveBaseTransformMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolveBaseTransformMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveBaseTransformMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveBaseTransformMethod "setPassthrough" o = BaseTransformSetPassthroughMethodInfo-    ResolveBaseTransformMethod "setPreferPassthrough" o = BaseTransformSetPreferPassthroughMethodInfo-    ResolveBaseTransformMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveBaseTransformMethod "setQosEnabled" o = BaseTransformSetQosEnabledMethodInfo-    ResolveBaseTransformMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolveBaseTransformMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolveBaseTransformMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBaseTransformMethod t BaseTransform, O.MethodInfo info BaseTransform p) => OL.IsLabel t (BaseTransform -> 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 "qos"-   -- Type: TBasicType TBoolean-   -- Flags: [PropertyReadable,PropertyWritable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@qos@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseTransform #qos-@--}-getBaseTransformQos :: (MonadIO m, IsBaseTransform o) => o -> m Bool-getBaseTransformQos obj = liftIO $ B.Properties.getObjectPropertyBool obj "qos"--{- |-Set the value of the “@qos@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseTransform [ #qos 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseTransformQos :: (MonadIO m, IsBaseTransform o) => o -> Bool -> m ()-setBaseTransformQos obj val = liftIO $ B.Properties.setObjectPropertyBool obj "qos" val--{- |-Construct a `GValueConstruct` with valid value for the “@qos@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.--}-constructBaseTransformQos :: (IsBaseTransform o) => Bool -> IO (GValueConstruct o)-constructBaseTransformQos val = B.Properties.constructObjectPropertyBool "qos" val--#if ENABLE_OVERLOADING-data BaseTransformQosPropertyInfo-instance AttrInfo BaseTransformQosPropertyInfo where-    type AttrAllowedOps BaseTransformQosPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]-    type AttrSetTypeConstraint BaseTransformQosPropertyInfo = (~) Bool-    type AttrBaseTypeConstraint BaseTransformQosPropertyInfo = IsBaseTransform-    type AttrGetType BaseTransformQosPropertyInfo = Bool-    type AttrLabel BaseTransformQosPropertyInfo = "qos"-    type AttrOrigin BaseTransformQosPropertyInfo = BaseTransform-    attrGet _ = getBaseTransformQos-    attrSet _ = setBaseTransformQos-    attrConstruct _ = constructBaseTransformQos-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList BaseTransform-type instance O.AttributeList BaseTransform = BaseTransformAttributeList-type BaseTransformAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("qos", BaseTransformQosPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-baseTransformQos :: AttrLabelProxy "qos"-baseTransformQos = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList BaseTransform = BaseTransformSignalList-type BaseTransformSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif---- method BaseTransform::get_allocator--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", 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 "the #GstAllocator\nused", 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 "the\n#GstAllocationParams of @allocator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_transform_get_allocator" gst_base_transform_get_allocator :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    Ptr (Ptr Gst.Allocator.Allocator) ->    -- allocator : TInterface (Name {namespace = "Gst", name = "Allocator"})-    Ptr Gst.AllocationParams.AllocationParams -> -- params : TInterface (Name {namespace = "Gst", name = "AllocationParams"})-    IO ()--{- |-Lets 'GI.GstBase.Objects.BaseTransform.BaseTransform' sub-classes to know the memory /@allocator@/-used by the base class and its /@params@/.--Unref the /@allocator@/ after use it.--}-baseTransformGetAllocator ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))-baseTransformGetAllocator trans = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    allocator <- allocMem :: IO (Ptr (Ptr Gst.Allocator.Allocator))-    params <- callocBoxedBytes 64 :: IO (Ptr Gst.AllocationParams.AllocationParams)-    gst_base_transform_get_allocator trans' allocator params-    allocator' <- peek allocator-    allocator'' <- (wrapObject Gst.Allocator.Allocator) allocator'-    params' <- (wrapBoxed Gst.AllocationParams.AllocationParams) params-    touchManagedPtr trans-    freeMem allocator-    return (allocator'', params')--#if ENABLE_OVERLOADING-data BaseTransformGetAllocatorMethodInfo-instance (signature ~ (m ((Gst.Allocator.Allocator, Gst.AllocationParams.AllocationParams))), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformGetAllocatorMethodInfo a signature where-    overloadedMethod _ = baseTransformGetAllocator--#endif---- method BaseTransform::get_buffer_pool--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferPool"}))--- throws : False--- Skip return : False--foreign import ccall "gst_base_transform_get_buffer_pool" gst_base_transform_get_buffer_pool :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    IO (Ptr Gst.BufferPool.BufferPool)--{- |-/No description available in the introspection data./--}-baseTransformGetBufferPool ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> m Gst.BufferPool.BufferPool-    {- ^ __Returns:__ the instance of the 'GI.Gst.Objects.BufferPool.BufferPool' used-by /@trans@/; free it after use it -}-baseTransformGetBufferPool trans = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    result <- gst_base_transform_get_buffer_pool trans'-    checkUnexpectedReturnNULL "baseTransformGetBufferPool" result-    result' <- (wrapObject Gst.BufferPool.BufferPool) result-    touchManagedPtr trans-    return result'--#if ENABLE_OVERLOADING-data BaseTransformGetBufferPoolMethodInfo-instance (signature ~ (m Gst.BufferPool.BufferPool), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformGetBufferPoolMethodInfo a signature where-    overloadedMethod _ = baseTransformGetBufferPool--#endif---- method BaseTransform::is_in_place--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBaseTransform 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_base_transform_is_in_place" gst_base_transform_is_in_place :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    IO CInt--{- |-See if /@trans@/ is configured as a in_place transform.--}-baseTransformIsInPlace ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: the 'GI.GstBase.Objects.BaseTransform.BaseTransform' to query -}-    -> m Bool-    {- ^ __Returns:__ 'True' is the transform is configured in in_place mode.--MT safe. -}-baseTransformIsInPlace trans = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    result <- gst_base_transform_is_in_place trans'-    let result' = (/= 0) result-    touchManagedPtr trans-    return result'--#if ENABLE_OVERLOADING-data BaseTransformIsInPlaceMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformIsInPlaceMethodInfo a signature where-    overloadedMethod _ = baseTransformIsInPlace--#endif---- method BaseTransform::is_passthrough--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBaseTransform 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_base_transform_is_passthrough" gst_base_transform_is_passthrough :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    IO CInt--{- |-See if /@trans@/ is configured as a passthrough transform.--}-baseTransformIsPassthrough ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: the 'GI.GstBase.Objects.BaseTransform.BaseTransform' to query -}-    -> m Bool-    {- ^ __Returns:__ 'True' is the transform is configured in passthrough mode.--MT safe. -}-baseTransformIsPassthrough trans = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    result <- gst_base_transform_is_passthrough trans'-    let result' = (/= 0) result-    touchManagedPtr trans-    return result'--#if ENABLE_OVERLOADING-data BaseTransformIsPassthroughMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformIsPassthroughMethodInfo a signature where-    overloadedMethod _ = baseTransformIsPassthrough--#endif---- method BaseTransform::is_qos_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", sinceVersion = 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_base_transform_is_qos_enabled" gst_base_transform_is_qos_enabled :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    IO CInt--{- |-Queries if the transform will handle QoS.--}-baseTransformIsQosEnabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if QoS is enabled.--MT safe. -}-baseTransformIsQosEnabled trans = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    result <- gst_base_transform_is_qos_enabled trans'-    let result' = (/= 0) result-    touchManagedPtr trans-    return result'--#if ENABLE_OVERLOADING-data BaseTransformIsQosEnabledMethodInfo-instance (signature ~ (m Bool), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformIsQosEnabledMethodInfo a signature where-    overloadedMethod _ = baseTransformIsQosEnabled--#endif---- method BaseTransform::reconfigure_sink--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_transform_reconfigure_sink" gst_base_transform_reconfigure_sink :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    IO ()--{- |-Instructs /@trans@/ to request renegotiation upstream. This function is-typically called after properties on the transform were set that-influence the input format.--}-baseTransformReconfigureSink ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> m ()-baseTransformReconfigureSink trans = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    gst_base_transform_reconfigure_sink trans'-    touchManagedPtr trans-    return ()--#if ENABLE_OVERLOADING-data BaseTransformReconfigureSinkMethodInfo-instance (signature ~ (m ()), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformReconfigureSinkMethodInfo a signature where-    overloadedMethod _ = baseTransformReconfigureSink--#endif---- method BaseTransform::reconfigure_src--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_transform_reconfigure_src" gst_base_transform_reconfigure_src :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    IO ()--{- |-Instructs /@trans@/ to renegotiate a new downstream transform on the next-buffer. This function is typically called after properties on the transform-were set that influence the output format.--}-baseTransformReconfigureSrc ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> m ()-baseTransformReconfigureSrc trans = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    gst_base_transform_reconfigure_src trans'-    touchManagedPtr trans-    return ()--#if ENABLE_OVERLOADING-data BaseTransformReconfigureSrcMethodInfo-instance (signature ~ (m ()), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformReconfigureSrcMethodInfo a signature where-    overloadedMethod _ = baseTransformReconfigureSrc--#endif---- method BaseTransform::set_gap_aware--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gap_aware", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "New 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_base_transform_set_gap_aware" gst_base_transform_set_gap_aware :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    CInt ->                                 -- gap_aware : TBasicType TBoolean-    IO ()--{- |-If /@gapAware@/ is 'False' (the default), output buffers will have the-'GI.Gst.Flags.BufferFlagsGap' flag unset.--If set to 'True', the element must handle output buffers with this flag set-correctly, i.e. it can assume that the buffer contains neutral data but must-unset the flag if the output is no neutral data.--MT safe.--}-baseTransformSetGapAware ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> Bool-    {- ^ /@gapAware@/: New state -}-    -> m ()-baseTransformSetGapAware trans gapAware = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    let gapAware' = (fromIntegral . fromEnum) gapAware-    gst_base_transform_set_gap_aware trans' gapAware'-    touchManagedPtr trans-    return ()--#if ENABLE_OVERLOADING-data BaseTransformSetGapAwareMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformSetGapAwareMethodInfo a signature where-    overloadedMethod _ = baseTransformSetGapAware--#endif---- method BaseTransform::set_in_place--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBaseTransform to modify", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "in_place", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Boolean value indicating that we would like to operate\non in_place 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_base_transform_set_in_place" gst_base_transform_set_in_place :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    CInt ->                                 -- in_place : TBasicType TBoolean-    IO ()--{- |-Determines whether a non-writable buffer will be copied before passing-to the transform_ip function.--  * Always 'True' if no transform function is implemented.-  * Always 'False' if ONLY transform function is implemented.--MT safe.--}-baseTransformSetInPlace ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: the 'GI.GstBase.Objects.BaseTransform.BaseTransform' to modify -}-    -> Bool-    {- ^ /@inPlace@/: Boolean value indicating that we would like to operate-on in_place buffers. -}-    -> m ()-baseTransformSetInPlace trans inPlace = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    let inPlace' = (fromIntegral . fromEnum) inPlace-    gst_base_transform_set_in_place trans' inPlace'-    touchManagedPtr trans-    return ()--#if ENABLE_OVERLOADING-data BaseTransformSetInPlaceMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformSetInPlaceMethodInfo a signature where-    overloadedMethod _ = baseTransformSetInPlace--#endif---- method BaseTransform::set_passthrough--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstBaseTransform to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "passthrough", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "boolean indicating passthrough mode.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_transform_set_passthrough" gst_base_transform_set_passthrough :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    CInt ->                                 -- passthrough : TBasicType TBoolean-    IO ()--{- |-Set passthrough mode for this filter by default. This is mostly-useful for filters that do not care about negotiation.--Always 'True' for filters which don\'t implement either a transform-or transform_ip method.--MT safe.--}-baseTransformSetPassthrough ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: the 'GI.GstBase.Objects.BaseTransform.BaseTransform' to set -}-    -> Bool-    {- ^ /@passthrough@/: boolean indicating passthrough mode. -}-    -> m ()-baseTransformSetPassthrough trans passthrough = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    let passthrough' = (fromIntegral . fromEnum) passthrough-    gst_base_transform_set_passthrough trans' passthrough'-    touchManagedPtr trans-    return ()--#if ENABLE_OVERLOADING-data BaseTransformSetPassthroughMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformSetPassthroughMethodInfo a signature where-    overloadedMethod _ = baseTransformSetPassthrough--#endif---- method BaseTransform::set_prefer_passthrough--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prefer_passthrough", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "New 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_base_transform_set_prefer_passthrough" gst_base_transform_set_prefer_passthrough :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    CInt ->                                 -- prefer_passthrough : TBasicType TBoolean-    IO ()--{- |-If /@preferPassthrough@/ is 'True' (the default), /@trans@/ will check and-prefer passthrough caps from the list of caps returned by the-transform_caps vmethod.--If set to 'False', the element must order the caps returned from the-transform_caps function in such a way that the preferred format is-first in the list. This can be interesting for transforms that can do-passthrough transforms but prefer to do something else, like a-capsfilter.--MT safe.--/Since: 1.0.1/--}-baseTransformSetPreferPassthrough ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> Bool-    {- ^ /@preferPassthrough@/: New state -}-    -> m ()-baseTransformSetPreferPassthrough trans preferPassthrough = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    let preferPassthrough' = (fromIntegral . fromEnum) preferPassthrough-    gst_base_transform_set_prefer_passthrough trans' preferPassthrough'-    touchManagedPtr trans-    return ()--#if ENABLE_OVERLOADING-data BaseTransformSetPreferPassthroughMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformSetPreferPassthroughMethodInfo a signature where-    overloadedMethod _ = baseTransformSetPreferPassthrough--#endif---- method BaseTransform::set_qos_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new 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_base_transform_set_qos_enabled" gst_base_transform_set_qos_enabled :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    CInt ->                                 -- enabled : TBasicType TBoolean-    IO ()--{- |-Enable or disable QoS handling in the transform.--MT safe.--}-baseTransformSetQosEnabled ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> Bool-    {- ^ /@enabled@/: new state -}-    -> m ()-baseTransformSetQosEnabled trans enabled = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    let enabled' = (fromIntegral . fromEnum) enabled-    gst_base_transform_set_qos_enabled trans' enabled'-    touchManagedPtr trans-    return ()--#if ENABLE_OVERLOADING-data BaseTransformSetQosEnabledMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformSetQosEnabledMethodInfo a signature where-    overloadedMethod _ = baseTransformSetQosEnabled--#endif---- method BaseTransform::update_qos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", 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", 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 diff against the clock", 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 generating the QoS expressed in\nrunning_time.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_transform_update_qos" gst_base_transform_update_qos :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    CDouble ->                              -- proportion : TBasicType TDouble-    Int64 ->                                -- diff : TBasicType TInt64-    Word64 ->                               -- timestamp : TBasicType TUInt64-    IO ()--{- |-Set the QoS parameters in the transform. This function is called internally-when a QOS event is received but subclasses can provide custom information-when needed.--MT safe.--}-baseTransformUpdateQos ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> Double-    {- ^ /@proportion@/: the proportion -}-    -> Int64-    {- ^ /@diff@/: the diff against the clock -}-    -> Word64-    {- ^ /@timestamp@/: the timestamp of the buffer generating the QoS expressed in-running_time. -}-    -> m ()-baseTransformUpdateQos trans proportion diff timestamp = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    let proportion' = realToFrac proportion-    gst_base_transform_update_qos trans' proportion' diff timestamp-    touchManagedPtr trans-    return ()--#if ENABLE_OVERLOADING-data BaseTransformUpdateQosMethodInfo-instance (signature ~ (Double -> Int64 -> Word64 -> m ()), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformUpdateQosMethodInfo a signature where-    overloadedMethod _ = baseTransformUpdateQos--#endif---- method BaseTransform::update_src_caps--- method type : OrdinaryMethod--- Args : [Arg {argCName = "trans", argType = TInterface (Name {namespace = "GstBase", name = "BaseTransform"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseTransform", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "updated_caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An updated version of the srcpad caps to be pushed\ndownstream", sinceVersion = 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_base_transform_update_src_caps" gst_base_transform_update_src_caps :: -    Ptr BaseTransform ->                    -- trans : TInterface (Name {namespace = "GstBase", name = "BaseTransform"})-    Ptr Gst.Caps.Caps ->                    -- updated_caps : TInterface (Name {namespace = "Gst", name = "Caps"})-    IO CInt--{- |-Updates the srcpad caps and send the caps downstream. This function-can be used by subclasses when they have already negotiated their caps-but found a change in them (or computed new information). This way,-they can notify downstream about that change without losing any-buffer.--/Since: 1.6/--}-baseTransformUpdateSrcCaps ::-    (B.CallStack.HasCallStack, MonadIO m, IsBaseTransform a) =>-    a-    {- ^ /@trans@/: a 'GI.GstBase.Objects.BaseTransform.BaseTransform' -}-    -> Gst.Caps.Caps-    {- ^ /@updatedCaps@/: An updated version of the srcpad caps to be pushed-downstream -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the caps could be send downstream 'False' otherwise -}-baseTransformUpdateSrcCaps trans updatedCaps = liftIO $ do-    trans' <- unsafeManagedPtrCastPtr trans-    updatedCaps' <- unsafeManagedPtrGetPtr updatedCaps-    result <- gst_base_transform_update_src_caps trans' updatedCaps'-    let result' = (/= 0) result-    touchManagedPtr trans-    touchManagedPtr updatedCaps-    return result'--#if ENABLE_OVERLOADING-data BaseTransformUpdateSrcCapsMethodInfo-instance (signature ~ (Gst.Caps.Caps -> m Bool), MonadIO m, IsBaseTransform a) => O.MethodInfo BaseTransformUpdateSrcCapsMethodInfo a signature where-    overloadedMethod _ = baseTransformUpdateSrcCaps--#endif--
− GI/GstBase/Objects/BaseTransform.hs-boot
@@ -1,74 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.BaseTransform 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 BaseTransform = BaseTransform (ManagedPtr BaseTransform)-instance GObject BaseTransform where-class (GObject o, O.IsDescendantOf BaseTransform o) => IsBaseTransform o-instance (GObject o, O.IsDescendantOf BaseTransform o) => IsBaseTransform o-instance O.HasParentTypes BaseTransform-#if ENABLE_OVERLOADING-data BaseTransformQosPropertyInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformGetAllocatorMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformGetBufferPoolMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformIsInPlaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformIsPassthroughMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformIsQosEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformReconfigureSinkMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformReconfigureSrcMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformSetGapAwareMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformSetInPlaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformSetPassthroughMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformSetPreferPassthroughMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformSetQosEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformUpdateQosMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseTransformUpdateSrcCapsMethodInfo-#endif
− GI/GstBase/Objects/CollectPads.hs
@@ -1,1533 +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)--Manages a set of pads that operate in collect mode. This means that control-is given to the manager of this object when all pads have data.--  * Collectpads are created with 'GI.GstBase.Objects.CollectPads.collectPadsNew'. A callback should then-    be installed with gst_collect_pads_set_function ().--  * Pads are added to the collection with 'GI.GstBase.Objects.CollectPads.collectPadsAddPad'\/-    'GI.GstBase.Objects.CollectPads.collectPadsRemovePad'. The pad has to be a sinkpad. When added,-    the chain, event and query functions of the pad are overridden. The-    element_private of the pad is used to store private information for the-    collectpads.--  * For each pad, data is queued in the _chain function or by-    performing a pull_range.--  * When data is queued on all pads in waiting mode, the callback function is called.--  * Data can be dequeued from the pad with the 'GI.GstBase.Objects.CollectPads.collectPadsPop' method.-    One can peek at the data with the 'GI.GstBase.Objects.CollectPads.collectPadsPeek' function.-    These functions will return 'Nothing' if the pad received an EOS event. When all-    pads return 'Nothing' from a 'GI.GstBase.Objects.CollectPads.collectPadsPeek', the element can emit an EOS-    event itself.--  * Data can also be dequeued in byte units using the 'GI.GstBase.Objects.CollectPads.collectPadsAvailable',-    'GI.GstBase.Objects.CollectPads.collectPadsReadBuffer' and 'GI.GstBase.Objects.CollectPads.collectPadsFlush' calls.--  * Elements should call 'GI.GstBase.Objects.CollectPads.collectPadsStart' and 'GI.GstBase.Objects.CollectPads.collectPadsStop' in-    their state change functions to start and stop the processing of the collectpads.-    The 'GI.GstBase.Objects.CollectPads.collectPadsStop' call should be called before calling the parent-    element state change function in the PAUSED_TO_READY state change to ensure-    no pad is blocked and the element can finish streaming.--  * 'GI.GstBase.Objects.CollectPads.collectPadsSetWaiting' sets a pad to waiting or non-waiting mode.-    CollectPads element is not waiting for data to be collected on non-waiting pads.-    Thus these pads may but need not have data when the callback is called.-    All pads are in waiting mode by default.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.CollectPads-    ( ---- * Exported types-    CollectPads(..)                         ,-    IsCollectPads                           ,-    toCollectPads                           ,-    noCollectPads                           ,--- -- * Methods--- ** addPad #method:addPad#--#if ENABLE_OVERLOADING-    CollectPadsAddPadMethodInfo             ,-#endif-    collectPadsAddPad                       ,----- ** available #method:available#--#if ENABLE_OVERLOADING-    CollectPadsAvailableMethodInfo          ,-#endif-    collectPadsAvailable                    ,----- ** clipRunningTime #method:clipRunningTime#--#if ENABLE_OVERLOADING-    CollectPadsClipRunningTimeMethodInfo    ,-#endif-    collectPadsClipRunningTime              ,----- ** eventDefault #method:eventDefault#--#if ENABLE_OVERLOADING-    CollectPadsEventDefaultMethodInfo       ,-#endif-    collectPadsEventDefault                 ,----- ** flush #method:flush#--#if ENABLE_OVERLOADING-    CollectPadsFlushMethodInfo              ,-#endif-    collectPadsFlush                        ,----- ** new #method:new#--    collectPadsNew                          ,----- ** peek #method:peek#--#if ENABLE_OVERLOADING-    CollectPadsPeekMethodInfo               ,-#endif-    collectPadsPeek                         ,----- ** pop #method:pop#--#if ENABLE_OVERLOADING-    CollectPadsPopMethodInfo                ,-#endif-    collectPadsPop                          ,----- ** queryDefault #method:queryDefault#--#if ENABLE_OVERLOADING-    CollectPadsQueryDefaultMethodInfo       ,-#endif-    collectPadsQueryDefault                 ,----- ** readBuffer #method:readBuffer#--#if ENABLE_OVERLOADING-    CollectPadsReadBufferMethodInfo         ,-#endif-    collectPadsReadBuffer                   ,----- ** removePad #method:removePad#--#if ENABLE_OVERLOADING-    CollectPadsRemovePadMethodInfo          ,-#endif-    collectPadsRemovePad                    ,----- ** setBufferFunction #method:setBufferFunction#--#if ENABLE_OVERLOADING-    CollectPadsSetBufferFunctionMethodInfo  ,-#endif-    collectPadsSetBufferFunction            ,----- ** setClipFunction #method:setClipFunction#--#if ENABLE_OVERLOADING-    CollectPadsSetClipFunctionMethodInfo    ,-#endif-    collectPadsSetClipFunction              ,----- ** setCompareFunction #method:setCompareFunction#--#if ENABLE_OVERLOADING-    CollectPadsSetCompareFunctionMethodInfo ,-#endif-    collectPadsSetCompareFunction           ,----- ** setEventFunction #method:setEventFunction#--#if ENABLE_OVERLOADING-    CollectPadsSetEventFunctionMethodInfo   ,-#endif-    collectPadsSetEventFunction             ,----- ** setFlushFunction #method:setFlushFunction#--#if ENABLE_OVERLOADING-    CollectPadsSetFlushFunctionMethodInfo   ,-#endif-    collectPadsSetFlushFunction             ,----- ** setFlushing #method:setFlushing#--#if ENABLE_OVERLOADING-    CollectPadsSetFlushingMethodInfo        ,-#endif-    collectPadsSetFlushing                  ,----- ** setFunction #method:setFunction#--#if ENABLE_OVERLOADING-    CollectPadsSetFunctionMethodInfo        ,-#endif-    collectPadsSetFunction                  ,----- ** setQueryFunction #method:setQueryFunction#--#if ENABLE_OVERLOADING-    CollectPadsSetQueryFunctionMethodInfo   ,-#endif-    collectPadsSetQueryFunction             ,----- ** setWaiting #method:setWaiting#--#if ENABLE_OVERLOADING-    CollectPadsSetWaitingMethodInfo         ,-#endif-    collectPadsSetWaiting                   ,----- ** srcEventDefault #method:srcEventDefault#--#if ENABLE_OVERLOADING-    CollectPadsSrcEventDefaultMethodInfo    ,-#endif-    collectPadsSrcEventDefault              ,----- ** start #method:start#--#if ENABLE_OVERLOADING-    CollectPadsStartMethodInfo              ,-#endif-    collectPadsStart                        ,----- ** stop #method:stop#--#if ENABLE_OVERLOADING-    CollectPadsStopMethodInfo               ,-#endif-    collectPadsStop                         ,----- ** takeBuffer #method:takeBuffer#--#if ENABLE_OVERLOADING-    CollectPadsTakeBufferMethodInfo         ,-#endif-    collectPadsTakeBuffer                   ,-----    ) 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.Enums as Gst.Enums-import qualified GI.Gst.Objects.Object as Gst.Object-import qualified GI.Gst.Objects.Pad as Gst.Pad-import qualified GI.Gst.Structs.Buffer as Gst.Buffer-import qualified GI.Gst.Structs.Event as Gst.Event-import qualified GI.Gst.Structs.Query as Gst.Query-import qualified GI.GstBase.Callbacks as GstBase.Callbacks-import {-# SOURCE #-} qualified GI.GstBase.Structs.CollectData as GstBase.CollectData---- | Memory-managed wrapper type.-newtype CollectPads = CollectPads (ManagedPtr CollectPads)-foreign import ccall "gst_collect_pads_get_type"-    c_gst_collect_pads_get_type :: IO GType--instance GObject CollectPads where-    gobjectType = c_gst_collect_pads_get_type-    ---- | Type class for types which can be safely cast to `CollectPads`, for instance with `toCollectPads`.-class (GObject o, O.IsDescendantOf CollectPads o) => IsCollectPads o-instance (GObject o, O.IsDescendantOf CollectPads o) => IsCollectPads o--instance O.HasParentTypes CollectPads-type instance O.ParentTypes CollectPads = '[Gst.Object.Object, GObject.Object.Object]---- | Cast to `CollectPads`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toCollectPads :: (MonadIO m, IsCollectPads o) => o -> m CollectPads-toCollectPads = liftIO . unsafeCastTo CollectPads---- | A convenience alias for `Nothing` :: `Maybe` `CollectPads`.-noCollectPads :: Maybe CollectPads-noCollectPads = Nothing--#if ENABLE_OVERLOADING-type family ResolveCollectPadsMethod (t :: Symbol) (o :: *) :: * where-    ResolveCollectPadsMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolveCollectPadsMethod "addPad" o = CollectPadsAddPadMethodInfo-    ResolveCollectPadsMethod "available" o = CollectPadsAvailableMethodInfo-    ResolveCollectPadsMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveCollectPadsMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveCollectPadsMethod "clipRunningTime" o = CollectPadsClipRunningTimeMethodInfo-    ResolveCollectPadsMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolveCollectPadsMethod "eventDefault" o = CollectPadsEventDefaultMethodInfo-    ResolveCollectPadsMethod "flush" o = CollectPadsFlushMethodInfo-    ResolveCollectPadsMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveCollectPadsMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveCollectPadsMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveCollectPadsMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolveCollectPadsMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolveCollectPadsMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolveCollectPadsMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolveCollectPadsMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveCollectPadsMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveCollectPadsMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveCollectPadsMethod "peek" o = CollectPadsPeekMethodInfo-    ResolveCollectPadsMethod "pop" o = CollectPadsPopMethodInfo-    ResolveCollectPadsMethod "queryDefault" o = CollectPadsQueryDefaultMethodInfo-    ResolveCollectPadsMethod "readBuffer" o = CollectPadsReadBufferMethodInfo-    ResolveCollectPadsMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolveCollectPadsMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveCollectPadsMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolveCollectPadsMethod "removePad" o = CollectPadsRemovePadMethodInfo-    ResolveCollectPadsMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveCollectPadsMethod "srcEventDefault" o = CollectPadsSrcEventDefaultMethodInfo-    ResolveCollectPadsMethod "start" o = CollectPadsStartMethodInfo-    ResolveCollectPadsMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveCollectPadsMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveCollectPadsMethod "stop" o = CollectPadsStopMethodInfo-    ResolveCollectPadsMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolveCollectPadsMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolveCollectPadsMethod "takeBuffer" o = CollectPadsTakeBufferMethodInfo-    ResolveCollectPadsMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveCollectPadsMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolveCollectPadsMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolveCollectPadsMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveCollectPadsMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolveCollectPadsMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolveCollectPadsMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveCollectPadsMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolveCollectPadsMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolveCollectPadsMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolveCollectPadsMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolveCollectPadsMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveCollectPadsMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveCollectPadsMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolveCollectPadsMethod "setBufferFunction" o = CollectPadsSetBufferFunctionMethodInfo-    ResolveCollectPadsMethod "setClipFunction" o = CollectPadsSetClipFunctionMethodInfo-    ResolveCollectPadsMethod "setCompareFunction" o = CollectPadsSetCompareFunctionMethodInfo-    ResolveCollectPadsMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolveCollectPadsMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolveCollectPadsMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolveCollectPadsMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveCollectPadsMethod "setEventFunction" o = CollectPadsSetEventFunctionMethodInfo-    ResolveCollectPadsMethod "setFlushFunction" o = CollectPadsSetFlushFunctionMethodInfo-    ResolveCollectPadsMethod "setFlushing" o = CollectPadsSetFlushingMethodInfo-    ResolveCollectPadsMethod "setFunction" o = CollectPadsSetFunctionMethodInfo-    ResolveCollectPadsMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolveCollectPadsMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolveCollectPadsMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveCollectPadsMethod "setQueryFunction" o = CollectPadsSetQueryFunctionMethodInfo-    ResolveCollectPadsMethod "setWaiting" o = CollectPadsSetWaitingMethodInfo-    ResolveCollectPadsMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveCollectPadsMethod t CollectPads, O.MethodInfo info CollectPads p) => OL.IsLabel t (CollectPads -> 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 CollectPads-type instance O.AttributeList CollectPads = CollectPadsAttributeList-type CollectPadsAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList CollectPads = CollectPadsSignalList-type CollectPadsSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif---- method CollectPads::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GstBase", name = "CollectPads"}))--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_new" gst_collect_pads_new :: -    IO (Ptr CollectPads)--{- |-Create a new instance of 'GI.GstBase.Objects.CollectPads.CollectPads'.--MT safe.--}-collectPadsNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m CollectPads-    {- ^ __Returns:__ a new 'GI.GstBase.Objects.CollectPads.CollectPads', or 'Nothing' in case of an error. -}-collectPadsNew  = liftIO $ do-    result <- gst_collect_pads_new-    checkUnexpectedReturnNULL "collectPadsNew" result-    result' <- (wrapObject CollectPads) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method CollectPads::add_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", 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 pad to add", 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 returned #GstCollectData structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_notify", argType = TInterface (Name {namespace = "GstBase", name = "CollectDataDestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to be called before the returned\n  #GstCollectData structure is freed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lock", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to lock this pad in usual waiting state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GstBase", name = "CollectData"}))--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_add_pad" gst_collect_pads_add_pad :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Word32 ->                               -- size : TBasicType TUInt-    FunPtr GstBase.Callbacks.C_CollectDataDestroyNotify -> -- destroy_notify : TInterface (Name {namespace = "GstBase", name = "CollectDataDestroyNotify"})-    CInt ->                                 -- lock : TBasicType TBoolean-    IO (Ptr GstBase.CollectData.CollectData)--{- |-Add a pad to the collection of collect pads. The pad has to be-a sinkpad. The refcount of the pad is incremented. Use-'GI.GstBase.Objects.CollectPads.collectPadsRemovePad' to remove the pad from the collection-again.--You specify a size for the returned 'GI.GstBase.Structs.CollectData.CollectData' structure-so that you can use it to store additional information.--You can also specify a 'GI.GstBase.Callbacks.CollectDataDestroyNotify' that will be called-just before the 'GI.GstBase.Structs.CollectData.CollectData' structure is freed. It is passed the-pointer to the structure and should free any custom memory and resources-allocated for it.--Keeping a pad locked in waiting state is only relevant when using-the default collection algorithm (providing the oldest buffer).-It ensures a buffer must be available on this pad for a collection-to take place.  This is of typical use to a muxer element where-non-subtitle streams should always be in waiting state,-e.g. to assure that caps information is available on all these streams-when initial headers have to be written.--The pad will be automatically activated in push mode when /@pads@/ is-started.--MT safe.--}-collectPadsAddPad ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a, Gst.Pad.IsPad b) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> b-    {- ^ /@pad@/: the pad to add -}-    -> Word32-    {- ^ /@size@/: the size of the returned 'GI.GstBase.Structs.CollectData.CollectData' structure -}-    -> GstBase.Callbacks.CollectDataDestroyNotify-    {- ^ /@destroyNotify@/: function to be called before the returned-  'GI.GstBase.Structs.CollectData.CollectData' structure is freed -}-    -> Bool-    {- ^ /@lock@/: whether to lock this pad in usual waiting state -}-    -> m (Maybe GstBase.CollectData.CollectData)-    {- ^ __Returns:__ a new 'GI.GstBase.Structs.CollectData.CollectData' to identify the-  new pad. Or 'Nothing' if wrong parameters are supplied. -}-collectPadsAddPad pads pad size destroyNotify lock = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    pad' <- unsafeManagedPtrCastPtr pad-    ptrdestroyNotify <- callocMem :: IO (Ptr (FunPtr GstBase.Callbacks.C_CollectDataDestroyNotify))-    destroyNotify' <- GstBase.Callbacks.mk_CollectDataDestroyNotify (GstBase.Callbacks.wrap_CollectDataDestroyNotify (Just ptrdestroyNotify) destroyNotify)-    poke ptrdestroyNotify destroyNotify'-    let lock' = (fromIntegral . fromEnum) lock-    result <- gst_collect_pads_add_pad pads' pad' size destroyNotify' lock'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newPtr GstBase.CollectData.CollectData) result'-        return result''-    touchManagedPtr pads-    touchManagedPtr pad-    return maybeResult--#if ENABLE_OVERLOADING-data CollectPadsAddPadMethodInfo-instance (signature ~ (b -> Word32 -> GstBase.Callbacks.CollectDataDestroyNotify -> Bool -> m (Maybe GstBase.CollectData.CollectData)), MonadIO m, IsCollectPads a, Gst.Pad.IsPad b) => O.MethodInfo CollectPadsAddPadMethodInfo a signature where-    overloadedMethod _ = collectPadsAddPad--#endif---- method CollectPads::available--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads 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_collect_pads_available" gst_collect_pads_available :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    IO Word32--{- |-Query how much bytes can be read from each queued buffer. This means-that the result of this call is the maximum number of bytes that can-be read from each of the pads.--This function should be called with /@pads@/ STREAM_LOCK held, such as-in the callback.--MT safe.--}-collectPadsAvailable ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to query -}-    -> m Word32-    {- ^ __Returns:__ The maximum number of bytes queued on all pads. This function-returns 0 if a pad has no queued buffer. -}-collectPadsAvailable pads = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    result <- gst_collect_pads_available pads'-    touchManagedPtr pads-    return result--#if ENABLE_OVERLOADING-data CollectPadsAvailableMethodInfo-instance (signature ~ (m Word32), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsAvailableMethodInfo a signature where-    overloadedMethod _ = collectPadsAvailable--#endif---- method CollectPads::clip_running_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cdata", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "collect data of corresponding pad", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer being clipped", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "outbuf", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "output buffer with running time, or NULL if clipped", 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 (unused)", 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_collect_pads_clip_running_time" gst_collect_pads_clip_running_time :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr GstBase.CollectData.CollectData ->  -- cdata : TInterface (Name {namespace = "GstBase", name = "CollectData"})-    Ptr Gst.Buffer.Buffer ->                -- buf : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr (Ptr Gst.Buffer.Buffer) ->          -- outbuf : TInterface (Name {namespace = "Gst", name = "Buffer"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Convenience clipping function that converts incoming buffer\'s timestamp-to running time, or clips the buffer if outside configured segment.--Since 1.6, this clipping function also sets the DTS parameter of the-GstCollectData structure. This version of the running time DTS can be-negative. G_MININT64 is used to indicate invalid value.--}-collectPadsClipRunningTime ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> GstBase.CollectData.CollectData-    {- ^ /@cdata@/: collect data of corresponding pad -}-    -> Gst.Buffer.Buffer-    {- ^ /@buf@/: buffer being clipped -}-    -> Ptr ()-    {- ^ /@userData@/: user data (unused) -}-    -> m ((Gst.Enums.FlowReturn, Maybe Gst.Buffer.Buffer))-collectPadsClipRunningTime pads cdata buf userData = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    cdata' <- unsafeManagedPtrGetPtr cdata-    buf' <- unsafeManagedPtrGetPtr buf-    outbuf <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))-    result <- gst_collect_pads_clip_running_time pads' cdata' buf' outbuf userData-    let result' = (toEnum . fromIntegral) result-    outbuf' <- peek outbuf-    maybeOutbuf' <- convertIfNonNull outbuf' $ \outbuf'' -> do-        outbuf''' <- (wrapBoxed Gst.Buffer.Buffer) outbuf''-        return outbuf'''-    touchManagedPtr pads-    touchManagedPtr cdata-    touchManagedPtr buf-    freeMem outbuf-    return (result', maybeOutbuf')--#if ENABLE_OVERLOADING-data CollectPadsClipRunningTimeMethodInfo-instance (signature ~ (GstBase.CollectData.CollectData -> Gst.Buffer.Buffer -> Ptr () -> m ((Gst.Enums.FlowReturn, Maybe Gst.Buffer.Buffer))), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsClipRunningTimeMethodInfo a signature where-    overloadedMethod _ = collectPadsClipRunningTime--#endif---- method CollectPads::event_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "collect data of corresponding pad", 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 "event being processed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "discard", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "process but do not send event downstream", sinceVersion = 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_collect_pads_event_default" gst_collect_pads_event_default :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr GstBase.CollectData.CollectData ->  -- data : TInterface (Name {namespace = "GstBase", name = "CollectData"})-    Ptr Gst.Event.Event ->                  -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    CInt ->                                 -- discard : TBasicType TBoolean-    IO CInt--{- |-Default 'GI.GstBase.Objects.CollectPads.CollectPads' event handling that elements should always-chain up to to ensure proper operation.  Element might however indicate-event should not be forwarded downstream.--}-collectPadsEventDefault ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: collect data of corresponding pad -}-    -> Gst.Event.Event-    {- ^ /@event@/: event being processed -}-    -> Bool-    {- ^ /@discard@/: process but do not send event downstream -}-    -> m Bool-collectPadsEventDefault pads data_ event discard = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    event' <- unsafeManagedPtrGetPtr event-    let discard' = (fromIntegral . fromEnum) discard-    result <- gst_collect_pads_event_default pads' data_' event' discard'-    let result' = (/= 0) result-    touchManagedPtr pads-    touchManagedPtr data_-    touchManagedPtr event-    return result'--#if ENABLE_OVERLOADING-data CollectPadsEventDefaultMethodInfo-instance (signature ~ (GstBase.CollectData.CollectData -> Gst.Event.Event -> Bool -> m Bool), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsEventDefaultMethodInfo a signature where-    overloadedMethod _ = collectPadsEventDefault--#endif---- method CollectPads::flush--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the data to use", 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 number of bytes to flush", 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_collect_pads_flush" gst_collect_pads_flush :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr GstBase.CollectData.CollectData ->  -- data : TInterface (Name {namespace = "GstBase", name = "CollectData"})-    Word32 ->                               -- size : TBasicType TUInt-    IO Word32--{- |-Flush /@size@/ bytes from the pad /@data@/.--This function should be called with /@pads@/ STREAM_LOCK held, such as-in the callback.--MT safe.--}-collectPadsFlush ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to query -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the data to use -}-    -> Word32-    {- ^ /@size@/: the number of bytes to flush -}-    -> m Word32-    {- ^ __Returns:__ The number of bytes flushed This can be less than /@size@/ and-is 0 if the pad was end-of-stream. -}-collectPadsFlush pads data_ size = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    result <- gst_collect_pads_flush pads' data_' size-    touchManagedPtr pads-    touchManagedPtr data_-    return result--#if ENABLE_OVERLOADING-data CollectPadsFlushMethodInfo-instance (signature ~ (GstBase.CollectData.CollectData -> Word32 -> m Word32), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsFlushMethodInfo a signature where-    overloadedMethod _ = collectPadsFlush--#endif---- method CollectPads::peek--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to peek", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the data to use", 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_collect_pads_peek" gst_collect_pads_peek :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr GstBase.CollectData.CollectData ->  -- data : TInterface (Name {namespace = "GstBase", name = "CollectData"})-    IO (Ptr Gst.Buffer.Buffer)--{- |-Peek at the buffer currently queued in /@data@/. This function-should be called with the /@pads@/ STREAM_LOCK held, such as in the callback-handler.--MT safe.--}-collectPadsPeek ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to peek -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the data to use -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ The buffer in /@data@/ or 'Nothing' if no-buffer is queued. should unref the buffer after usage. -}-collectPadsPeek pads data_ = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    result <- gst_collect_pads_peek pads' data_'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr pads-    touchManagedPtr data_-    return maybeResult--#if ENABLE_OVERLOADING-data CollectPadsPeekMethodInfo-instance (signature ~ (GstBase.CollectData.CollectData -> m (Maybe Gst.Buffer.Buffer)), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsPeekMethodInfo a signature where-    overloadedMethod _ = collectPadsPeek--#endif---- method CollectPads::pop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to pop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the data to use", 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_collect_pads_pop" gst_collect_pads_pop :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr GstBase.CollectData.CollectData ->  -- data : TInterface (Name {namespace = "GstBase", name = "CollectData"})-    IO (Ptr Gst.Buffer.Buffer)--{- |-Pop the buffer currently queued in /@data@/. This function-should be called with the /@pads@/ STREAM_LOCK held, such as in the callback-handler.--MT safe.--}-collectPadsPop ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to pop -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the data to use -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ The buffer in /@data@/ or 'Nothing' if no-buffer was queued. You should unref the buffer after usage. -}-collectPadsPop pads data_ = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    result <- gst_collect_pads_pop pads' data_'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr pads-    touchManagedPtr data_-    return maybeResult--#if ENABLE_OVERLOADING-data CollectPadsPopMethodInfo-instance (signature ~ (GstBase.CollectData.CollectData -> m (Maybe Gst.Buffer.Buffer)), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsPopMethodInfo a signature where-    overloadedMethod _ = collectPadsPop--#endif---- method CollectPads::query_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "collect data of corresponding pad", 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 "query being processed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "discard", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "process but do not send event downstream", sinceVersion = 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_collect_pads_query_default" gst_collect_pads_query_default :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr GstBase.CollectData.CollectData ->  -- data : TInterface (Name {namespace = "GstBase", name = "CollectData"})-    Ptr Gst.Query.Query ->                  -- query : TInterface (Name {namespace = "Gst", name = "Query"})-    CInt ->                                 -- discard : TBasicType TBoolean-    IO CInt--{- |-Default 'GI.GstBase.Objects.CollectPads.CollectPads' query handling that elements should always-chain up to to ensure proper operation.  Element might however indicate-query should not be forwarded downstream.--}-collectPadsQueryDefault ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: collect data of corresponding pad -}-    -> Gst.Query.Query-    {- ^ /@query@/: query being processed -}-    -> Bool-    {- ^ /@discard@/: process but do not send event downstream -}-    -> m Bool-collectPadsQueryDefault pads data_ query discard = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    query' <- unsafeManagedPtrGetPtr query-    let discard' = (fromIntegral . fromEnum) discard-    result <- gst_collect_pads_query_default pads' data_' query' discard'-    let result' = (/= 0) result-    touchManagedPtr pads-    touchManagedPtr data_-    touchManagedPtr query-    return result'--#if ENABLE_OVERLOADING-data CollectPadsQueryDefaultMethodInfo-instance (signature ~ (GstBase.CollectData.CollectData -> Gst.Query.Query -> Bool -> m Bool), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsQueryDefaultMethodInfo a signature where-    overloadedMethod _ = collectPadsQueryDefault--#endif---- method CollectPads::read_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the data to use", 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 number of bytes to read", 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_collect_pads_read_buffer" gst_collect_pads_read_buffer :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr GstBase.CollectData.CollectData ->  -- data : TInterface (Name {namespace = "GstBase", name = "CollectData"})-    Word32 ->                               -- size : TBasicType TUInt-    IO (Ptr Gst.Buffer.Buffer)--{- |-Get a subbuffer of /@size@/ bytes from the given pad /@data@/.--This function should be called with /@pads@/ STREAM_LOCK held, such as in the-callback.--MT safe.--}-collectPadsReadBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to query -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the data to use -}-    -> Word32-    {- ^ /@size@/: the number of bytes to read -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ A sub buffer. The size of the buffer can-be less that requested. A return of 'Nothing' signals that the pad is-end-of-stream. Unref the buffer after use. -}-collectPadsReadBuffer pads data_ size = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    result <- gst_collect_pads_read_buffer pads' data_' size-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr pads-    touchManagedPtr data_-    return maybeResult--#if ENABLE_OVERLOADING-data CollectPadsReadBufferMethodInfo-instance (signature ~ (GstBase.CollectData.CollectData -> Word32 -> m (Maybe Gst.Buffer.Buffer)), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsReadBufferMethodInfo a signature where-    overloadedMethod _ = collectPadsReadBuffer--#endif---- method CollectPads::remove_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", 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 pad 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_collect_pads_remove_pad" gst_collect_pads_remove_pad :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO CInt--{- |-Remove a pad from the collection of collect pads. This function will also-free the 'GI.GstBase.Structs.CollectData.CollectData' and all the resources that were allocated with-'GI.GstBase.Objects.CollectPads.collectPadsAddPad'.--The pad will be deactivated automatically when /@pads@/ is stopped.--MT safe.--}-collectPadsRemovePad ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a, Gst.Pad.IsPad b) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> b-    {- ^ /@pad@/: the pad to remove -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pad could be removed. -}-collectPadsRemovePad pads pad = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    pad' <- unsafeManagedPtrCastPtr pad-    result <- gst_collect_pads_remove_pad pads' pad'-    let result' = (/= 0) result-    touchManagedPtr pads-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data CollectPadsRemovePadMethodInfo-instance (signature ~ (b -> m Bool), MonadIO m, IsCollectPads a, Gst.Pad.IsPad b) => O.MethodInfo CollectPadsRemovePadMethodInfo a signature where-    overloadedMethod _ = collectPadsRemovePad--#endif---- method CollectPads::set_buffer_function--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GstBase", name = "CollectPadsBufferFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to set", 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 : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_set_buffer_function" gst_collect_pads_set_buffer_function :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    FunPtr GstBase.Callbacks.C_CollectPadsBufferFunction -> -- func : TInterface (Name {namespace = "GstBase", name = "CollectPadsBufferFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Set the callback function and user data that will be called with-the oldest buffer when all pads have been collected, or 'Nothing' on EOS.-If a buffer is passed, the callback owns a reference and must unref-it.--MT safe.--}-collectPadsSetBufferFunction ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> GstBase.Callbacks.CollectPadsBufferFunction-    {- ^ /@func@/: the function to set -}-    -> m ()-collectPadsSetBufferFunction pads func = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    func' <- GstBase.Callbacks.mk_CollectPadsBufferFunction (GstBase.Callbacks.wrap_CollectPadsBufferFunction Nothing (GstBase.Callbacks.drop_closures_CollectPadsBufferFunction func))-    let userData = nullPtr-    gst_collect_pads_set_buffer_function pads' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsSetBufferFunctionMethodInfo-instance (signature ~ (GstBase.Callbacks.CollectPadsBufferFunction -> m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsSetBufferFunctionMethodInfo a signature where-    overloadedMethod _ = collectPadsSetBufferFunction--#endif---- method CollectPads::set_clip_function--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "clipfunc", argType = TInterface (Name {namespace = "GstBase", name = "CollectPadsClipFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "clip function to install", 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 to pass to @clip_func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_set_clip_function" gst_collect_pads_set_clip_function :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    FunPtr GstBase.Callbacks.C_CollectPadsClipFunction -> -- clipfunc : TInterface (Name {namespace = "GstBase", name = "CollectPadsClipFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Install a clipping function that is called right after a buffer is received-on a pad managed by /@pads@/. See 'GI.GstBase.Callbacks.CollectPadsClipFunction' for more info.--}-collectPadsSetClipFunction ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> GstBase.Callbacks.CollectPadsClipFunction-    {- ^ /@clipfunc@/: clip function to install -}-    -> m ()-collectPadsSetClipFunction pads clipfunc = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    clipfunc' <- GstBase.Callbacks.mk_CollectPadsClipFunction (GstBase.Callbacks.wrap_CollectPadsClipFunction Nothing (GstBase.Callbacks.drop_closures_CollectPadsClipFunction clipfunc))-    let userData = nullPtr-    gst_collect_pads_set_clip_function pads' clipfunc' userData-    safeFreeFunPtr $ castFunPtrToPtr clipfunc'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsSetClipFunctionMethodInfo-instance (signature ~ (GstBase.Callbacks.CollectPadsClipFunction -> m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsSetClipFunctionMethodInfo a signature where-    overloadedMethod _ = collectPadsSetClipFunction--#endif---- method CollectPads::set_compare_function--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the pads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GstBase", name = "CollectPadsCompareFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to set", 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 : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_set_compare_function" gst_collect_pads_set_compare_function :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    FunPtr GstBase.Callbacks.C_CollectPadsCompareFunction -> -- func : TInterface (Name {namespace = "GstBase", name = "CollectPadsCompareFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Set the timestamp comparison function.--MT safe.--}-collectPadsSetCompareFunction ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the pads to use -}-    -> GstBase.Callbacks.CollectPadsCompareFunction-    {- ^ /@func@/: the function to set -}-    -> m ()-collectPadsSetCompareFunction pads func = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    func' <- GstBase.Callbacks.mk_CollectPadsCompareFunction (GstBase.Callbacks.wrap_CollectPadsCompareFunction Nothing (GstBase.Callbacks.drop_closures_CollectPadsCompareFunction func))-    let userData = nullPtr-    gst_collect_pads_set_compare_function pads' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsSetCompareFunctionMethodInfo-instance (signature ~ (GstBase.Callbacks.CollectPadsCompareFunction -> m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsSetCompareFunctionMethodInfo a signature where-    overloadedMethod _ = collectPadsSetCompareFunction--#endif---- method CollectPads::set_event_function--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GstBase", name = "CollectPadsEventFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to set", 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 : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_set_event_function" gst_collect_pads_set_event_function :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    FunPtr GstBase.Callbacks.C_CollectPadsEventFunction -> -- func : TInterface (Name {namespace = "GstBase", name = "CollectPadsEventFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Set the event callback function and user data that will be called when-collectpads has received an event originating from one of the collected-pads.  If the event being processed is a serialized one, this callback is-called with /@pads@/ STREAM_LOCK held, otherwise not.  As this lock should be-held when calling a number of CollectPads functions, it should be acquired-if so (unusually) needed.--MT safe.--}-collectPadsSetEventFunction ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> GstBase.Callbacks.CollectPadsEventFunction-    {- ^ /@func@/: the function to set -}-    -> m ()-collectPadsSetEventFunction pads func = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    func' <- GstBase.Callbacks.mk_CollectPadsEventFunction (GstBase.Callbacks.wrap_CollectPadsEventFunction Nothing (GstBase.Callbacks.drop_closures_CollectPadsEventFunction func))-    let userData = nullPtr-    gst_collect_pads_set_event_function pads' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsSetEventFunctionMethodInfo-instance (signature ~ (GstBase.Callbacks.CollectPadsEventFunction -> m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsSetEventFunctionMethodInfo a signature where-    overloadedMethod _ = collectPadsSetEventFunction--#endif---- method CollectPads::set_flush_function--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GstBase", name = "CollectPadsFlushFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flush function to install", 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 to pass to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_set_flush_function" gst_collect_pads_set_flush_function :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    FunPtr GstBase.Callbacks.C_CollectPadsFlushFunction -> -- func : TInterface (Name {namespace = "GstBase", name = "CollectPadsFlushFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Install a flush function that is called when the internal-state of all pads should be flushed as part of flushing seek-handling. See 'GI.GstBase.Callbacks.CollectPadsFlushFunction' for more info.--/Since: 1.4/--}-collectPadsSetFlushFunction ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> GstBase.Callbacks.CollectPadsFlushFunction-    {- ^ /@func@/: flush function to install -}-    -> m ()-collectPadsSetFlushFunction pads func = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    func' <- GstBase.Callbacks.mk_CollectPadsFlushFunction (GstBase.Callbacks.wrap_CollectPadsFlushFunction Nothing (GstBase.Callbacks.drop_closures_CollectPadsFlushFunction func))-    let userData = nullPtr-    gst_collect_pads_set_flush_function pads' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsSetFlushFunctionMethodInfo-instance (signature ~ (GstBase.Callbacks.CollectPadsFlushFunction -> m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsSetFlushFunctionMethodInfo a signature where-    overloadedMethod _ = collectPadsSetFlushFunction--#endif---- method CollectPads::set_flushing--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", 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 "desired state of the pads", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_set_flushing" gst_collect_pads_set_flushing :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    CInt ->                                 -- flushing : TBasicType TBoolean-    IO ()--{- |-Change the flushing state of all the pads in the collection. No pad-is able to accept anymore data when /@flushing@/ is 'True'. Calling this-function with /@flushing@/ 'False' makes /@pads@/ accept data again.-Caller must ensure that downstream streaming (thread) is not blocked,-e.g. by sending a FLUSH_START downstream.--MT safe.--}-collectPadsSetFlushing ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> Bool-    {- ^ /@flushing@/: desired state of the pads -}-    -> m ()-collectPadsSetFlushing pads flushing = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    let flushing' = (fromIntegral . fromEnum) flushing-    gst_collect_pads_set_flushing pads' flushing'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsSetFlushingMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsSetFlushingMethodInfo a signature where-    overloadedMethod _ = collectPadsSetFlushing--#endif---- method CollectPads::set_function--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GstBase", name = "CollectPadsFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to set", 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 : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_set_function" gst_collect_pads_set_function :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    FunPtr GstBase.Callbacks.C_CollectPadsFunction -> -- func : TInterface (Name {namespace = "GstBase", name = "CollectPadsFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-CollectPads provides a default collection algorithm that will determine-the oldest buffer available on all of its pads, and then delegate-to a configured callback.-However, if circumstances are more complicated and\/or more control-is desired, this sets a callback that will be invoked instead when-all the pads added to the collection have buffers queued.-Evidently, this callback is not compatible with-'GI.GstBase.Objects.CollectPads.collectPadsSetBufferFunction' callback.-If this callback is set, the former will be unset.--MT safe.--}-collectPadsSetFunction ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> GstBase.Callbacks.CollectPadsFunction-    {- ^ /@func@/: the function to set -}-    -> m ()-collectPadsSetFunction pads func = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    func' <- GstBase.Callbacks.mk_CollectPadsFunction (GstBase.Callbacks.wrap_CollectPadsFunction Nothing (GstBase.Callbacks.drop_closures_CollectPadsFunction func))-    let userData = nullPtr-    gst_collect_pads_set_function pads' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsSetFunctionMethodInfo-instance (signature ~ (GstBase.Callbacks.CollectPadsFunction -> m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsSetFunctionMethodInfo a signature where-    overloadedMethod _ = collectPadsSetFunction--#endif---- method CollectPads::set_query_function--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GstBase", name = "CollectPadsQueryFunction"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to set", 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 : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_set_query_function" gst_collect_pads_set_query_function :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    FunPtr GstBase.Callbacks.C_CollectPadsQueryFunction -> -- func : TInterface (Name {namespace = "GstBase", name = "CollectPadsQueryFunction"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Set the query callback function and user data that will be called after-collectpads has received a query originating from one of the collected-pads.  If the query being processed is a serialized one, this callback is-called with /@pads@/ STREAM_LOCK held, otherwise not.  As this lock should be-held when calling a number of CollectPads functions, it should be acquired-if so (unusually) needed.--MT safe.--}-collectPadsSetQueryFunction ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> GstBase.Callbacks.CollectPadsQueryFunction-    {- ^ /@func@/: the function to set -}-    -> m ()-collectPadsSetQueryFunction pads func = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    func' <- GstBase.Callbacks.mk_CollectPadsQueryFunction (GstBase.Callbacks.wrap_CollectPadsQueryFunction Nothing (GstBase.Callbacks.drop_closures_CollectPadsQueryFunction func))-    let userData = nullPtr-    gst_collect_pads_set_query_function pads' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsSetQueryFunctionMethodInfo-instance (signature ~ (GstBase.Callbacks.CollectPadsQueryFunction -> m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsSetQueryFunctionMethodInfo a signature where-    overloadedMethod _ = collectPadsSetQueryFunction--#endif---- method CollectPads::set_waiting--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the data to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "waiting", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "boolean indicating whether this pad should operate\n          in waiting or non-waiting mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_collect_pads_set_waiting" gst_collect_pads_set_waiting :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr GstBase.CollectData.CollectData ->  -- data : TInterface (Name {namespace = "GstBase", name = "CollectData"})-    CInt ->                                 -- waiting : TBasicType TBoolean-    IO ()--{- |-Sets a pad to waiting or non-waiting mode, if at least this pad-has not been created with locked waiting state,-in which case nothing happens.--This function should be called with /@pads@/ STREAM_LOCK held, such as-in the callback.--MT safe.--}-collectPadsSetWaiting ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the data to use -}-    -> Bool-    {- ^ /@waiting@/: boolean indicating whether this pad should operate-          in waiting or non-waiting mode -}-    -> m ()-collectPadsSetWaiting pads data_ waiting = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    let waiting' = (fromIntegral . fromEnum) waiting-    gst_collect_pads_set_waiting pads' data_' waiting'-    touchManagedPtr pads-    touchManagedPtr data_-    return ()--#if ENABLE_OVERLOADING-data CollectPadsSetWaitingMethodInfo-instance (signature ~ (GstBase.CollectData.CollectData -> Bool -> m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsSetWaitingMethodInfo a signature where-    overloadedMethod _ = collectPadsSetWaiting--#endif---- method CollectPads::src_event_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstCollectPads to use", 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 "src #GstPad that received the event", 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 "event being 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_collect_pads_src_event_default" gst_collect_pads_src_event_default :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    Ptr Gst.Event.Event ->                  -- event : TInterface (Name {namespace = "Gst", name = "Event"})-    IO CInt--{- |-Default 'GI.GstBase.Objects.CollectPads.CollectPads' event handling for the src pad of elements.-Elements can chain up to this to let flushing seek event handling-be done by 'GI.GstBase.Objects.CollectPads.CollectPads'.--/Since: 1.4/--}-collectPadsSrcEventDefault ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a, Gst.Pad.IsPad b) =>-    a-    {- ^ /@pads@/: the 'GI.GstBase.Objects.CollectPads.CollectPads' to use -}-    -> b-    {- ^ /@pad@/: src 'GI.Gst.Objects.Pad.Pad' that received the event -}-    -> Gst.Event.Event-    {- ^ /@event@/: event being processed -}-    -> m Bool-collectPadsSrcEventDefault pads pad event = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    pad' <- unsafeManagedPtrCastPtr pad-    event' <- unsafeManagedPtrGetPtr event-    result <- gst_collect_pads_src_event_default pads' pad' event'-    let result' = (/= 0) result-    touchManagedPtr pads-    touchManagedPtr pad-    touchManagedPtr event-    return result'--#if ENABLE_OVERLOADING-data CollectPadsSrcEventDefaultMethodInfo-instance (signature ~ (b -> Gst.Event.Event -> m Bool), MonadIO m, IsCollectPads a, Gst.Pad.IsPad b) => O.MethodInfo CollectPadsSrcEventDefaultMethodInfo a signature where-    overloadedMethod _ = collectPadsSrcEventDefault--#endif---- method CollectPads::start--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads 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_collect_pads_start" gst_collect_pads_start :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    IO ()--{- |-Starts the processing of data in the collect_pads.--MT safe.--}-collectPadsStart ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> m ()-collectPadsStart pads = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    gst_collect_pads_start pads'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsStartMethodInfo-instance (signature ~ (m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsStartMethodInfo a signature where-    overloadedMethod _ = collectPadsStart--#endif---- method CollectPads::stop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads 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_collect_pads_stop" gst_collect_pads_stop :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    IO ()--{- |-Stops the processing of data in the collect_pads. this function-will also unblock any blocking operations.--MT safe.--}-collectPadsStop ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to use -}-    -> m ()-collectPadsStop pads = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    gst_collect_pads_stop pads'-    touchManagedPtr pads-    return ()--#if ENABLE_OVERLOADING-data CollectPadsStopMethodInfo-instance (signature ~ (m ()), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsStopMethodInfo a signature where-    overloadedMethod _ = collectPadsStop--#endif---- method CollectPads::take_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pads", argType = TInterface (Name {namespace = "GstBase", name = "CollectPads"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collectpads to query", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GstBase", name = "CollectData"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the data to use", 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 number of bytes to read", 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_collect_pads_take_buffer" gst_collect_pads_take_buffer :: -    Ptr CollectPads ->                      -- pads : TInterface (Name {namespace = "GstBase", name = "CollectPads"})-    Ptr GstBase.CollectData.CollectData ->  -- data : TInterface (Name {namespace = "GstBase", name = "CollectData"})-    Word32 ->                               -- size : TBasicType TUInt-    IO (Ptr Gst.Buffer.Buffer)--{- |-Get a subbuffer of /@size@/ bytes from the given pad /@data@/. Flushes the amount-of read bytes.--This function should be called with /@pads@/ STREAM_LOCK held, such as in the-callback.--MT safe.--}-collectPadsTakeBuffer ::-    (B.CallStack.HasCallStack, MonadIO m, IsCollectPads a) =>-    a-    {- ^ /@pads@/: the collectpads to query -}-    -> GstBase.CollectData.CollectData-    {- ^ /@data@/: the data to use -}-    -> Word32-    {- ^ /@size@/: the number of bytes to read -}-    -> m (Maybe Gst.Buffer.Buffer)-    {- ^ __Returns:__ A sub buffer. The size of the buffer can-be less that requested. A return of 'Nothing' signals that the pad is-end-of-stream. Unref the buffer after use. -}-collectPadsTakeBuffer pads data_ size = liftIO $ do-    pads' <- unsafeManagedPtrCastPtr pads-    data_' <- unsafeManagedPtrGetPtr data_-    result <- gst_collect_pads_take_buffer pads' data_' size-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed Gst.Buffer.Buffer) result'-        return result''-    touchManagedPtr pads-    touchManagedPtr data_-    return maybeResult--#if ENABLE_OVERLOADING-data CollectPadsTakeBufferMethodInfo-instance (signature ~ (GstBase.CollectData.CollectData -> Word32 -> m (Maybe Gst.Buffer.Buffer)), MonadIO m, IsCollectPads a) => O.MethodInfo CollectPadsTakeBufferMethodInfo a signature where-    overloadedMethod _ = collectPadsTakeBuffer--#endif--
− GI/GstBase/Objects/CollectPads.hs-boot
@@ -1,98 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.CollectPads 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 CollectPads = CollectPads (ManagedPtr CollectPads)-instance GObject CollectPads where-class (GObject o, O.IsDescendantOf CollectPads o) => IsCollectPads o-instance (GObject o, O.IsDescendantOf CollectPads o) => IsCollectPads o-instance O.HasParentTypes CollectPads-#if ENABLE_OVERLOADING-data CollectPadsAddPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsAvailableMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsClipRunningTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsEventDefaultMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsFlushMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsPeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsPopMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsQueryDefaultMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsReadBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsRemovePadMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSetBufferFunctionMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSetClipFunctionMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSetCompareFunctionMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSetEventFunctionMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSetFlushFunctionMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSetFlushingMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSetFunctionMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSetQueryFunctionMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSetWaitingMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsSrcEventDefaultMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsStartMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsStopMethodInfo-#endif-#if ENABLE_OVERLOADING-data CollectPadsTakeBufferMethodInfo-#endif
− GI/GstBase/Objects/DataQueue.hs
@@ -1,264 +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.GstBase.Objects.DataQueue.DataQueue' is an object that handles threadsafe queueing of objects. It-also provides size-related functionality. This object should be used for-any 'GI.Gst.Objects.Element.Element' that wishes to provide some sort of queueing functionality.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.DataQueue-    ( ---- * Exported types-    DataQueue(..)                           ,-    IsDataQueue                             ,-    toDataQueue                             ,-    noDataQueue                             ,--- -- * Properties--- ** currentLevelBytes #attr:currentLevelBytes#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    DataQueueCurrentLevelBytesPropertyInfo  ,-#endif-#if ENABLE_OVERLOADING-    dataQueueCurrentLevelBytes              ,-#endif-    getDataQueueCurrentLevelBytes           ,----- ** currentLevelTime #attr:currentLevelTime#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    DataQueueCurrentLevelTimePropertyInfo   ,-#endif-#if ENABLE_OVERLOADING-    dataQueueCurrentLevelTime               ,-#endif-    getDataQueueCurrentLevelTime            ,----- ** currentLevelVisible #attr:currentLevelVisible#-{- | /No description available in the introspection data./--}-#if ENABLE_OVERLOADING-    DataQueueCurrentLevelVisiblePropertyInfo,-#endif-#if ENABLE_OVERLOADING-    dataQueueCurrentLevelVisible            ,-#endif-    getDataQueueCurrentLevelVisible         ,-----    ) 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---- | Memory-managed wrapper type.-newtype DataQueue = DataQueue (ManagedPtr DataQueue)-foreign import ccall "gst_data_queue_get_type"-    c_gst_data_queue_get_type :: IO GType--instance GObject DataQueue where-    gobjectType = c_gst_data_queue_get_type-    ---- | Type class for types which can be safely cast to `DataQueue`, for instance with `toDataQueue`.-class (GObject o, O.IsDescendantOf DataQueue o) => IsDataQueue o-instance (GObject o, O.IsDescendantOf DataQueue o) => IsDataQueue o--instance O.HasParentTypes DataQueue-type instance O.ParentTypes DataQueue = '[GObject.Object.Object]---- | Cast to `DataQueue`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toDataQueue :: (MonadIO m, IsDataQueue o) => o -> m DataQueue-toDataQueue = liftIO . unsafeCastTo DataQueue---- | A convenience alias for `Nothing` :: `Maybe` `DataQueue`.-noDataQueue :: Maybe DataQueue-noDataQueue = Nothing--#if ENABLE_OVERLOADING-type family ResolveDataQueueMethod (t :: Symbol) (o :: *) :: * where-    ResolveDataQueueMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolveDataQueueMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolveDataQueueMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolveDataQueueMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolveDataQueueMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolveDataQueueMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolveDataQueueMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolveDataQueueMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolveDataQueueMethod "ref" o = GObject.Object.ObjectRefMethodInfo-    ResolveDataQueueMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolveDataQueueMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolveDataQueueMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolveDataQueueMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolveDataQueueMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolveDataQueueMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo-    ResolveDataQueueMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolveDataQueueMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolveDataQueueMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolveDataQueueMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolveDataQueueMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolveDataQueueMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolveDataQueueMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDataQueueMethod t DataQueue, O.MethodInfo info DataQueue p) => OL.IsLabel t (DataQueue -> 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 "current-level-bytes"-   -- Type: TBasicType TUInt-   -- Flags: [PropertyReadable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@current-level-bytes@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' dataQueue #currentLevelBytes-@--}-getDataQueueCurrentLevelBytes :: (MonadIO m, IsDataQueue o) => o -> m Word32-getDataQueueCurrentLevelBytes obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "current-level-bytes"--#if ENABLE_OVERLOADING-data DataQueueCurrentLevelBytesPropertyInfo-instance AttrInfo DataQueueCurrentLevelBytesPropertyInfo where-    type AttrAllowedOps DataQueueCurrentLevelBytesPropertyInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint DataQueueCurrentLevelBytesPropertyInfo = (~) ()-    type AttrBaseTypeConstraint DataQueueCurrentLevelBytesPropertyInfo = IsDataQueue-    type AttrGetType DataQueueCurrentLevelBytesPropertyInfo = Word32-    type AttrLabel DataQueueCurrentLevelBytesPropertyInfo = "current-level-bytes"-    type AttrOrigin DataQueueCurrentLevelBytesPropertyInfo = DataQueue-    attrGet _ = getDataQueueCurrentLevelBytes-    attrSet _ = undefined-    attrConstruct _ = undefined-    attrClear _ = undefined-#endif---- VVV Prop "current-level-time"-   -- Type: TBasicType TUInt64-   -- Flags: [PropertyReadable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@current-level-time@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' dataQueue #currentLevelTime-@--}-getDataQueueCurrentLevelTime :: (MonadIO m, IsDataQueue o) => o -> m Word64-getDataQueueCurrentLevelTime obj = liftIO $ B.Properties.getObjectPropertyUInt64 obj "current-level-time"--#if ENABLE_OVERLOADING-data DataQueueCurrentLevelTimePropertyInfo-instance AttrInfo DataQueueCurrentLevelTimePropertyInfo where-    type AttrAllowedOps DataQueueCurrentLevelTimePropertyInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint DataQueueCurrentLevelTimePropertyInfo = (~) ()-    type AttrBaseTypeConstraint DataQueueCurrentLevelTimePropertyInfo = IsDataQueue-    type AttrGetType DataQueueCurrentLevelTimePropertyInfo = Word64-    type AttrLabel DataQueueCurrentLevelTimePropertyInfo = "current-level-time"-    type AttrOrigin DataQueueCurrentLevelTimePropertyInfo = DataQueue-    attrGet _ = getDataQueueCurrentLevelTime-    attrSet _ = undefined-    attrConstruct _ = undefined-    attrClear _ = undefined-#endif---- VVV Prop "current-level-visible"-   -- Type: TBasicType TUInt-   -- Flags: [PropertyReadable]-   -- Nullable: (Nothing,Nothing)--{- |-Get the value of the “@current-level-visible@” property.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' dataQueue #currentLevelVisible-@--}-getDataQueueCurrentLevelVisible :: (MonadIO m, IsDataQueue o) => o -> m Word32-getDataQueueCurrentLevelVisible obj = liftIO $ B.Properties.getObjectPropertyUInt32 obj "current-level-visible"--#if ENABLE_OVERLOADING-data DataQueueCurrentLevelVisiblePropertyInfo-instance AttrInfo DataQueueCurrentLevelVisiblePropertyInfo where-    type AttrAllowedOps DataQueueCurrentLevelVisiblePropertyInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint DataQueueCurrentLevelVisiblePropertyInfo = (~) ()-    type AttrBaseTypeConstraint DataQueueCurrentLevelVisiblePropertyInfo = IsDataQueue-    type AttrGetType DataQueueCurrentLevelVisiblePropertyInfo = Word32-    type AttrLabel DataQueueCurrentLevelVisiblePropertyInfo = "current-level-visible"-    type AttrOrigin DataQueueCurrentLevelVisiblePropertyInfo = DataQueue-    attrGet _ = getDataQueueCurrentLevelVisible-    attrSet _ = undefined-    attrConstruct _ = undefined-    attrClear _ = undefined-#endif--#if ENABLE_OVERLOADING-instance O.HasAttributeList DataQueue-type instance O.AttributeList DataQueue = DataQueueAttributeList-type DataQueueAttributeList = ('[ '("currentLevelBytes", DataQueueCurrentLevelBytesPropertyInfo), '("currentLevelTime", DataQueueCurrentLevelTimePropertyInfo), '("currentLevelVisible", DataQueueCurrentLevelVisiblePropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-dataQueueCurrentLevelBytes :: AttrLabelProxy "currentLevelBytes"-dataQueueCurrentLevelBytes = AttrLabelProxy--dataQueueCurrentLevelTime :: AttrLabelProxy "currentLevelTime"-dataQueueCurrentLevelTime = AttrLabelProxy--dataQueueCurrentLevelVisible :: AttrLabelProxy "currentLevelVisible"-dataQueueCurrentLevelVisible = AttrLabelProxy--#endif--#if ENABLE_OVERLOADING-type instance O.SignalList DataQueue = DataQueueSignalList-type DataQueueSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])--#endif--
− GI/GstBase/Objects/DataQueue.hs-boot
@@ -1,38 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.DataQueue 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 DataQueue = DataQueue (ManagedPtr DataQueue)-instance GObject DataQueue where-class (GObject o, O.IsDescendantOf DataQueue o) => IsDataQueue o-instance (GObject o, O.IsDescendantOf DataQueue o) => IsDataQueue o-instance O.HasParentTypes DataQueue-#if ENABLE_OVERLOADING-data DataQueueCurrentLevelBytesPropertyInfo-#endif-#if ENABLE_OVERLOADING-data DataQueueCurrentLevelTimePropertyInfo-#endif-#if ENABLE_OVERLOADING-data DataQueueCurrentLevelVisiblePropertyInfo-#endif
− GI/GstBase/Objects/PushSrc.hs
@@ -1,247 +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 class is mostly useful for elements that cannot do-random access, or at least very slowly. The source usually-prefers to push out a fixed size buffer.--Subclasses usually operate in a format that is different from the-default GST_FORMAT_BYTES format of 'GI.GstBase.Objects.BaseSrc.BaseSrc'.--Classes extending this base class will usually be scheduled-in a push based mode. If the peer accepts to operate without-offsets and within the limits of the allowed block size, this-class can operate in getrange based mode automatically. To make-this possible, the subclass should implement and override the-SCHEDULING query.--The subclass should extend the methods from the baseclass in-addition to the ::create method.--Seeking, flushing, scheduling and sync is all handled by this-base class.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Objects.PushSrc-    ( ---- * Exported types-    PushSrc(..)                             ,-    IsPushSrc                               ,-    toPushSrc                               ,-    noPushSrc                               ,---    ) 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.Objects.Element as Gst.Element-import qualified GI.Gst.Objects.Object as Gst.Object-import {-# SOURCE #-} qualified GI.GstBase.Objects.BaseSrc as GstBase.BaseSrc---- | Memory-managed wrapper type.-newtype PushSrc = PushSrc (ManagedPtr PushSrc)-foreign import ccall "gst_push_src_get_type"-    c_gst_push_src_get_type :: IO GType--instance GObject PushSrc where-    gobjectType = c_gst_push_src_get_type-    ---- | Type class for types which can be safely cast to `PushSrc`, for instance with `toPushSrc`.-class (GObject o, O.IsDescendantOf PushSrc o) => IsPushSrc o-instance (GObject o, O.IsDescendantOf PushSrc o) => IsPushSrc o--instance O.HasParentTypes PushSrc-type instance O.ParentTypes PushSrc = '[GstBase.BaseSrc.BaseSrc, Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]---- | Cast to `PushSrc`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.-toPushSrc :: (MonadIO m, IsPushSrc o) => o -> m PushSrc-toPushSrc = liftIO . unsafeCastTo PushSrc---- | A convenience alias for `Nothing` :: `Maybe` `PushSrc`.-noPushSrc :: Maybe PushSrc-noPushSrc = Nothing--#if ENABLE_OVERLOADING-type family ResolvePushSrcMethod (t :: Symbol) (o :: *) :: * where-    ResolvePushSrcMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo-    ResolvePushSrcMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo-    ResolvePushSrcMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo-    ResolvePushSrcMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo-    ResolvePushSrcMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo-    ResolvePushSrcMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo-    ResolvePushSrcMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo-    ResolvePushSrcMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo-    ResolvePushSrcMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo-    ResolvePushSrcMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo-    ResolvePushSrcMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo-    ResolvePushSrcMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo-    ResolvePushSrcMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo-    ResolvePushSrcMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo-    ResolvePushSrcMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo-    ResolvePushSrcMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo-    ResolvePushSrcMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo-    ResolvePushSrcMethod "getv" o = GObject.Object.ObjectGetvMethodInfo-    ResolvePushSrcMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo-    ResolvePushSrcMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo-    ResolvePushSrcMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo-    ResolvePushSrcMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo-    ResolvePushSrcMethod "isAsync" o = GstBase.BaseSrc.BaseSrcIsAsyncMethodInfo-    ResolvePushSrcMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo-    ResolvePushSrcMethod "isLive" o = GstBase.BaseSrc.BaseSrcIsLiveMethodInfo-    ResolvePushSrcMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo-    ResolvePushSrcMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo-    ResolvePushSrcMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo-    ResolvePushSrcMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo-    ResolvePushSrcMethod "link" o = Gst.Element.ElementLinkMethodInfo-    ResolvePushSrcMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo-    ResolvePushSrcMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo-    ResolvePushSrcMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo-    ResolvePushSrcMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo-    ResolvePushSrcMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo-    ResolvePushSrcMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo-    ResolvePushSrcMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo-    ResolvePushSrcMethod "newSeamlessSegment" o = GstBase.BaseSrc.BaseSrcNewSeamlessSegmentMethodInfo-    ResolvePushSrcMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo-    ResolvePushSrcMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo-    ResolvePushSrcMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo-    ResolvePushSrcMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo-    ResolvePushSrcMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo-    ResolvePushSrcMethod "query" o = Gst.Element.ElementQueryMethodInfo-    ResolvePushSrcMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo-    ResolvePushSrcMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo-    ResolvePushSrcMethod "queryLatency" o = GstBase.BaseSrc.BaseSrcQueryLatencyMethodInfo-    ResolvePushSrcMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo-    ResolvePushSrcMethod "ref" o = Gst.Object.ObjectRefMethodInfo-    ResolvePushSrcMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo-    ResolvePushSrcMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo-    ResolvePushSrcMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo-    ResolvePushSrcMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo-    ResolvePushSrcMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo-    ResolvePushSrcMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo-    ResolvePushSrcMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo-    ResolvePushSrcMethod "seek" o = Gst.Element.ElementSeekMethodInfo-    ResolvePushSrcMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo-    ResolvePushSrcMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo-    ResolvePushSrcMethod "startComplete" o = GstBase.BaseSrc.BaseSrcStartCompleteMethodInfo-    ResolvePushSrcMethod "startWait" o = GstBase.BaseSrc.BaseSrcStartWaitMethodInfo-    ResolvePushSrcMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo-    ResolvePushSrcMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo-    ResolvePushSrcMethod "submitBufferList" o = GstBase.BaseSrc.BaseSrcSubmitBufferListMethodInfo-    ResolvePushSrcMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo-    ResolvePushSrcMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo-    ResolvePushSrcMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo-    ResolvePushSrcMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo-    ResolvePushSrcMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo-    ResolvePushSrcMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo-    ResolvePushSrcMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo-    ResolvePushSrcMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo-    ResolvePushSrcMethod "waitPlaying" o = GstBase.BaseSrc.BaseSrcWaitPlayingMethodInfo-    ResolvePushSrcMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo-    ResolvePushSrcMethod "getAllocator" o = GstBase.BaseSrc.BaseSrcGetAllocatorMethodInfo-    ResolvePushSrcMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo-    ResolvePushSrcMethod "getBlocksize" o = GstBase.BaseSrc.BaseSrcGetBlocksizeMethodInfo-    ResolvePushSrcMethod "getBufferPool" o = GstBase.BaseSrc.BaseSrcGetBufferPoolMethodInfo-    ResolvePushSrcMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo-    ResolvePushSrcMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo-    ResolvePushSrcMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo-    ResolvePushSrcMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo-    ResolvePushSrcMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo-    ResolvePushSrcMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo-    ResolvePushSrcMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo-    ResolvePushSrcMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo-    ResolvePushSrcMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo-    ResolvePushSrcMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo-    ResolvePushSrcMethod "getDoTimestamp" o = GstBase.BaseSrc.BaseSrcGetDoTimestampMethodInfo-    ResolvePushSrcMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo-    ResolvePushSrcMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo-    ResolvePushSrcMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo-    ResolvePushSrcMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo-    ResolvePushSrcMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo-    ResolvePushSrcMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo-    ResolvePushSrcMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo-    ResolvePushSrcMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo-    ResolvePushSrcMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo-    ResolvePushSrcMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo-    ResolvePushSrcMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo-    ResolvePushSrcMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo-    ResolvePushSrcMethod "getState" o = Gst.Element.ElementGetStateMethodInfo-    ResolvePushSrcMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo-    ResolvePushSrcMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo-    ResolvePushSrcMethod "setAsync" o = GstBase.BaseSrc.BaseSrcSetAsyncMethodInfo-    ResolvePushSrcMethod "setAutomaticEos" o = GstBase.BaseSrc.BaseSrcSetAutomaticEosMethodInfo-    ResolvePushSrcMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo-    ResolvePushSrcMethod "setBlocksize" o = GstBase.BaseSrc.BaseSrcSetBlocksizeMethodInfo-    ResolvePushSrcMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo-    ResolvePushSrcMethod "setCaps" o = GstBase.BaseSrc.BaseSrcSetCapsMethodInfo-    ResolvePushSrcMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo-    ResolvePushSrcMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo-    ResolvePushSrcMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo-    ResolvePushSrcMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo-    ResolvePushSrcMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo-    ResolvePushSrcMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo-    ResolvePushSrcMethod "setDoTimestamp" o = GstBase.BaseSrc.BaseSrcSetDoTimestampMethodInfo-    ResolvePushSrcMethod "setDynamicSize" o = GstBase.BaseSrc.BaseSrcSetDynamicSizeMethodInfo-    ResolvePushSrcMethod "setFormat" o = GstBase.BaseSrc.BaseSrcSetFormatMethodInfo-    ResolvePushSrcMethod "setLive" o = GstBase.BaseSrc.BaseSrcSetLiveMethodInfo-    ResolvePushSrcMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo-    ResolvePushSrcMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo-    ResolvePushSrcMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo-    ResolvePushSrcMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo-    ResolvePushSrcMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo-    ResolvePushSrcMethod "setState" o = Gst.Element.ElementSetStateMethodInfo-    ResolvePushSrcMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePushSrcMethod t PushSrc, O.MethodInfo info PushSrc p) => OL.IsLabel t (PushSrc -> 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 PushSrc-type instance O.AttributeList PushSrc = PushSrcAttributeList-type PushSrcAttributeList = ('[ '("blocksize", GstBase.BaseSrc.BaseSrcBlocksizePropertyInfo), '("doTimestamp", GstBase.BaseSrc.BaseSrcDoTimestampPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("numBuffers", GstBase.BaseSrc.BaseSrcNumBuffersPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("typefind", GstBase.BaseSrc.BaseSrcTypefindPropertyInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type instance O.SignalList PushSrc = PushSrcSignalList-type PushSrcSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])--#endif--
− GI/GstBase/Objects/PushSrc.hs-boot
@@ -1,29 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Objects.PushSrc 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 PushSrc = PushSrc (ManagedPtr PushSrc)-instance GObject PushSrc where-class (GObject o, O.IsDescendantOf PushSrc o) => IsPushSrc o-instance (GObject o, O.IsDescendantOf PushSrc o) => IsPushSrc o-instance O.HasParentTypes PushSrc
− GI/GstBase/Structs.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.GstBase.Structs-    (     module GI.GstBase.Structs.BaseParseFrame,-    module GI.GstBase.Structs.BitReader     ,-    module GI.GstBase.Structs.BitWriter     ,-    module GI.GstBase.Structs.CollectData   ,-    module GI.GstBase.Structs.FlowCombiner  ,---    ) where--import GI.GstBase.Structs.BaseParseFrame-import GI.GstBase.Structs.BitReader-import GI.GstBase.Structs.BitWriter-import GI.GstBase.Structs.CollectData-import GI.GstBase.Structs.FlowCombiner--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/GstBase/Structs/BaseParseFrame.hs
@@ -1,598 +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)--Frame (context) data passed to each frame parsing virtual methods.  In-addition to providing the data to be checked for a valid frame or an already-identified frame, it conveys additional metadata or control information-from and to the subclass w.r.t. the particular frame in question (rather-than global parameters).  Some of these may apply to each parsing stage, others-only to some a particular one.  These parameters are effectively zeroed at start-of each frame\'s processing, i.e. parsing virtual method invocation sequence.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Structs.BaseParseFrame-    ( ---- * Exported types-    BaseParseFrame(..)                      ,-    newZeroBaseParseFrame                   ,-    noBaseParseFrame                        ,--- -- * Methods--- ** copy #method:copy#--#if ENABLE_OVERLOADING-    BaseParseFrameCopyMethodInfo            ,-#endif-    baseParseFrameCopy                      ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    BaseParseFrameFreeMethodInfo            ,-#endif-    baseParseFrameFree                      ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    BaseParseFrameInitMethodInfo            ,-#endif-    baseParseFrameInit                      ,----- ** new #method:new#--    baseParseFrameNew                       ,----- -- * Properties--- ** buffer #attr:buffer#-{- | input data to be parsed for frames.--}-#if ENABLE_OVERLOADING-    baseParseFrame_buffer                   ,-#endif-    clearBaseParseFrameBuffer               ,-    getBaseParseFrameBuffer                 ,-    setBaseParseFrameBuffer                 ,----- ** flags #attr:flags#-{- | a combination of input and output 'GI.GstBase.Flags.BaseParseFrameFlags' that- convey additional context to subclass or allow subclass to tune- subsequent 'GI.GstBase.Objects.BaseParse.BaseParse' actions.--}-#if ENABLE_OVERLOADING-    baseParseFrame_flags                    ,-#endif-    getBaseParseFrameFlags                  ,-    setBaseParseFrameFlags                  ,----- ** offset #attr:offset#-{- | media specific offset of input frame-  Note that a converter may have a different one on the frame\'s buffer.--}-#if ENABLE_OVERLOADING-    baseParseFrame_offset                   ,-#endif-    getBaseParseFrameOffset                 ,-    setBaseParseFrameOffset                 ,----- ** outBuffer #attr:outBuffer#-{- | output data.--}-#if ENABLE_OVERLOADING-    baseParseFrame_outBuffer                ,-#endif-    clearBaseParseFrameOutBuffer            ,-    getBaseParseFrameOutBuffer              ,-    setBaseParseFrameOutBuffer              ,----- ** overhead #attr:overhead#-{- | subclass can set this to indicates the metadata overhead-  for the given frame, which is then used to enable more accurate bitrate-  computations. If this is -1, it is assumed that this frame should be-  skipped in bitrate calculation.--}-#if ENABLE_OVERLOADING-    baseParseFrame_overhead                 ,-#endif-    getBaseParseFrameOverhead               ,-    setBaseParseFrameOverhead               ,-----    ) 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.Structs.Buffer as Gst.Buffer-import {-# SOURCE #-} qualified GI.GstBase.Flags as GstBase.Flags---- | Memory-managed wrapper type.-newtype BaseParseFrame = BaseParseFrame (ManagedPtr BaseParseFrame)-foreign import ccall "gst_base_parse_frame_get_type" c_gst_base_parse_frame_get_type :: -    IO GType--instance BoxedObject BaseParseFrame where-    boxedType _ = c_gst_base_parse_frame_get_type---- | Construct a `BaseParseFrame` struct initialized to zero.-newZeroBaseParseFrame :: MonadIO m => m BaseParseFrame-newZeroBaseParseFrame = liftIO $ callocBoxedBytes 72 >>= wrapBoxed BaseParseFrame--instance tag ~ 'AttrSet => Constructible BaseParseFrame tag where-    new _ attrs = do-        o <- newZeroBaseParseFrame-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `BaseParseFrame`.-noBaseParseFrame :: Maybe BaseParseFrame-noBaseParseFrame = Nothing--{- |-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' baseParseFrame #buffer-@--}-getBaseParseFrameBuffer :: MonadIO m => BaseParseFrame -> m (Maybe Gst.Buffer.Buffer)-getBaseParseFrameBuffer s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: 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' baseParseFrame [ #buffer 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseParseFrameBuffer :: MonadIO m => BaseParseFrame -> Ptr Gst.Buffer.Buffer -> m ()-setBaseParseFrameBuffer s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (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-@--}-clearBaseParseFrameBuffer :: MonadIO m => BaseParseFrame -> m ()-clearBaseParseFrameBuffer s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr Gst.Buffer.Buffer)--#if ENABLE_OVERLOADING-data BaseParseFrameBufferFieldInfo-instance AttrInfo BaseParseFrameBufferFieldInfo where-    type AttrAllowedOps BaseParseFrameBufferFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint BaseParseFrameBufferFieldInfo = (~) (Ptr Gst.Buffer.Buffer)-    type AttrBaseTypeConstraint BaseParseFrameBufferFieldInfo = (~) BaseParseFrame-    type AttrGetType BaseParseFrameBufferFieldInfo = Maybe Gst.Buffer.Buffer-    type AttrLabel BaseParseFrameBufferFieldInfo = "buffer"-    type AttrOrigin BaseParseFrameBufferFieldInfo = BaseParseFrame-    attrGet _ = getBaseParseFrameBuffer-    attrSet _ = setBaseParseFrameBuffer-    attrConstruct = undefined-    attrClear _ = clearBaseParseFrameBuffer--baseParseFrame_buffer :: AttrLabelProxy "buffer"-baseParseFrame_buffer = AttrLabelProxy--#endif---{- |-Get the value of the “@out_buffer@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseParseFrame #outBuffer-@--}-getBaseParseFrameOutBuffer :: MonadIO m => BaseParseFrame -> m (Maybe Gst.Buffer.Buffer)-getBaseParseFrameOutBuffer s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: 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 “@out_buffer@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseParseFrame [ #outBuffer 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseParseFrameOutBuffer :: MonadIO m => BaseParseFrame -> Ptr Gst.Buffer.Buffer -> m ()-setBaseParseFrameOutBuffer s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr Gst.Buffer.Buffer)--{- |-Set the value of the “@out_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' #outBuffer-@--}-clearBaseParseFrameOutBuffer :: MonadIO m => BaseParseFrame -> m ()-clearBaseParseFrameOutBuffer s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gst.Buffer.Buffer)--#if ENABLE_OVERLOADING-data BaseParseFrameOutBufferFieldInfo-instance AttrInfo BaseParseFrameOutBufferFieldInfo where-    type AttrAllowedOps BaseParseFrameOutBufferFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint BaseParseFrameOutBufferFieldInfo = (~) (Ptr Gst.Buffer.Buffer)-    type AttrBaseTypeConstraint BaseParseFrameOutBufferFieldInfo = (~) BaseParseFrame-    type AttrGetType BaseParseFrameOutBufferFieldInfo = Maybe Gst.Buffer.Buffer-    type AttrLabel BaseParseFrameOutBufferFieldInfo = "out_buffer"-    type AttrOrigin BaseParseFrameOutBufferFieldInfo = BaseParseFrame-    attrGet _ = getBaseParseFrameOutBuffer-    attrSet _ = setBaseParseFrameOutBuffer-    attrConstruct = undefined-    attrClear _ = clearBaseParseFrameOutBuffer--baseParseFrame_outBuffer :: AttrLabelProxy "outBuffer"-baseParseFrame_outBuffer = 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' baseParseFrame #flags-@--}-getBaseParseFrameFlags :: MonadIO m => BaseParseFrame -> m Word32-getBaseParseFrameFlags 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' baseParseFrame [ #flags 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseParseFrameFlags :: MonadIO m => BaseParseFrame -> Word32 -> m ()-setBaseParseFrameFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word32)--#if ENABLE_OVERLOADING-data BaseParseFrameFlagsFieldInfo-instance AttrInfo BaseParseFrameFlagsFieldInfo where-    type AttrAllowedOps BaseParseFrameFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BaseParseFrameFlagsFieldInfo = (~) Word32-    type AttrBaseTypeConstraint BaseParseFrameFlagsFieldInfo = (~) BaseParseFrame-    type AttrGetType BaseParseFrameFlagsFieldInfo = Word32-    type AttrLabel BaseParseFrameFlagsFieldInfo = "flags"-    type AttrOrigin BaseParseFrameFlagsFieldInfo = BaseParseFrame-    attrGet _ = getBaseParseFrameFlags-    attrSet _ = setBaseParseFrameFlags-    attrConstruct = undefined-    attrClear _ = undefined--baseParseFrame_flags :: AttrLabelProxy "flags"-baseParseFrame_flags = 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' baseParseFrame #offset-@--}-getBaseParseFrameOffset :: MonadIO m => BaseParseFrame -> m Word64-getBaseParseFrameOffset 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' baseParseFrame [ #offset 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseParseFrameOffset :: MonadIO m => BaseParseFrame -> Word64 -> m ()-setBaseParseFrameOffset s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Word64)--#if ENABLE_OVERLOADING-data BaseParseFrameOffsetFieldInfo-instance AttrInfo BaseParseFrameOffsetFieldInfo where-    type AttrAllowedOps BaseParseFrameOffsetFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BaseParseFrameOffsetFieldInfo = (~) Word64-    type AttrBaseTypeConstraint BaseParseFrameOffsetFieldInfo = (~) BaseParseFrame-    type AttrGetType BaseParseFrameOffsetFieldInfo = Word64-    type AttrLabel BaseParseFrameOffsetFieldInfo = "offset"-    type AttrOrigin BaseParseFrameOffsetFieldInfo = BaseParseFrame-    attrGet _ = getBaseParseFrameOffset-    attrSet _ = setBaseParseFrameOffset-    attrConstruct = undefined-    attrClear _ = undefined--baseParseFrame_offset :: AttrLabelProxy "offset"-baseParseFrame_offset = AttrLabelProxy--#endif---{- |-Get the value of the “@overhead@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' baseParseFrame #overhead-@--}-getBaseParseFrameOverhead :: MonadIO m => BaseParseFrame -> m Int32-getBaseParseFrameOverhead s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Int32-    return val--{- |-Set the value of the “@overhead@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' baseParseFrame [ #overhead 'Data.GI.Base.Attributes.:=' value ]-@--}-setBaseParseFrameOverhead :: MonadIO m => BaseParseFrame -> Int32 -> m ()-setBaseParseFrameOverhead s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: Int32)--#if ENABLE_OVERLOADING-data BaseParseFrameOverheadFieldInfo-instance AttrInfo BaseParseFrameOverheadFieldInfo where-    type AttrAllowedOps BaseParseFrameOverheadFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BaseParseFrameOverheadFieldInfo = (~) Int32-    type AttrBaseTypeConstraint BaseParseFrameOverheadFieldInfo = (~) BaseParseFrame-    type AttrGetType BaseParseFrameOverheadFieldInfo = Int32-    type AttrLabel BaseParseFrameOverheadFieldInfo = "overhead"-    type AttrOrigin BaseParseFrameOverheadFieldInfo = BaseParseFrame-    attrGet _ = getBaseParseFrameOverhead-    attrSet _ = setBaseParseFrameOverhead-    attrConstruct = undefined-    attrClear _ = undefined--baseParseFrame_overhead :: AttrLabelProxy "overhead"-baseParseFrame_overhead = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList BaseParseFrame-type instance O.AttributeList BaseParseFrame = BaseParseFrameAttributeList-type BaseParseFrameAttributeList = ('[ '("buffer", BaseParseFrameBufferFieldInfo), '("outBuffer", BaseParseFrameOutBufferFieldInfo), '("flags", BaseParseFrameFlagsFieldInfo), '("offset", BaseParseFrameOffsetFieldInfo), '("overhead", BaseParseFrameOverheadFieldInfo)] :: [(Symbol, *)])-#endif---- method BaseParseFrame::new--- method type : Constructor--- 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 = "GstBase", name = "BaseParseFrameFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "overhead", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bytes in this frame which should be counted as\n    metadata overhead, ie. not used to calculate the average bitrate.\n    Set to -1 to mark the entire frame as metadata. If in doubt, set to 0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"}))--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_frame_new" gst_base_parse_frame_new :: -    Ptr Gst.Buffer.Buffer ->                -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "GstBase", name = "BaseParseFrameFlags"})-    Int32 ->                                -- overhead : TBasicType TInt-    IO (Ptr BaseParseFrame)--{- |-Allocates a new 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame'. This function is mainly for bindings,-elements written in C should usually allocate the frame on the stack and-then use 'GI.GstBase.Structs.BaseParseFrame.baseParseFrameInit' to initialise it.--}-baseParseFrameNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Gst.Buffer.Buffer-    {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer' -}-    -> [GstBase.Flags.BaseParseFrameFlags]-    {- ^ /@flags@/: the flags -}-    -> Int32-    {- ^ /@overhead@/: number of bytes in this frame which should be counted as-    metadata overhead, ie. not used to calculate the average bitrate.-    Set to -1 to mark the entire frame as metadata. If in doubt, set to 0. -}-    -> m BaseParseFrame-    {- ^ __Returns:__ a newly-allocated 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame'. Free with-    'GI.GstBase.Structs.BaseParseFrame.baseParseFrameFree' when no longer needed. -}-baseParseFrameNew buffer flags overhead = liftIO $ do-    buffer' <- unsafeManagedPtrGetPtr buffer-    let flags' = gflagsToWord flags-    result <- gst_base_parse_frame_new buffer' flags' overhead-    checkUnexpectedReturnNULL "baseParseFrameNew" result-    result' <- (wrapBoxed BaseParseFrame) result-    touchManagedPtr buffer-    return result'--#if ENABLE_OVERLOADING-#endif---- method BaseParseFrame::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBaseParseFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"}))--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_frame_copy" gst_base_parse_frame_copy :: -    Ptr BaseParseFrame ->                   -- frame : TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"})-    IO (Ptr BaseParseFrame)--{- |-Copies a 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame'.--}-baseParseFrameCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BaseParseFrame-    {- ^ /@frame@/: a 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame' -}-    -> m BaseParseFrame-    {- ^ __Returns:__ A copy of /@frame@/ -}-baseParseFrameCopy frame = liftIO $ do-    frame' <- unsafeManagedPtrGetPtr frame-    result <- gst_base_parse_frame_copy frame'-    checkUnexpectedReturnNULL "baseParseFrameCopy" result-    result' <- (wrapBoxed BaseParseFrame) result-    touchManagedPtr frame-    return result'--#if ENABLE_OVERLOADING-data BaseParseFrameCopyMethodInfo-instance (signature ~ (m BaseParseFrame), MonadIO m) => O.MethodInfo BaseParseFrameCopyMethodInfo BaseParseFrame signature where-    overloadedMethod _ = baseParseFrameCopy--#endif---- method BaseParseFrame::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstBaseParseFrame", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_frame_free" gst_base_parse_frame_free :: -    Ptr BaseParseFrame ->                   -- frame : TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"})-    IO ()--{- |-Frees the provided /@frame@/.--}-baseParseFrameFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BaseParseFrame-    {- ^ /@frame@/: A 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame' -}-    -> m ()-baseParseFrameFree frame = liftIO $ do-    frame' <- unsafeManagedPtrGetPtr frame-    gst_base_parse_frame_free frame'-    touchManagedPtr frame-    return ()--#if ENABLE_OVERLOADING-data BaseParseFrameFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BaseParseFrameFreeMethodInfo BaseParseFrame signature where-    overloadedMethod _ = baseParseFrameFree--#endif---- method BaseParseFrame::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "frame", argType = TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBaseParseFrame.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_base_parse_frame_init" gst_base_parse_frame_init :: -    Ptr BaseParseFrame ->                   -- frame : TInterface (Name {namespace = "GstBase", name = "BaseParseFrame"})-    IO ()--{- |-Sets a 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame' to initial state.  Currently this means-all public fields are zero-ed and a private flag is set to make-sure 'GI.GstBase.Structs.BaseParseFrame.baseParseFrameFree' only frees the contents but not-the actual frame. Use this function to initialise a 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame'-allocated on the stack.--}-baseParseFrameInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BaseParseFrame-    {- ^ /@frame@/: 'GI.GstBase.Structs.BaseParseFrame.BaseParseFrame'. -}-    -> m ()-baseParseFrameInit frame = liftIO $ do-    frame' <- unsafeManagedPtrGetPtr frame-    gst_base_parse_frame_init frame'-    touchManagedPtr frame-    return ()--#if ENABLE_OVERLOADING-data BaseParseFrameInitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BaseParseFrameInitMethodInfo BaseParseFrame signature where-    overloadedMethod _ = baseParseFrameInit--#endif--#if ENABLE_OVERLOADING-type family ResolveBaseParseFrameMethod (t :: Symbol) (o :: *) :: * where-    ResolveBaseParseFrameMethod "copy" o = BaseParseFrameCopyMethodInfo-    ResolveBaseParseFrameMethod "free" o = BaseParseFrameFreeMethodInfo-    ResolveBaseParseFrameMethod "init" o = BaseParseFrameInitMethodInfo-    ResolveBaseParseFrameMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBaseParseFrameMethod t BaseParseFrame, O.MethodInfo info BaseParseFrame p) => OL.IsLabel t (BaseParseFrame -> 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/GstBase/Structs/BaseParseFrame.hs-boot
@@ -1,35 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Structs.BaseParseFrame 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 BaseParseFrame = BaseParseFrame (ManagedPtr BaseParseFrame)-instance BoxedObject BaseParseFrame where-#if ENABLE_OVERLOADING-data BaseParseFrameCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseFrameFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BaseParseFrameInitMethodInfo-#endif
− GI/GstBase/Structs/BitReader.hs
@@ -1,1031 +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.GstBase.Structs.BitReader.BitReader' provides a bit reader that can read any number of bits-from a memory buffer. It provides functions for reading any number of bits-into 8, 16, 32 and 64 bit variables.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Structs.BitReader-    ( ---- * Exported types-    BitReader(..)                           ,-    newZeroBitReader                        ,-    noBitReader                             ,--- -- * Methods--- ** free #method:free#--#if ENABLE_OVERLOADING-    BitReaderFreeMethodInfo                 ,-#endif-    bitReaderFree                           ,----- ** getBitsUint16 #method:getBitsUint16#--#if ENABLE_OVERLOADING-    BitReaderGetBitsUint16MethodInfo        ,-#endif-    bitReaderGetBitsUint16                  ,----- ** getBitsUint32 #method:getBitsUint32#--#if ENABLE_OVERLOADING-    BitReaderGetBitsUint32MethodInfo        ,-#endif-    bitReaderGetBitsUint32                  ,----- ** getBitsUint64 #method:getBitsUint64#--#if ENABLE_OVERLOADING-    BitReaderGetBitsUint64MethodInfo        ,-#endif-    bitReaderGetBitsUint64                  ,----- ** getBitsUint8 #method:getBitsUint8#--#if ENABLE_OVERLOADING-    BitReaderGetBitsUint8MethodInfo         ,-#endif-    bitReaderGetBitsUint8                   ,----- ** getPos #method:getPos#--#if ENABLE_OVERLOADING-    BitReaderGetPosMethodInfo               ,-#endif-    bitReaderGetPos                         ,----- ** getRemaining #method:getRemaining#--#if ENABLE_OVERLOADING-    BitReaderGetRemainingMethodInfo         ,-#endif-    bitReaderGetRemaining                   ,----- ** getSize #method:getSize#--#if ENABLE_OVERLOADING-    BitReaderGetSizeMethodInfo              ,-#endif-    bitReaderGetSize                        ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    BitReaderInitMethodInfo                 ,-#endif-    bitReaderInit                           ,----- ** peekBitsUint16 #method:peekBitsUint16#--#if ENABLE_OVERLOADING-    BitReaderPeekBitsUint16MethodInfo       ,-#endif-    bitReaderPeekBitsUint16                 ,----- ** peekBitsUint32 #method:peekBitsUint32#--#if ENABLE_OVERLOADING-    BitReaderPeekBitsUint32MethodInfo       ,-#endif-    bitReaderPeekBitsUint32                 ,----- ** peekBitsUint64 #method:peekBitsUint64#--#if ENABLE_OVERLOADING-    BitReaderPeekBitsUint64MethodInfo       ,-#endif-    bitReaderPeekBitsUint64                 ,----- ** peekBitsUint8 #method:peekBitsUint8#--#if ENABLE_OVERLOADING-    BitReaderPeekBitsUint8MethodInfo        ,-#endif-    bitReaderPeekBitsUint8                  ,----- ** setPos #method:setPos#--#if ENABLE_OVERLOADING-    BitReaderSetPosMethodInfo               ,-#endif-    bitReaderSetPos                         ,----- ** skip #method:skip#--#if ENABLE_OVERLOADING-    BitReaderSkipMethodInfo                 ,-#endif-    bitReaderSkip                           ,----- ** skipToByte #method:skipToByte#--#if ENABLE_OVERLOADING-    BitReaderSkipToByteMethodInfo           ,-#endif-    bitReaderSkipToByte                     ,----- -- * Properties--- ** bit #attr:bit#-{- | Bit position in the current byte--}-#if ENABLE_OVERLOADING-    bitReader_bit                           ,-#endif-    getBitReaderBit                         ,-    setBitReaderBit                         ,----- ** byte #attr:byte#-{- | Current byte position--}-#if ENABLE_OVERLOADING-    bitReader_byte                          ,-#endif-    getBitReaderByte                        ,-    setBitReaderByte                        ,----- ** size #attr:size#-{- | Size of /@data@/ in bytes--}-#if ENABLE_OVERLOADING-    bitReader_size                          ,-#endif-    getBitReaderSize                        ,-    setBitReaderSize                        ,-----    ) 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 BitReader = BitReader (ManagedPtr BitReader)-instance WrappedPtr BitReader where-    wrappedPtrCalloc = callocBytes 56-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr BitReader)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `BitReader` struct initialized to zero.-newZeroBitReader :: MonadIO m => m BitReader-newZeroBitReader = liftIO $ wrappedPtrCalloc >>= wrapPtr BitReader--instance tag ~ 'AttrSet => Constructible BitReader tag where-    new _ attrs = do-        o <- newZeroBitReader-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `BitReader`.-noBitReader :: Maybe BitReader-noBitReader = Nothing---- XXX Skipped attribute for "BitReader:data" :: Not implemented: "Don't know how to unpack C array of type TCArray False (-1) 1 (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' bitReader #size-@--}-getBitReaderSize :: MonadIO m => BitReader -> m Word32-getBitReaderSize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: 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' bitReader [ #size 'Data.GI.Base.Attributes.:=' value ]-@--}-setBitReaderSize :: MonadIO m => BitReader -> Word32 -> m ()-setBitReaderSize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word32)--#if ENABLE_OVERLOADING-data BitReaderSizeFieldInfo-instance AttrInfo BitReaderSizeFieldInfo where-    type AttrAllowedOps BitReaderSizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BitReaderSizeFieldInfo = (~) Word32-    type AttrBaseTypeConstraint BitReaderSizeFieldInfo = (~) BitReader-    type AttrGetType BitReaderSizeFieldInfo = Word32-    type AttrLabel BitReaderSizeFieldInfo = "size"-    type AttrOrigin BitReaderSizeFieldInfo = BitReader-    attrGet _ = getBitReaderSize-    attrSet _ = setBitReaderSize-    attrConstruct = undefined-    attrClear _ = undefined--bitReader_size :: AttrLabelProxy "size"-bitReader_size = AttrLabelProxy--#endif---{- |-Get the value of the “@byte@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' bitReader #byte-@--}-getBitReaderByte :: MonadIO m => BitReader -> m Word32-getBitReaderByte s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Word32-    return val--{- |-Set the value of the “@byte@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' bitReader [ #byte 'Data.GI.Base.Attributes.:=' value ]-@--}-setBitReaderByte :: MonadIO m => BitReader -> Word32 -> m ()-setBitReaderByte s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 12) (val :: Word32)--#if ENABLE_OVERLOADING-data BitReaderByteFieldInfo-instance AttrInfo BitReaderByteFieldInfo where-    type AttrAllowedOps BitReaderByteFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BitReaderByteFieldInfo = (~) Word32-    type AttrBaseTypeConstraint BitReaderByteFieldInfo = (~) BitReader-    type AttrGetType BitReaderByteFieldInfo = Word32-    type AttrLabel BitReaderByteFieldInfo = "byte"-    type AttrOrigin BitReaderByteFieldInfo = BitReader-    attrGet _ = getBitReaderByte-    attrSet _ = setBitReaderByte-    attrConstruct = undefined-    attrClear _ = undefined--bitReader_byte :: AttrLabelProxy "byte"-bitReader_byte = AttrLabelProxy--#endif---{- |-Get the value of the “@bit@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' bitReader #bit-@--}-getBitReaderBit :: MonadIO m => BitReader -> m Word32-getBitReaderBit s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word32-    return val--{- |-Set the value of the “@bit@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' bitReader [ #bit 'Data.GI.Base.Attributes.:=' value ]-@--}-setBitReaderBit :: MonadIO m => BitReader -> Word32 -> m ()-setBitReaderBit s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word32)--#if ENABLE_OVERLOADING-data BitReaderBitFieldInfo-instance AttrInfo BitReaderBitFieldInfo where-    type AttrAllowedOps BitReaderBitFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BitReaderBitFieldInfo = (~) Word32-    type AttrBaseTypeConstraint BitReaderBitFieldInfo = (~) BitReader-    type AttrGetType BitReaderBitFieldInfo = Word32-    type AttrLabel BitReaderBitFieldInfo = "bit"-    type AttrOrigin BitReaderBitFieldInfo = BitReader-    attrGet _ = getBitReaderBit-    attrSet _ = setBitReaderBit-    attrConstruct = undefined-    attrClear _ = undefined--bitReader_bit :: AttrLabelProxy "bit"-bitReader_bit = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList BitReader-type instance O.AttributeList BitReader = BitReaderAttributeList-type BitReaderAttributeList = ('[ '("size", BitReaderSizeFieldInfo), '("byte", BitReaderByteFieldInfo), '("bit", BitReaderBitFieldInfo)] :: [(Symbol, *)])-#endif---- method BitReader::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bit_reader_free" gst_bit_reader_free :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    IO ()--{- |-Frees a 'GI.GstBase.Structs.BitReader.BitReader' instance, which was previously allocated by-@/gst_bit_reader_new()/@.--}-bitReaderFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> m ()-bitReaderFree reader = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    gst_bit_reader_free reader'-    touchManagedPtr reader-    return ()--#if ENABLE_OVERLOADING-data BitReaderFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BitReaderFreeMethodInfo BitReader signature where-    overloadedMethod _ = bitReaderFree--#endif---- method BitReader::get_bits_uint16--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt16, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to a #guint16 to store the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to read", sinceVersion = 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_bit_reader_get_bits_uint16" gst_bit_reader_get_bits_uint16 :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Ptr Word16 ->                           -- val : TBasicType TUInt16-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Read /@nbits@/ bits into /@val@/ and update the current position.--}-bitReaderGetBitsUint16 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@nbits@/: number of bits to read -}-    -> m ((Bool, Word16))-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitReaderGetBitsUint16 reader nbits = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    val <- allocMem :: IO (Ptr Word16)-    result <- gst_bit_reader_get_bits_uint16 reader' val nbits-    let result' = (/= 0) result-    val' <- peek val-    touchManagedPtr reader-    freeMem val-    return (result', val')--#if ENABLE_OVERLOADING-data BitReaderGetBitsUint16MethodInfo-instance (signature ~ (Word32 -> m ((Bool, Word16))), MonadIO m) => O.MethodInfo BitReaderGetBitsUint16MethodInfo BitReader signature where-    overloadedMethod _ = bitReaderGetBitsUint16--#endif---- method BitReader::get_bits_uint32--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to a #guint32 to store the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to read", sinceVersion = 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_bit_reader_get_bits_uint32" gst_bit_reader_get_bits_uint32 :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Ptr Word32 ->                           -- val : TBasicType TUInt32-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Read /@nbits@/ bits into /@val@/ and update the current position.--}-bitReaderGetBitsUint32 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@nbits@/: number of bits to read -}-    -> m ((Bool, Word32))-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitReaderGetBitsUint32 reader nbits = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    val <- allocMem :: IO (Ptr Word32)-    result <- gst_bit_reader_get_bits_uint32 reader' val nbits-    let result' = (/= 0) result-    val' <- peek val-    touchManagedPtr reader-    freeMem val-    return (result', val')--#if ENABLE_OVERLOADING-data BitReaderGetBitsUint32MethodInfo-instance (signature ~ (Word32 -> m ((Bool, Word32))), MonadIO m) => O.MethodInfo BitReaderGetBitsUint32MethodInfo BitReader signature where-    overloadedMethod _ = bitReaderGetBitsUint32--#endif---- method BitReader::get_bits_uint64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to a #guint64 to store the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to read", sinceVersion = 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_bit_reader_get_bits_uint64" gst_bit_reader_get_bits_uint64 :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Ptr Word64 ->                           -- val : TBasicType TUInt64-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Read /@nbits@/ bits into /@val@/ and update the current position.--}-bitReaderGetBitsUint64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@nbits@/: number of bits to read -}-    -> m ((Bool, Word64))-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitReaderGetBitsUint64 reader nbits = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    val <- allocMem :: IO (Ptr Word64)-    result <- gst_bit_reader_get_bits_uint64 reader' val nbits-    let result' = (/= 0) result-    val' <- peek val-    touchManagedPtr reader-    freeMem val-    return (result', val')--#if ENABLE_OVERLOADING-data BitReaderGetBitsUint64MethodInfo-instance (signature ~ (Word32 -> m ((Bool, Word64))), MonadIO m) => O.MethodInfo BitReaderGetBitsUint64MethodInfo BitReader signature where-    overloadedMethod _ = bitReaderGetBitsUint64--#endif---- method BitReader::get_bits_uint8--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to a #guint8 to store the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to read", sinceVersion = 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_bit_reader_get_bits_uint8" gst_bit_reader_get_bits_uint8 :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Ptr Word8 ->                            -- val : TBasicType TUInt8-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Read /@nbits@/ bits into /@val@/ and update the current position.--}-bitReaderGetBitsUint8 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@nbits@/: number of bits to read -}-    -> m ((Bool, Word8))-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitReaderGetBitsUint8 reader nbits = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    val <- allocMem :: IO (Ptr Word8)-    result <- gst_bit_reader_get_bits_uint8 reader' val nbits-    let result' = (/= 0) result-    val' <- peek val-    touchManagedPtr reader-    freeMem val-    return (result', val')--#if ENABLE_OVERLOADING-data BitReaderGetBitsUint8MethodInfo-instance (signature ~ (Word32 -> m ((Bool, Word8))), MonadIO m) => O.MethodInfo BitReaderGetBitsUint8MethodInfo BitReader signature where-    overloadedMethod _ = bitReaderGetBitsUint8--#endif---- method BitReader::get_pos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", 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_bit_reader_get_pos" gst_bit_reader_get_pos :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    IO Word32--{- |-Returns the current position of a 'GI.GstBase.Structs.BitReader.BitReader' instance in bits.--}-bitReaderGetPos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> m Word32-    {- ^ __Returns:__ The current position of /@reader@/ in bits. -}-bitReaderGetPos reader = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    result <- gst_bit_reader_get_pos reader'-    touchManagedPtr reader-    return result--#if ENABLE_OVERLOADING-data BitReaderGetPosMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo BitReaderGetPosMethodInfo BitReader signature where-    overloadedMethod _ = bitReaderGetPos--#endif---- method BitReader::get_remaining--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", 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_bit_reader_get_remaining" gst_bit_reader_get_remaining :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    IO Word32--{- |-Returns the remaining number of bits of a 'GI.GstBase.Structs.BitReader.BitReader' instance.--}-bitReaderGetRemaining ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> m Word32-    {- ^ __Returns:__ The remaining number of bits of /@reader@/ instance. -}-bitReaderGetRemaining reader = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    result <- gst_bit_reader_get_remaining reader'-    touchManagedPtr reader-    return result--#if ENABLE_OVERLOADING-data BitReaderGetRemainingMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo BitReaderGetRemainingMethodInfo BitReader signature where-    overloadedMethod _ = bitReaderGetRemaining--#endif---- method BitReader::get_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", 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_bit_reader_get_size" gst_bit_reader_get_size :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    IO Word32--{- |-Returns the total number of bits of a 'GI.GstBase.Structs.BitReader.BitReader' instance.--}-bitReaderGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> m Word32-    {- ^ __Returns:__ The total number of bits of /@reader@/ instance. -}-bitReaderGetSize reader = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    result <- gst_bit_reader_get_size reader'-    touchManagedPtr reader-    return result--#if ENABLE_OVERLOADING-data BitReaderGetSizeMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo BitReaderGetSizeMethodInfo BitReader signature where-    overloadedMethod _ = bitReaderGetSize--#endif---- method BitReader::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "data from which the bit reader should read", 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 "Size of @data in bytes", 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 "Size of @data in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bit_reader_init" gst_bit_reader_init :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)-    Word32 ->                               -- size : TBasicType TUInt-    IO ()--{- |-Initializes a 'GI.GstBase.Structs.BitReader.BitReader' instance to read from /@data@/. This function-can be called on already initialized instances.--}-bitReaderInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> ByteString-    {- ^ /@data@/: data from which the bit reader should read -}-    -> m ()-bitReaderInit reader data_ = liftIO $ do-    let size = fromIntegral $ B.length data_-    reader' <- unsafeManagedPtrGetPtr reader-    data_' <- packByteString data_-    gst_bit_reader_init reader' data_' size-    touchManagedPtr reader-    freeMem data_'-    return ()--#if ENABLE_OVERLOADING-data BitReaderInitMethodInfo-instance (signature ~ (ByteString -> m ()), MonadIO m) => O.MethodInfo BitReaderInitMethodInfo BitReader signature where-    overloadedMethod _ = bitReaderInit--#endif---- method BitReader::peek_bits_uint16--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt16, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to a #guint16 to store the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to read", sinceVersion = 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_bit_reader_peek_bits_uint16" gst_bit_reader_peek_bits_uint16 :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Ptr Word16 ->                           -- val : TBasicType TUInt16-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Read /@nbits@/ bits into /@val@/ but keep the current position.--}-bitReaderPeekBitsUint16 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@nbits@/: number of bits to read -}-    -> m ((Bool, Word16))-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitReaderPeekBitsUint16 reader nbits = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    val <- allocMem :: IO (Ptr Word16)-    result <- gst_bit_reader_peek_bits_uint16 reader' val nbits-    let result' = (/= 0) result-    val' <- peek val-    touchManagedPtr reader-    freeMem val-    return (result', val')--#if ENABLE_OVERLOADING-data BitReaderPeekBitsUint16MethodInfo-instance (signature ~ (Word32 -> m ((Bool, Word16))), MonadIO m) => O.MethodInfo BitReaderPeekBitsUint16MethodInfo BitReader signature where-    overloadedMethod _ = bitReaderPeekBitsUint16--#endif---- method BitReader::peek_bits_uint32--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to a #guint32 to store the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to read", sinceVersion = 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_bit_reader_peek_bits_uint32" gst_bit_reader_peek_bits_uint32 :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Ptr Word32 ->                           -- val : TBasicType TUInt32-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Read /@nbits@/ bits into /@val@/ but keep the current position.--}-bitReaderPeekBitsUint32 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@nbits@/: number of bits to read -}-    -> m ((Bool, Word32))-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitReaderPeekBitsUint32 reader nbits = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    val <- allocMem :: IO (Ptr Word32)-    result <- gst_bit_reader_peek_bits_uint32 reader' val nbits-    let result' = (/= 0) result-    val' <- peek val-    touchManagedPtr reader-    freeMem val-    return (result', val')--#if ENABLE_OVERLOADING-data BitReaderPeekBitsUint32MethodInfo-instance (signature ~ (Word32 -> m ((Bool, Word32))), MonadIO m) => O.MethodInfo BitReaderPeekBitsUint32MethodInfo BitReader signature where-    overloadedMethod _ = bitReaderPeekBitsUint32--#endif---- method BitReader::peek_bits_uint64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to a #guint64 to store the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to read", sinceVersion = 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_bit_reader_peek_bits_uint64" gst_bit_reader_peek_bits_uint64 :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Ptr Word64 ->                           -- val : TBasicType TUInt64-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Read /@nbits@/ bits into /@val@/ but keep the current position.--}-bitReaderPeekBitsUint64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@nbits@/: number of bits to read -}-    -> m ((Bool, Word64))-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitReaderPeekBitsUint64 reader nbits = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    val <- allocMem :: IO (Ptr Word64)-    result <- gst_bit_reader_peek_bits_uint64 reader' val nbits-    let result' = (/= 0) result-    val' <- peek val-    touchManagedPtr reader-    freeMem val-    return (result', val')--#if ENABLE_OVERLOADING-data BitReaderPeekBitsUint64MethodInfo-instance (signature ~ (Word32 -> m ((Bool, Word64))), MonadIO m) => O.MethodInfo BitReaderPeekBitsUint64MethodInfo BitReader signature where-    overloadedMethod _ = bitReaderPeekBitsUint64--#endif---- method BitReader::peek_bits_uint8--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer to a #guint8 to store the result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to read", sinceVersion = 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_bit_reader_peek_bits_uint8" gst_bit_reader_peek_bits_uint8 :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Ptr Word8 ->                            -- val : TBasicType TUInt8-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Read /@nbits@/ bits into /@val@/ but keep the current position.--}-bitReaderPeekBitsUint8 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@nbits@/: number of bits to read -}-    -> m ((Bool, Word8))-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitReaderPeekBitsUint8 reader nbits = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    val <- allocMem :: IO (Ptr Word8)-    result <- gst_bit_reader_peek_bits_uint8 reader' val nbits-    let result' = (/= 0) result-    val' <- peek val-    touchManagedPtr reader-    freeMem val-    return (result', val')--#if ENABLE_OVERLOADING-data BitReaderPeekBitsUint8MethodInfo-instance (signature ~ (Word32 -> m ((Bool, Word8))), MonadIO m) => O.MethodInfo BitReaderPeekBitsUint8MethodInfo BitReader signature where-    overloadedMethod _ = bitReaderPeekBitsUint8--#endif---- method BitReader::set_pos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new position in bits", sinceVersion = 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_bit_reader_set_pos" gst_bit_reader_set_pos :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Word32 ->                               -- pos : TBasicType TUInt-    IO CInt--{- |-Sets the new position of a 'GI.GstBase.Structs.BitReader.BitReader' instance to /@pos@/ in bits.--}-bitReaderSetPos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@pos@/: The new position in bits -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the position could be set successfully, 'False'-otherwise. -}-bitReaderSetPos reader pos = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    result <- gst_bit_reader_set_pos reader' pos-    let result' = (/= 0) result-    touchManagedPtr reader-    return result'--#if ENABLE_OVERLOADING-data BitReaderSetPosMethodInfo-instance (signature ~ (Word32 -> m Bool), MonadIO m) => O.MethodInfo BitReaderSetPosMethodInfo BitReader signature where-    overloadedMethod _ = bitReaderSetPos--#endif---- method BitReader::skip--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bits to skip", sinceVersion = 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_bit_reader_skip" gst_bit_reader_skip :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Skips /@nbits@/ bits of the 'GI.GstBase.Structs.BitReader.BitReader' instance.--}-bitReaderSkip ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> Word32-    {- ^ /@nbits@/: the number of bits to skip -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@nbits@/ bits could be skipped, 'False' otherwise. -}-bitReaderSkip reader nbits = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    result <- gst_bit_reader_skip reader' nbits-    let result' = (/= 0) result-    touchManagedPtr reader-    return result'--#if ENABLE_OVERLOADING-data BitReaderSkipMethodInfo-instance (signature ~ (Word32 -> m Bool), MonadIO m) => O.MethodInfo BitReaderSkipMethodInfo BitReader signature where-    overloadedMethod _ = bitReaderSkip--#endif---- method BitReader::skip_to_byte--- method type : OrdinaryMethod--- Args : [Arg {argCName = "reader", argType = TInterface (Name {namespace = "GstBase", name = "BitReader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitReader instance", sinceVersion = 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_bit_reader_skip_to_byte" gst_bit_reader_skip_to_byte :: -    Ptr BitReader ->                        -- reader : TInterface (Name {namespace = "GstBase", name = "BitReader"})-    IO CInt--{- |-Skips until the next byte.--}-bitReaderSkipToByte ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitReader-    {- ^ /@reader@/: a 'GI.GstBase.Structs.BitReader.BitReader' instance -}-    -> m Bool-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitReaderSkipToByte reader = liftIO $ do-    reader' <- unsafeManagedPtrGetPtr reader-    result <- gst_bit_reader_skip_to_byte reader'-    let result' = (/= 0) result-    touchManagedPtr reader-    return result'--#if ENABLE_OVERLOADING-data BitReaderSkipToByteMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo BitReaderSkipToByteMethodInfo BitReader signature where-    overloadedMethod _ = bitReaderSkipToByte--#endif--#if ENABLE_OVERLOADING-type family ResolveBitReaderMethod (t :: Symbol) (o :: *) :: * where-    ResolveBitReaderMethod "free" o = BitReaderFreeMethodInfo-    ResolveBitReaderMethod "init" o = BitReaderInitMethodInfo-    ResolveBitReaderMethod "peekBitsUint16" o = BitReaderPeekBitsUint16MethodInfo-    ResolveBitReaderMethod "peekBitsUint32" o = BitReaderPeekBitsUint32MethodInfo-    ResolveBitReaderMethod "peekBitsUint64" o = BitReaderPeekBitsUint64MethodInfo-    ResolveBitReaderMethod "peekBitsUint8" o = BitReaderPeekBitsUint8MethodInfo-    ResolveBitReaderMethod "skip" o = BitReaderSkipMethodInfo-    ResolveBitReaderMethod "skipToByte" o = BitReaderSkipToByteMethodInfo-    ResolveBitReaderMethod "getBitsUint16" o = BitReaderGetBitsUint16MethodInfo-    ResolveBitReaderMethod "getBitsUint32" o = BitReaderGetBitsUint32MethodInfo-    ResolveBitReaderMethod "getBitsUint64" o = BitReaderGetBitsUint64MethodInfo-    ResolveBitReaderMethod "getBitsUint8" o = BitReaderGetBitsUint8MethodInfo-    ResolveBitReaderMethod "getPos" o = BitReaderGetPosMethodInfo-    ResolveBitReaderMethod "getRemaining" o = BitReaderGetRemainingMethodInfo-    ResolveBitReaderMethod "getSize" o = BitReaderGetSizeMethodInfo-    ResolveBitReaderMethod "setPos" o = BitReaderSetPosMethodInfo-    ResolveBitReaderMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBitReaderMethod t BitReader, O.MethodInfo info BitReader p) => OL.IsLabel t (BitReader -> 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/GstBase/Structs/BitReader.hs-boot
@@ -1,74 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Structs.BitReader 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 BitReader = BitReader (ManagedPtr BitReader)-instance WrappedPtr BitReader where-#if ENABLE_OVERLOADING-data BitReaderFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderGetBitsUint16MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderGetBitsUint32MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderGetBitsUint64MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderGetBitsUint8MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderGetPosMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderGetRemainingMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderGetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderPeekBitsUint16MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderPeekBitsUint32MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderPeekBitsUint64MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderPeekBitsUint8MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderSetPosMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderSkipMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitReaderSkipToByteMethodInfo-#endif
− GI/GstBase/Structs/BitWriter.hs
@@ -1,861 +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.GstBase.Structs.BitWriter.BitWriter' provides a bit writer that can write any number of-bits into a memory buffer. It provides functions for writing any-number of bits into 8, 16, 32 and 64 bit variables.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Structs.BitWriter-    ( ---- * Exported types-    BitWriter(..)                           ,-    newZeroBitWriter                        ,-    noBitWriter                             ,--- -- * Methods--- ** alignBytes #method:alignBytes#--#if ENABLE_OVERLOADING-    BitWriterAlignBytesMethodInfo           ,-#endif-    bitWriterAlignBytes                     ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    BitWriterFreeMethodInfo                 ,-#endif-    bitWriterFree                           ,----- ** freeAndGetBuffer #method:freeAndGetBuffer#--#if ENABLE_OVERLOADING-    BitWriterFreeAndGetBufferMethodInfo     ,-#endif-    bitWriterFreeAndGetBuffer               ,----- ** getData #method:getData#--#if ENABLE_OVERLOADING-    BitWriterGetDataMethodInfo              ,-#endif-    bitWriterGetData                        ,----- ** getRemaining #method:getRemaining#--#if ENABLE_OVERLOADING-    BitWriterGetRemainingMethodInfo         ,-#endif-    bitWriterGetRemaining                   ,----- ** getSize #method:getSize#--#if ENABLE_OVERLOADING-    BitWriterGetSizeMethodInfo              ,-#endif-    bitWriterGetSize                        ,----- ** putBitsUint16 #method:putBitsUint16#--#if ENABLE_OVERLOADING-    BitWriterPutBitsUint16MethodInfo        ,-#endif-    bitWriterPutBitsUint16                  ,----- ** putBitsUint32 #method:putBitsUint32#--#if ENABLE_OVERLOADING-    BitWriterPutBitsUint32MethodInfo        ,-#endif-    bitWriterPutBitsUint32                  ,----- ** putBitsUint64 #method:putBitsUint64#--#if ENABLE_OVERLOADING-    BitWriterPutBitsUint64MethodInfo        ,-#endif-    bitWriterPutBitsUint64                  ,----- ** putBitsUint8 #method:putBitsUint8#--#if ENABLE_OVERLOADING-    BitWriterPutBitsUint8MethodInfo         ,-#endif-    bitWriterPutBitsUint8                   ,----- ** putBytes #method:putBytes#--#if ENABLE_OVERLOADING-    BitWriterPutBytesMethodInfo             ,-#endif-    bitWriterPutBytes                       ,----- ** reset #method:reset#--#if ENABLE_OVERLOADING-    BitWriterResetMethodInfo                ,-#endif-    bitWriterReset                          ,----- ** resetAndGetBuffer #method:resetAndGetBuffer#--#if ENABLE_OVERLOADING-    BitWriterResetAndGetBufferMethodInfo    ,-#endif-    bitWriterResetAndGetBuffer              ,----- ** setPos #method:setPos#--#if ENABLE_OVERLOADING-    BitWriterSetPosMethodInfo               ,-#endif-    bitWriterSetPos                         ,----- -- * Properties--- ** bitSize #attr:bitSize#-{- | Size of written /@data@/ in bits--}-#if ENABLE_OVERLOADING-    bitWriter_bitSize                       ,-#endif-    getBitWriterBitSize                     ,-    setBitWriterBitSize                     ,----- ** data #attr:data#-{- | Allocated /@data@/ for bit writer to write--}-#if ENABLE_OVERLOADING-    bitWriter_data                          ,-#endif-    getBitWriterData                        ,-    setBitWriterData                        ,-----    ) 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.Structs.Buffer as Gst.Buffer---- | Memory-managed wrapper type.-newtype BitWriter = BitWriter (ManagedPtr BitWriter)-instance WrappedPtr BitWriter where-    wrappedPtrCalloc = callocBytes 56-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr BitWriter)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `BitWriter` struct initialized to zero.-newZeroBitWriter :: MonadIO m => m BitWriter-newZeroBitWriter = liftIO $ wrappedPtrCalloc >>= wrapPtr BitWriter--instance tag ~ 'AttrSet => Constructible BitWriter tag where-    new _ attrs = do-        o <- newZeroBitWriter-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `BitWriter`.-noBitWriter :: Maybe BitWriter-noBitWriter = Nothing--{- |-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' bitWriter #data-@--}-getBitWriterData :: MonadIO m => BitWriter -> m Word8-getBitWriterData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word8-    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' bitWriter [ #data 'Data.GI.Base.Attributes.:=' value ]-@--}-setBitWriterData :: MonadIO m => BitWriter -> Word8 -> m ()-setBitWriterData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Word8)--#if ENABLE_OVERLOADING-data BitWriterDataFieldInfo-instance AttrInfo BitWriterDataFieldInfo where-    type AttrAllowedOps BitWriterDataFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BitWriterDataFieldInfo = (~) Word8-    type AttrBaseTypeConstraint BitWriterDataFieldInfo = (~) BitWriter-    type AttrGetType BitWriterDataFieldInfo = Word8-    type AttrLabel BitWriterDataFieldInfo = "data"-    type AttrOrigin BitWriterDataFieldInfo = BitWriter-    attrGet _ = getBitWriterData-    attrSet _ = setBitWriterData-    attrConstruct = undefined-    attrClear _ = undefined--bitWriter_data :: AttrLabelProxy "data"-bitWriter_data = AttrLabelProxy--#endif---{- |-Get the value of the “@bit_size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' bitWriter #bitSize-@--}-getBitWriterBitSize :: MonadIO m => BitWriter -> m Word32-getBitWriterBitSize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word32-    return val--{- |-Set the value of the “@bit_size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' bitWriter [ #bitSize 'Data.GI.Base.Attributes.:=' value ]-@--}-setBitWriterBitSize :: MonadIO m => BitWriter -> Word32 -> m ()-setBitWriterBitSize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word32)--#if ENABLE_OVERLOADING-data BitWriterBitSizeFieldInfo-instance AttrInfo BitWriterBitSizeFieldInfo where-    type AttrAllowedOps BitWriterBitSizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint BitWriterBitSizeFieldInfo = (~) Word32-    type AttrBaseTypeConstraint BitWriterBitSizeFieldInfo = (~) BitWriter-    type AttrGetType BitWriterBitSizeFieldInfo = Word32-    type AttrLabel BitWriterBitSizeFieldInfo = "bit_size"-    type AttrOrigin BitWriterBitSizeFieldInfo = BitWriter-    attrGet _ = getBitWriterBitSize-    attrSet _ = setBitWriterBitSize-    attrConstruct = undefined-    attrClear _ = undefined--bitWriter_bitSize :: AttrLabelProxy "bitSize"-bitWriter_bitSize = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList BitWriter-type instance O.AttributeList BitWriter = BitWriterAttributeList-type BitWriterAttributeList = ('[ '("data", BitWriterDataFieldInfo), '("bitSize", BitWriterBitSizeFieldInfo)] :: [(Symbol, *)])-#endif---- method BitWriter::align_bytes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitWriter instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "trailing_bit", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "trailing bits of last byte, 0 or 1", sinceVersion = 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_bit_writer_align_bytes" gst_bit_writer_align_bytes :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    Word8 ->                                -- trailing_bit : TBasicType TUInt8-    IO CInt--{- |-Write trailing bit to align last byte of /@data@/. /@trailingBit@/ can-only be 1 or 0.--}-bitWriterAlignBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: a 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> Word8-    {- ^ /@trailingBit@/: trailing bits of last byte, 0 or 1 -}-    -> m Bool-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitWriterAlignBytes bitwriter trailingBit = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_align_bytes bitwriter' trailingBit-    let result' = (/= 0) result-    touchManagedPtr bitwriter-    return result'--#if ENABLE_OVERLOADING-data BitWriterAlignBytesMethodInfo-instance (signature ~ (Word8 -> m Bool), MonadIO m) => O.MethodInfo BitWriterAlignBytesMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterAlignBytes--#endif---- method BitWriter::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBitWriter instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bit_writer_free" gst_bit_writer_free :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    IO ()--{- |-Frees /@bitwriter@/ and the allocated data inside.--}-bitWriterFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> m ()-bitWriterFree bitwriter = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    gst_bit_writer_free bitwriter'-    touchManagedPtr bitwriter-    return ()--#if ENABLE_OVERLOADING-data BitWriterFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BitWriterFreeMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterFree--#endif---- method BitWriter::free_and_get_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBitWriter instance", 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_bit_writer_free_and_get_buffer" gst_bit_writer_free_and_get_buffer :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    IO (Ptr Gst.Buffer.Buffer)--{- |-Frees /@bitwriter@/ without destroying the internal data, which is-returned as 'GI.Gst.Structs.Buffer.Buffer'.--Free-function: gst_buffer_unref--}-bitWriterFreeAndGetBuffer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> m Gst.Buffer.Buffer-    {- ^ __Returns:__ a new allocated 'GI.Gst.Structs.Buffer.Buffer' wrapping the-    data inside. @/gst_buffer_unref()/@ after usage. -}-bitWriterFreeAndGetBuffer bitwriter = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_free_and_get_buffer bitwriter'-    checkUnexpectedReturnNULL "bitWriterFreeAndGetBuffer" result-    result' <- (wrapBoxed Gst.Buffer.Buffer) result-    touchManagedPtr bitwriter-    return result'--#if ENABLE_OVERLOADING-data BitWriterFreeAndGetBufferMethodInfo-instance (signature ~ (m Gst.Buffer.Buffer), MonadIO m) => O.MethodInfo BitWriterFreeAndGetBufferMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterFreeAndGetBuffer--#endif---- XXX Could not generate method BitWriter::free_and_get_data--- Error was : Bad introspection data: "`TCArray False (-1) (-1) (TBasicType TUInt8)' is an array type, but contains no length information,\nso it cannot be unpacked."--- method BitWriter::get_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitWriter instance", 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 "gst_bit_writer_get_data" gst_bit_writer_get_data :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    IO Word8--{- |-Get written data pointer--}-bitWriterGetData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: a 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> m Word8-    {- ^ __Returns:__ data pointer -}-bitWriterGetData bitwriter = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_get_data bitwriter'-    touchManagedPtr bitwriter-    return result--#if ENABLE_OVERLOADING-data BitWriterGetDataMethodInfo-instance (signature ~ (m Word8), MonadIO m) => O.MethodInfo BitWriterGetDataMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterGetData--#endif---- method BitWriter::get_remaining--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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_bit_writer_get_remaining" gst_bit_writer_get_remaining :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    IO Word32--{- |-/No description available in the introspection data./--}-bitWriterGetRemaining ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    -> m Word32-bitWriterGetRemaining bitwriter = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_get_remaining bitwriter'-    touchManagedPtr bitwriter-    return result--#if ENABLE_OVERLOADING-data BitWriterGetRemainingMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo BitWriterGetRemainingMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterGetRemaining--#endif---- method BitWriter::get_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitWriter instance", 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_bit_writer_get_size" gst_bit_writer_get_size :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    IO Word32--{- |-Get size of written /@data@/--}-bitWriterGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: a 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> m Word32-    {- ^ __Returns:__ size of bits written in /@data@/ -}-bitWriterGetSize bitwriter = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_get_size bitwriter'-    touchManagedPtr bitwriter-    return result--#if ENABLE_OVERLOADING-data BitWriterGetSizeMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo BitWriterGetSizeMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterGetSize--#endif---- method BitWriter::put_bits_uint16--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitWriter instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value of #guint16 to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to write", sinceVersion = 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_bit_writer_put_bits_uint16" gst_bit_writer_put_bits_uint16 :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    Word16 ->                               -- value : TBasicType TUInt16-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Write /@nbits@/ bits of /@value@/ to 'GI.GstBase.Structs.BitWriter.BitWriter'.--}-bitWriterPutBitsUint16 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: a 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> Word16-    {- ^ /@value@/: value of @/guint16/@ to write -}-    -> Word32-    {- ^ /@nbits@/: number of bits to write -}-    -> m Bool-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitWriterPutBitsUint16 bitwriter value nbits = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_put_bits_uint16 bitwriter' value nbits-    let result' = (/= 0) result-    touchManagedPtr bitwriter-    return result'--#if ENABLE_OVERLOADING-data BitWriterPutBitsUint16MethodInfo-instance (signature ~ (Word16 -> Word32 -> m Bool), MonadIO m) => O.MethodInfo BitWriterPutBitsUint16MethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterPutBitsUint16--#endif---- method BitWriter::put_bits_uint32--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitWriter instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value of #guint32 to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to write", sinceVersion = 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_bit_writer_put_bits_uint32" gst_bit_writer_put_bits_uint32 :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    Word32 ->                               -- value : TBasicType TUInt32-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Write /@nbits@/ bits of /@value@/ to 'GI.GstBase.Structs.BitWriter.BitWriter'.--}-bitWriterPutBitsUint32 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: a 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> Word32-    {- ^ /@value@/: value of @/guint32/@ to write -}-    -> Word32-    {- ^ /@nbits@/: number of bits to write -}-    -> m Bool-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitWriterPutBitsUint32 bitwriter value nbits = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_put_bits_uint32 bitwriter' value nbits-    let result' = (/= 0) result-    touchManagedPtr bitwriter-    return result'--#if ENABLE_OVERLOADING-data BitWriterPutBitsUint32MethodInfo-instance (signature ~ (Word32 -> Word32 -> m Bool), MonadIO m) => O.MethodInfo BitWriterPutBitsUint32MethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterPutBitsUint32--#endif---- method BitWriter::put_bits_uint64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitWriter instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value of #guint64 to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to write", sinceVersion = 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_bit_writer_put_bits_uint64" gst_bit_writer_put_bits_uint64 :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    Word64 ->                               -- value : TBasicType TUInt64-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Write /@nbits@/ bits of /@value@/ to 'GI.GstBase.Structs.BitWriter.BitWriter'.--}-bitWriterPutBitsUint64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: a 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> Word64-    {- ^ /@value@/: value of @/guint64/@ to write -}-    -> Word32-    {- ^ /@nbits@/: number of bits to write -}-    -> m Bool-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitWriterPutBitsUint64 bitwriter value nbits = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_put_bits_uint64 bitwriter' value nbits-    let result' = (/= 0) result-    touchManagedPtr bitwriter-    return result'--#if ENABLE_OVERLOADING-data BitWriterPutBitsUint64MethodInfo-instance (signature ~ (Word64 -> Word32 -> m Bool), MonadIO m) => O.MethodInfo BitWriterPutBitsUint64MethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterPutBitsUint64--#endif---- method BitWriter::put_bits_uint8--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitWriter instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "value of #guint8 to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbits", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bits to write", sinceVersion = 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_bit_writer_put_bits_uint8" gst_bit_writer_put_bits_uint8 :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    Word8 ->                                -- value : TBasicType TUInt8-    Word32 ->                               -- nbits : TBasicType TUInt-    IO CInt--{- |-Write /@nbits@/ bits of /@value@/ to 'GI.GstBase.Structs.BitWriter.BitWriter'.--}-bitWriterPutBitsUint8 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: a 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> Word8-    {- ^ /@value@/: value of @/guint8/@ to write -}-    -> Word32-    {- ^ /@nbits@/: number of bits to write -}-    -> m Bool-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitWriterPutBitsUint8 bitwriter value nbits = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_put_bits_uint8 bitwriter' value nbits-    let result' = (/= 0) result-    touchManagedPtr bitwriter-    return result'--#if ENABLE_OVERLOADING-data BitWriterPutBitsUint8MethodInfo-instance (signature ~ (Word8 -> Word32 -> m Bool), MonadIO m) => O.MethodInfo BitWriterPutBitsUint8MethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterPutBitsUint8--#endif---- method BitWriter::put_bytes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitWriter instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer of data to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nbytes", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bytes to write", sinceVersion = 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_bit_writer_put_bytes" gst_bit_writer_put_bytes :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    Word8 ->                                -- data : TBasicType TUInt8-    Word32 ->                               -- nbytes : TBasicType TUInt-    IO CInt--{- |-Write /@nbytes@/ bytes of /@data@/ to 'GI.GstBase.Structs.BitWriter.BitWriter'.--}-bitWriterPutBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: a 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> Word8-    {- ^ /@data@/: pointer of data to write -}-    -> Word32-    {- ^ /@nbytes@/: number of bytes to write -}-    -> m Bool-    {- ^ __Returns:__ 'True' if successful, 'False' otherwise. -}-bitWriterPutBytes bitwriter data_ nbytes = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_put_bytes bitwriter' data_ nbytes-    let result' = (/= 0) result-    touchManagedPtr bitwriter-    return result'--#if ENABLE_OVERLOADING-data BitWriterPutBytesMethodInfo-instance (signature ~ (Word8 -> Word32 -> m Bool), MonadIO m) => O.MethodInfo BitWriterPutBytesMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterPutBytes--#endif---- method BitWriter::reset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstBitWriter instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_bit_writer_reset" gst_bit_writer_reset :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    IO ()--{- |-Resets /@bitwriter@/ and frees the data if it\'s owned by /@bitwriter@/.--}-bitWriterReset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> m ()-bitWriterReset bitwriter = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    gst_bit_writer_reset bitwriter'-    touchManagedPtr bitwriter-    return ()--#if ENABLE_OVERLOADING-data BitWriterResetMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BitWriterResetMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterReset--#endif---- method BitWriter::reset_and_get_buffer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBitWriter instance", 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_bit_writer_reset_and_get_buffer" gst_bit_writer_reset_and_get_buffer :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    IO (Ptr Gst.Buffer.Buffer)--{- |-Resets /@bitwriter@/ and returns the current data as 'GI.Gst.Structs.Buffer.Buffer'.--Free-function: gst_buffer_unref--}-bitWriterResetAndGetBuffer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    {- ^ /@bitwriter@/: a 'GI.GstBase.Structs.BitWriter.BitWriter' instance -}-    -> m Gst.Buffer.Buffer-    {- ^ __Returns:__ a new allocated 'GI.Gst.Structs.Buffer.Buffer' wrapping the-    current data. @/gst_buffer_unref()/@ after usage. -}-bitWriterResetAndGetBuffer bitwriter = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_reset_and_get_buffer bitwriter'-    checkUnexpectedReturnNULL "bitWriterResetAndGetBuffer" result-    result' <- (wrapBoxed Gst.Buffer.Buffer) result-    touchManagedPtr bitwriter-    return result'--#if ENABLE_OVERLOADING-data BitWriterResetAndGetBufferMethodInfo-instance (signature ~ (m Gst.Buffer.Buffer), MonadIO m) => O.MethodInfo BitWriterResetAndGetBufferMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterResetAndGetBuffer--#endif---- XXX Could not generate method BitWriter::reset_and_get_data--- Error was : Bad introspection data: "`TCArray False (-1) (-1) (TBasicType TUInt8)' is an array type, but contains no length information,\nso it cannot be unpacked."--- method BitWriter::set_pos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bitwriter", argType = TInterface (Name {namespace = "GstBase", name = "BitWriter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", 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 TBoolean)--- throws : False--- Skip return : False--foreign import ccall "gst_bit_writer_set_pos" gst_bit_writer_set_pos :: -    Ptr BitWriter ->                        -- bitwriter : TInterface (Name {namespace = "GstBase", name = "BitWriter"})-    Word32 ->                               -- pos : TBasicType TUInt-    IO CInt--{- |-/No description available in the introspection data./--}-bitWriterSetPos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BitWriter-    -> Word32-    -> m Bool-bitWriterSetPos bitwriter pos = liftIO $ do-    bitwriter' <- unsafeManagedPtrGetPtr bitwriter-    result <- gst_bit_writer_set_pos bitwriter' pos-    let result' = (/= 0) result-    touchManagedPtr bitwriter-    return result'--#if ENABLE_OVERLOADING-data BitWriterSetPosMethodInfo-instance (signature ~ (Word32 -> m Bool), MonadIO m) => O.MethodInfo BitWriterSetPosMethodInfo BitWriter signature where-    overloadedMethod _ = bitWriterSetPos--#endif--#if ENABLE_OVERLOADING-type family ResolveBitWriterMethod (t :: Symbol) (o :: *) :: * where-    ResolveBitWriterMethod "alignBytes" o = BitWriterAlignBytesMethodInfo-    ResolveBitWriterMethod "free" o = BitWriterFreeMethodInfo-    ResolveBitWriterMethod "freeAndGetBuffer" o = BitWriterFreeAndGetBufferMethodInfo-    ResolveBitWriterMethod "putBitsUint16" o = BitWriterPutBitsUint16MethodInfo-    ResolveBitWriterMethod "putBitsUint32" o = BitWriterPutBitsUint32MethodInfo-    ResolveBitWriterMethod "putBitsUint64" o = BitWriterPutBitsUint64MethodInfo-    ResolveBitWriterMethod "putBitsUint8" o = BitWriterPutBitsUint8MethodInfo-    ResolveBitWriterMethod "putBytes" o = BitWriterPutBytesMethodInfo-    ResolveBitWriterMethod "reset" o = BitWriterResetMethodInfo-    ResolveBitWriterMethod "resetAndGetBuffer" o = BitWriterResetAndGetBufferMethodInfo-    ResolveBitWriterMethod "getData" o = BitWriterGetDataMethodInfo-    ResolveBitWriterMethod "getRemaining" o = BitWriterGetRemainingMethodInfo-    ResolveBitWriterMethod "getSize" o = BitWriterGetSizeMethodInfo-    ResolveBitWriterMethod "setPos" o = BitWriterSetPosMethodInfo-    ResolveBitWriterMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBitWriterMethod t BitWriter, O.MethodInfo info BitWriter p) => OL.IsLabel t (BitWriter -> 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/GstBase/Structs/BitWriter.hs-boot
@@ -1,68 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Structs.BitWriter 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 BitWriter = BitWriter (ManagedPtr BitWriter)-instance WrappedPtr BitWriter where-#if ENABLE_OVERLOADING-data BitWriterAlignBytesMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterFreeAndGetBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterGetDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterGetRemainingMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterGetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterPutBitsUint16MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterPutBitsUint32MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterPutBitsUint64MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterPutBitsUint8MethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterPutBytesMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterResetMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterResetAndGetBufferMethodInfo-#endif-#if ENABLE_OVERLOADING-data BitWriterSetPosMethodInfo-#endif
− GI/GstBase/Structs/CollectData.hs
@@ -1,406 +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 used by the collect_pads.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Structs.CollectData-    ( ---- * Exported types-    CollectData(..)                         ,-    newZeroCollectData                      ,-    noCollectData                           ,--- -- * Properties--- ** buffer #attr:buffer#-{- | currently queued buffer.--}-    clearCollectDataBuffer                  ,-#if ENABLE_OVERLOADING-    collectData_buffer                      ,-#endif-    getCollectDataBuffer                    ,-    setCollectDataBuffer                    ,----- ** collect #attr:collect#-{- | owner 'GI.GstBase.Objects.CollectPads.CollectPads'--}-    clearCollectDataCollect                 ,-#if ENABLE_OVERLOADING-    collectData_collect                     ,-#endif-    getCollectDataCollect                   ,-    setCollectDataCollect                   ,----- ** pad #attr:pad#-{- | 'GI.Gst.Objects.Pad.Pad' managed by this data--}-    clearCollectDataPad                     ,-#if ENABLE_OVERLOADING-    collectData_pad                         ,-#endif-    getCollectDataPad                       ,-    setCollectDataPad                       ,----- ** pos #attr:pos#-{- | position in the buffer--}-#if ENABLE_OVERLOADING-    collectData_pos                         ,-#endif-    getCollectDataPos                       ,-    setCollectDataPos                       ,----- ** segment #attr:segment#-{- | last segment received.--}-#if ENABLE_OVERLOADING-    collectData_segment                     ,-#endif-    getCollectDataSegment                   ,-----    ) 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.Objects.Pad as Gst.Pad-import qualified GI.Gst.Structs.Buffer as Gst.Buffer-import qualified GI.Gst.Structs.Segment as Gst.Segment-import {-# SOURCE #-} qualified GI.GstBase.Objects.CollectPads as GstBase.CollectPads---- | Memory-managed wrapper type.-newtype CollectData = CollectData (ManagedPtr CollectData)-instance WrappedPtr CollectData where-    wrappedPtrCalloc = callocBytes 168-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 168 >=> wrapPtr CollectData)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `CollectData` struct initialized to zero.-newZeroCollectData :: MonadIO m => m CollectData-newZeroCollectData = liftIO $ wrappedPtrCalloc >>= wrapPtr CollectData--instance tag ~ 'AttrSet => Constructible CollectData tag where-    new _ attrs = do-        o <- newZeroCollectData-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `CollectData`.-noCollectData :: Maybe CollectData-noCollectData = Nothing--{- |-Get the value of the “@collect@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' collectData #collect-@--}-getCollectDataCollect :: MonadIO m => CollectData -> m (Maybe GstBase.CollectPads.CollectPads)-getCollectDataCollect s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr GstBase.CollectPads.CollectPads)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newObject GstBase.CollectPads.CollectPads) val'-        return val''-    return result--{- |-Set the value of the “@collect@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' collectData [ #collect 'Data.GI.Base.Attributes.:=' value ]-@--}-setCollectDataCollect :: MonadIO m => CollectData -> Ptr GstBase.CollectPads.CollectPads -> m ()-setCollectDataCollect s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr GstBase.CollectPads.CollectPads)--{- |-Set the value of the “@collect@” 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' #collect-@--}-clearCollectDataCollect :: MonadIO m => CollectData -> m ()-clearCollectDataCollect s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr GstBase.CollectPads.CollectPads)--#if ENABLE_OVERLOADING-data CollectDataCollectFieldInfo-instance AttrInfo CollectDataCollectFieldInfo where-    type AttrAllowedOps CollectDataCollectFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint CollectDataCollectFieldInfo = (~) (Ptr GstBase.CollectPads.CollectPads)-    type AttrBaseTypeConstraint CollectDataCollectFieldInfo = (~) CollectData-    type AttrGetType CollectDataCollectFieldInfo = Maybe GstBase.CollectPads.CollectPads-    type AttrLabel CollectDataCollectFieldInfo = "collect"-    type AttrOrigin CollectDataCollectFieldInfo = CollectData-    attrGet _ = getCollectDataCollect-    attrSet _ = setCollectDataCollect-    attrConstruct = undefined-    attrClear _ = clearCollectDataCollect--collectData_collect :: AttrLabelProxy "collect"-collectData_collect = AttrLabelProxy--#endif---{- |-Get the value of the “@pad@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' collectData #pad-@--}-getCollectDataPad :: MonadIO m => CollectData -> m (Maybe Gst.Pad.Pad)-getCollectDataPad s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gst.Pad.Pad)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newObject Gst.Pad.Pad) val'-        return val''-    return result--{- |-Set the value of the “@pad@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' collectData [ #pad 'Data.GI.Base.Attributes.:=' value ]-@--}-setCollectDataPad :: MonadIO m => CollectData -> Ptr Gst.Pad.Pad -> m ()-setCollectDataPad s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr Gst.Pad.Pad)--{- |-Set the value of the “@pad@” 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' #pad-@--}-clearCollectDataPad :: MonadIO m => CollectData -> m ()-clearCollectDataPad s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gst.Pad.Pad)--#if ENABLE_OVERLOADING-data CollectDataPadFieldInfo-instance AttrInfo CollectDataPadFieldInfo where-    type AttrAllowedOps CollectDataPadFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint CollectDataPadFieldInfo = (~) (Ptr Gst.Pad.Pad)-    type AttrBaseTypeConstraint CollectDataPadFieldInfo = (~) CollectData-    type AttrGetType CollectDataPadFieldInfo = Maybe Gst.Pad.Pad-    type AttrLabel CollectDataPadFieldInfo = "pad"-    type AttrOrigin CollectDataPadFieldInfo = CollectData-    attrGet _ = getCollectDataPad-    attrSet _ = setCollectDataPad-    attrConstruct = undefined-    attrClear _ = clearCollectDataPad--collectData_pad :: AttrLabelProxy "pad"-collectData_pad = 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' collectData #buffer-@--}-getCollectDataBuffer :: MonadIO m => CollectData -> m (Maybe Gst.Buffer.Buffer)-getCollectDataBuffer 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' collectData [ #buffer 'Data.GI.Base.Attributes.:=' value ]-@--}-setCollectDataBuffer :: MonadIO m => CollectData -> Ptr Gst.Buffer.Buffer -> m ()-setCollectDataBuffer 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-@--}-clearCollectDataBuffer :: MonadIO m => CollectData -> m ()-clearCollectDataBuffer s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr Gst.Buffer.Buffer)--#if ENABLE_OVERLOADING-data CollectDataBufferFieldInfo-instance AttrInfo CollectDataBufferFieldInfo where-    type AttrAllowedOps CollectDataBufferFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint CollectDataBufferFieldInfo = (~) (Ptr Gst.Buffer.Buffer)-    type AttrBaseTypeConstraint CollectDataBufferFieldInfo = (~) CollectData-    type AttrGetType CollectDataBufferFieldInfo = Maybe Gst.Buffer.Buffer-    type AttrLabel CollectDataBufferFieldInfo = "buffer"-    type AttrOrigin CollectDataBufferFieldInfo = CollectData-    attrGet _ = getCollectDataBuffer-    attrSet _ = setCollectDataBuffer-    attrConstruct = undefined-    attrClear _ = clearCollectDataBuffer--collectData_buffer :: AttrLabelProxy "buffer"-collectData_buffer = AttrLabelProxy--#endif---{- |-Get the value of the “@pos@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' collectData #pos-@--}-getCollectDataPos :: MonadIO m => CollectData -> m Word32-getCollectDataPos s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word32-    return val--{- |-Set the value of the “@pos@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' collectData [ #pos 'Data.GI.Base.Attributes.:=' value ]-@--}-setCollectDataPos :: MonadIO m => CollectData -> Word32 -> m ()-setCollectDataPos s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Word32)--#if ENABLE_OVERLOADING-data CollectDataPosFieldInfo-instance AttrInfo CollectDataPosFieldInfo where-    type AttrAllowedOps CollectDataPosFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint CollectDataPosFieldInfo = (~) Word32-    type AttrBaseTypeConstraint CollectDataPosFieldInfo = (~) CollectData-    type AttrGetType CollectDataPosFieldInfo = Word32-    type AttrLabel CollectDataPosFieldInfo = "pos"-    type AttrOrigin CollectDataPosFieldInfo = CollectData-    attrGet _ = getCollectDataPos-    attrSet _ = setCollectDataPos-    attrConstruct = undefined-    attrClear _ = undefined--collectData_pos :: AttrLabelProxy "pos"-collectData_pos = AttrLabelProxy--#endif---{- |-Get the value of the “@segment@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' collectData #segment-@--}-getCollectDataSegment :: MonadIO m => CollectData -> m Gst.Segment.Segment-getCollectDataSegment s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 32 :: (Ptr Gst.Segment.Segment)-    val' <- (newBoxed Gst.Segment.Segment) val-    return val'--#if ENABLE_OVERLOADING-data CollectDataSegmentFieldInfo-instance AttrInfo CollectDataSegmentFieldInfo where-    type AttrAllowedOps CollectDataSegmentFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint CollectDataSegmentFieldInfo = (~) (Ptr Gst.Segment.Segment)-    type AttrBaseTypeConstraint CollectDataSegmentFieldInfo = (~) CollectData-    type AttrGetType CollectDataSegmentFieldInfo = Gst.Segment.Segment-    type AttrLabel CollectDataSegmentFieldInfo = "segment"-    type AttrOrigin CollectDataSegmentFieldInfo = CollectData-    attrGet _ = getCollectDataSegment-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--collectData_segment :: AttrLabelProxy "segment"-collectData_segment = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList CollectData-type instance O.AttributeList CollectData = CollectDataAttributeList-type CollectDataAttributeList = ('[ '("collect", CollectDataCollectFieldInfo), '("pad", CollectDataPadFieldInfo), '("buffer", CollectDataBufferFieldInfo), '("pos", CollectDataPosFieldInfo), '("segment", CollectDataSegmentFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveCollectDataMethod (t :: Symbol) (o :: *) :: * where-    ResolveCollectDataMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveCollectDataMethod t CollectData, O.MethodInfo info CollectData p) => OL.IsLabel t (CollectData -> 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/GstBase/Structs/CollectData.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Structs.CollectData 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 CollectData = CollectData (ManagedPtr CollectData)-instance WrappedPtr CollectData where
− GI/GstBase/Structs/FlowCombiner.hs
@@ -1,585 +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)--Utility struct to help handling 'GI.Gst.Enums.FlowReturn' combination. Useful for-'GI.Gst.Objects.Element.Element'\<!-- -->s that have multiple source pads and need to combine-the different 'GI.Gst.Enums.FlowReturn' for those pads.--'GI.GstBase.Structs.FlowCombiner.FlowCombiner' works by using the last 'GI.Gst.Enums.FlowReturn' for all 'GI.Gst.Objects.Pad.Pad'-it has in its list and computes the combined return value and provides-it to the caller.--To add a new pad to the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' use 'GI.GstBase.Structs.FlowCombiner.flowCombinerAddPad'.-The new 'GI.Gst.Objects.Pad.Pad' is stored with a default value of 'GI.Gst.Enums.FlowReturnOk'.--In case you want a 'GI.Gst.Objects.Pad.Pad' to be removed, use 'GI.GstBase.Structs.FlowCombiner.flowCombinerRemovePad'.--Please be aware that this struct isn\'t thread safe as its designed to be- used by demuxers, those usually will have a single thread operating it.--These functions will take refs on the passed 'GI.Gst.Objects.Pad.Pad'\<!-- -->s.--Aside from reducing the user\'s code size, the main advantage of using this-helper struct is to follow the standard rules for 'GI.Gst.Enums.FlowReturn' combination.-These rules are:--* 'GI.Gst.Enums.FlowReturnEos': only if all returns are EOS too-* 'GI.Gst.Enums.FlowReturnNotLinked': only if all returns are NOT_LINKED too-* 'GI.Gst.Enums.FlowReturnError' or below: if at least one returns an error return-* 'GI.Gst.Enums.FlowReturnNotNegotiated': if at least one returns a not-negotiated return-* 'GI.Gst.Enums.FlowReturnFlushing': if at least one returns flushing-* 'GI.Gst.Enums.FlowReturnOk': otherwise--'GI.Gst.Enums.FlowReturnError' or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are-returned immediately from the 'GI.GstBase.Structs.FlowCombiner.flowCombinerUpdateFlow' function.--/Since: 1.4/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GstBase.Structs.FlowCombiner-    ( ---- * Exported types-    FlowCombiner(..)                        ,-    noFlowCombiner                          ,--- -- * Methods--- ** addPad #method:addPad#--#if ENABLE_OVERLOADING-    FlowCombinerAddPadMethodInfo            ,-#endif-    flowCombinerAddPad                      ,----- ** clear #method:clear#--#if ENABLE_OVERLOADING-    FlowCombinerClearMethodInfo             ,-#endif-    flowCombinerClear                       ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    FlowCombinerFreeMethodInfo              ,-#endif-    flowCombinerFree                        ,----- ** new #method:new#--    flowCombinerNew                         ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    FlowCombinerRefMethodInfo               ,-#endif-    flowCombinerRef                         ,----- ** removePad #method:removePad#--#if ENABLE_OVERLOADING-    FlowCombinerRemovePadMethodInfo         ,-#endif-    flowCombinerRemovePad                   ,----- ** reset #method:reset#--#if ENABLE_OVERLOADING-    FlowCombinerResetMethodInfo             ,-#endif-    flowCombinerReset                       ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    FlowCombinerUnrefMethodInfo             ,-#endif-    flowCombinerUnref                       ,----- ** updateFlow #method:updateFlow#--#if ENABLE_OVERLOADING-    FlowCombinerUpdateFlowMethodInfo        ,-#endif-    flowCombinerUpdateFlow                  ,----- ** updatePadFlow #method:updatePadFlow#--#if ENABLE_OVERLOADING-    FlowCombinerUpdatePadFlowMethodInfo     ,-#endif-    flowCombinerUpdatePadFlow               ,-----    ) 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.Enums as Gst.Enums-import qualified GI.Gst.Objects.Pad as Gst.Pad---- | Memory-managed wrapper type.-newtype FlowCombiner = FlowCombiner (ManagedPtr FlowCombiner)-foreign import ccall "gst_flow_combiner_get_type" c_gst_flow_combiner_get_type :: -    IO GType--instance BoxedObject FlowCombiner where-    boxedType _ = c_gst_flow_combiner_get_type---- | A convenience alias for `Nothing` :: `Maybe` `FlowCombiner`.-noFlowCombiner :: Maybe FlowCombiner-noFlowCombiner = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList FlowCombiner-type instance O.AttributeList FlowCombiner = FlowCombinerAttributeList-type FlowCombinerAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method FlowCombiner::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}))--- throws : False--- Skip return : False--foreign import ccall "gst_flow_combiner_new" gst_flow_combiner_new :: -    IO (Ptr FlowCombiner)--{- |-Creates a new 'GI.GstBase.Structs.FlowCombiner.FlowCombiner', use 'GI.GstBase.Structs.FlowCombiner.flowCombinerFree' to free it.--/Since: 1.4/--}-flowCombinerNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m FlowCombiner-    {- ^ __Returns:__ A new 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' -}-flowCombinerNew  = liftIO $ do-    result <- gst_flow_combiner_new-    checkUnexpectedReturnNULL "flowCombinerNew" result-    result' <- (wrapBoxed FlowCombiner) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method FlowCombiner::add_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "combiner", argType = TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFlowCombiner", 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 is being 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_flow_combiner_add_pad" gst_flow_combiner_add_pad :: -    Ptr FlowCombiner ->                     -- combiner : TInterface (Name {namespace = "GstBase", name = "FlowCombiner"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO ()--{- |-Adds a new 'GI.Gst.Objects.Pad.Pad' to the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner'.--/Since: 1.4/--}-flowCombinerAddPad ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a) =>-    FlowCombiner-    {- ^ /@combiner@/: the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' -}-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' that is being added -}-    -> m ()-flowCombinerAddPad combiner pad = liftIO $ do-    combiner' <- unsafeManagedPtrGetPtr combiner-    pad' <- unsafeManagedPtrCastPtr pad-    gst_flow_combiner_add_pad combiner' pad'-    touchManagedPtr combiner-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data FlowCombinerAddPadMethodInfo-instance (signature ~ (a -> m ()), MonadIO m, Gst.Pad.IsPad a) => O.MethodInfo FlowCombinerAddPadMethodInfo FlowCombiner signature where-    overloadedMethod _ = flowCombinerAddPad--#endif---- method FlowCombiner::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "combiner", argType = TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFlowCombiner to clear", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_flow_combiner_clear" gst_flow_combiner_clear :: -    Ptr FlowCombiner ->                     -- combiner : TInterface (Name {namespace = "GstBase", name = "FlowCombiner"})-    IO ()--{- |-Removes all pads from a 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' and resets it to its initial state.--/Since: 1.6/--}-flowCombinerClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FlowCombiner-    {- ^ /@combiner@/: the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' to clear -}-    -> m ()-flowCombinerClear combiner = liftIO $ do-    combiner' <- unsafeManagedPtrGetPtr combiner-    gst_flow_combiner_clear combiner'-    touchManagedPtr combiner-    return ()--#if ENABLE_OVERLOADING-data FlowCombinerClearMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo FlowCombinerClearMethodInfo FlowCombiner signature where-    overloadedMethod _ = flowCombinerClear--#endif---- method FlowCombiner::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "combiner", argType = TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFlowCombiner 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_flow_combiner_free" gst_flow_combiner_free :: -    Ptr FlowCombiner ->                     -- combiner : TInterface (Name {namespace = "GstBase", name = "FlowCombiner"})-    IO ()--{- |-Frees a 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' struct and all its internal data.--/Since: 1.4/--}-flowCombinerFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FlowCombiner-    {- ^ /@combiner@/: the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' to free -}-    -> m ()-flowCombinerFree combiner = liftIO $ do-    combiner' <- unsafeManagedPtrGetPtr combiner-    gst_flow_combiner_free combiner'-    touchManagedPtr combiner-    return ()--#if ENABLE_OVERLOADING-data FlowCombinerFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo FlowCombinerFreeMethodInfo FlowCombiner signature where-    overloadedMethod _ = flowCombinerFree--#endif---- method FlowCombiner::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "combiner", argType = TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFlowCombiner to add a reference to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}))--- throws : False--- Skip return : False--foreign import ccall "gst_flow_combiner_ref" gst_flow_combiner_ref :: -    Ptr FlowCombiner ->                     -- combiner : TInterface (Name {namespace = "GstBase", name = "FlowCombiner"})-    IO (Ptr FlowCombiner)--{- |-Increments the reference count on the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner'.--/Since: 1.12.1/--}-flowCombinerRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FlowCombiner-    {- ^ /@combiner@/: the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' to add a reference to. -}-    -> m FlowCombiner-    {- ^ __Returns:__ the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner'. -}-flowCombinerRef combiner = liftIO $ do-    combiner' <- unsafeManagedPtrGetPtr combiner-    result <- gst_flow_combiner_ref combiner'-    checkUnexpectedReturnNULL "flowCombinerRef" result-    result' <- (wrapBoxed FlowCombiner) result-    touchManagedPtr combiner-    return result'--#if ENABLE_OVERLOADING-data FlowCombinerRefMethodInfo-instance (signature ~ (m FlowCombiner), MonadIO m) => O.MethodInfo FlowCombinerRefMethodInfo FlowCombiner signature where-    overloadedMethod _ = flowCombinerRef--#endif---- method FlowCombiner::remove_pad--- method type : OrdinaryMethod--- Args : [Arg {argCName = "combiner", argType = TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFlowCombiner", 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", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_flow_combiner_remove_pad" gst_flow_combiner_remove_pad :: -    Ptr FlowCombiner ->                     -- combiner : TInterface (Name {namespace = "GstBase", name = "FlowCombiner"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    IO ()--{- |-Removes a 'GI.Gst.Objects.Pad.Pad' from the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner'.--/Since: 1.4/--}-flowCombinerRemovePad ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a) =>-    FlowCombiner-    {- ^ /@combiner@/: the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' -}-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' to remove -}-    -> m ()-flowCombinerRemovePad combiner pad = liftIO $ do-    combiner' <- unsafeManagedPtrGetPtr combiner-    pad' <- unsafeManagedPtrCastPtr pad-    gst_flow_combiner_remove_pad combiner' pad'-    touchManagedPtr combiner-    touchManagedPtr pad-    return ()--#if ENABLE_OVERLOADING-data FlowCombinerRemovePadMethodInfo-instance (signature ~ (a -> m ()), MonadIO m, Gst.Pad.IsPad a) => O.MethodInfo FlowCombinerRemovePadMethodInfo FlowCombiner signature where-    overloadedMethod _ = flowCombinerRemovePad--#endif---- method FlowCombiner::reset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "combiner", argType = TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFlowCombiner to clear", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "gst_flow_combiner_reset" gst_flow_combiner_reset :: -    Ptr FlowCombiner ->                     -- combiner : TInterface (Name {namespace = "GstBase", name = "FlowCombiner"})-    IO ()--{- |-Reset flow combiner and all pads to their initial state without removing pads.--/Since: 1.6/--}-flowCombinerReset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FlowCombiner-    {- ^ /@combiner@/: the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' to clear -}-    -> m ()-flowCombinerReset combiner = liftIO $ do-    combiner' <- unsafeManagedPtrGetPtr combiner-    gst_flow_combiner_reset combiner'-    touchManagedPtr combiner-    return ()--#if ENABLE_OVERLOADING-data FlowCombinerResetMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo FlowCombinerResetMethodInfo FlowCombiner signature where-    overloadedMethod _ = flowCombinerReset--#endif---- method FlowCombiner::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "combiner", argType = TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFlowCombiner 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_flow_combiner_unref" gst_flow_combiner_unref :: -    Ptr FlowCombiner ->                     -- combiner : TInterface (Name {namespace = "GstBase", name = "FlowCombiner"})-    IO ()--{- |-Decrements the reference count on the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner'.--/Since: 1.12.1/--}-flowCombinerUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FlowCombiner-    {- ^ /@combiner@/: the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' to unreference. -}-    -> m ()-flowCombinerUnref combiner = liftIO $ do-    combiner' <- unsafeManagedPtrGetPtr combiner-    gst_flow_combiner_unref combiner'-    touchManagedPtr combiner-    return ()--#if ENABLE_OVERLOADING-data FlowCombinerUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo FlowCombinerUnrefMethodInfo FlowCombiner signature where-    overloadedMethod _ = flowCombinerUnref--#endif---- method FlowCombiner::update_flow--- method type : OrdinaryMethod--- Args : [Arg {argCName = "combiner", argType = TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFlowCombiner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fret", argType = TInterface (Name {namespace = "Gst", name = "FlowReturn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the latest #GstFlowReturn received for a pad in this #GstFlowCombiner", 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_flow_combiner_update_flow" gst_flow_combiner_update_flow :: -    Ptr FlowCombiner ->                     -- combiner : TInterface (Name {namespace = "GstBase", name = "FlowCombiner"})-    CInt ->                                 -- fret : TInterface (Name {namespace = "Gst", name = "FlowReturn"})-    IO CInt--{- |-Computes the combined flow return for the pads in it.--The 'GI.Gst.Enums.FlowReturn' parameter should be the last flow return update for a pad-in this 'GI.GstBase.Structs.FlowCombiner.FlowCombiner'. It will use this value to be able to shortcut some-combinations and avoid looking over all pads again. e.g. The last combined-return is the same as the latest obtained 'GI.Gst.Enums.FlowReturn'.--/Since: 1.4/--}-flowCombinerUpdateFlow ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FlowCombiner-    {- ^ /@combiner@/: the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' -}-    -> Gst.Enums.FlowReturn-    {- ^ /@fret@/: the latest 'GI.Gst.Enums.FlowReturn' received for a pad in this 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ The combined 'GI.Gst.Enums.FlowReturn' -}-flowCombinerUpdateFlow combiner fret = liftIO $ do-    combiner' <- unsafeManagedPtrGetPtr combiner-    let fret' = (fromIntegral . fromEnum) fret-    result <- gst_flow_combiner_update_flow combiner' fret'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr combiner-    return result'--#if ENABLE_OVERLOADING-data FlowCombinerUpdateFlowMethodInfo-instance (signature ~ (Gst.Enums.FlowReturn -> m Gst.Enums.FlowReturn), MonadIO m) => O.MethodInfo FlowCombinerUpdateFlowMethodInfo FlowCombiner signature where-    overloadedMethod _ = flowCombinerUpdateFlow--#endif---- method FlowCombiner::update_pad_flow--- method type : OrdinaryMethod--- Args : [Arg {argCName = "combiner", argType = TInterface (Name {namespace = "GstBase", name = "FlowCombiner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GstFlowCombiner", 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 whose #GstFlowReturn to update", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fret", argType = TInterface (Name {namespace = "Gst", name = "FlowReturn"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the latest #GstFlowReturn received for a pad in this #GstFlowCombiner", 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_flow_combiner_update_pad_flow" gst_flow_combiner_update_pad_flow :: -    Ptr FlowCombiner ->                     -- combiner : TInterface (Name {namespace = "GstBase", name = "FlowCombiner"})-    Ptr Gst.Pad.Pad ->                      -- pad : TInterface (Name {namespace = "Gst", name = "Pad"})-    CInt ->                                 -- fret : TInterface (Name {namespace = "Gst", name = "FlowReturn"})-    IO CInt--{- |-Sets the provided pad\'s last flow return to provided value and computes-the combined flow return for the pads in it.--The 'GI.Gst.Enums.FlowReturn' parameter should be the last flow return update for a pad-in this 'GI.GstBase.Structs.FlowCombiner.FlowCombiner'. It will use this value to be able to shortcut some-combinations and avoid looking over all pads again. e.g. The last combined-return is the same as the latest obtained 'GI.Gst.Enums.FlowReturn'.--/Since: 1.6/--}-flowCombinerUpdatePadFlow ::-    (B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a) =>-    FlowCombiner-    {- ^ /@combiner@/: the 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' -}-    -> a-    {- ^ /@pad@/: the 'GI.Gst.Objects.Pad.Pad' whose 'GI.Gst.Enums.FlowReturn' to update -}-    -> Gst.Enums.FlowReturn-    {- ^ /@fret@/: the latest 'GI.Gst.Enums.FlowReturn' received for a pad in this 'GI.GstBase.Structs.FlowCombiner.FlowCombiner' -}-    -> m Gst.Enums.FlowReturn-    {- ^ __Returns:__ The combined 'GI.Gst.Enums.FlowReturn' -}-flowCombinerUpdatePadFlow combiner pad fret = liftIO $ do-    combiner' <- unsafeManagedPtrGetPtr combiner-    pad' <- unsafeManagedPtrCastPtr pad-    let fret' = (fromIntegral . fromEnum) fret-    result <- gst_flow_combiner_update_pad_flow combiner' pad' fret'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr combiner-    touchManagedPtr pad-    return result'--#if ENABLE_OVERLOADING-data FlowCombinerUpdatePadFlowMethodInfo-instance (signature ~ (a -> Gst.Enums.FlowReturn -> m Gst.Enums.FlowReturn), MonadIO m, Gst.Pad.IsPad a) => O.MethodInfo FlowCombinerUpdatePadFlowMethodInfo FlowCombiner signature where-    overloadedMethod _ = flowCombinerUpdatePadFlow--#endif--#if ENABLE_OVERLOADING-type family ResolveFlowCombinerMethod (t :: Symbol) (o :: *) :: * where-    ResolveFlowCombinerMethod "addPad" o = FlowCombinerAddPadMethodInfo-    ResolveFlowCombinerMethod "clear" o = FlowCombinerClearMethodInfo-    ResolveFlowCombinerMethod "free" o = FlowCombinerFreeMethodInfo-    ResolveFlowCombinerMethod "ref" o = FlowCombinerRefMethodInfo-    ResolveFlowCombinerMethod "removePad" o = FlowCombinerRemovePadMethodInfo-    ResolveFlowCombinerMethod "reset" o = FlowCombinerResetMethodInfo-    ResolveFlowCombinerMethod "unref" o = FlowCombinerUnrefMethodInfo-    ResolveFlowCombinerMethod "updateFlow" o = FlowCombinerUpdateFlowMethodInfo-    ResolveFlowCombinerMethod "updatePadFlow" o = FlowCombinerUpdatePadFlowMethodInfo-    ResolveFlowCombinerMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveFlowCombinerMethod t FlowCombiner, O.MethodInfo info FlowCombiner p) => OL.IsLabel t (FlowCombiner -> 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/GstBase/Structs/FlowCombiner.hs-boot
@@ -1,53 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GstBase.Structs.FlowCombiner 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 FlowCombiner = FlowCombiner (ManagedPtr FlowCombiner)-instance BoxedObject FlowCombiner where-#if ENABLE_OVERLOADING-data FlowCombinerAddPadMethodInfo-#endif-#if ENABLE_OVERLOADING-data FlowCombinerClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data FlowCombinerFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data FlowCombinerRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data FlowCombinerRemovePadMethodInfo-#endif-#if ENABLE_OVERLOADING-data FlowCombinerResetMethodInfo-#endif-#if ENABLE_OVERLOADING-data FlowCombinerUnrefMethodInfo-#endif-#if ENABLE_OVERLOADING-data FlowCombinerUpdateFlowMethodInfo-#endif-#if ENABLE_OVERLOADING-data FlowCombinerUpdatePadFlowMethodInfo-#endif
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-gstbase-1.0.18/docs/GI-GstBase.html](https://hackage.haskell.org/package/gi-gstbase-1.0.18/docs/GI-GstBase.html)+[https://hackage.haskell.org/package/gi-gstbase-1.0.19/docs/GI-GstBase.html](https://hackage.haskell.org/package/gi-gstbase-1.0.19/docs/GI-GstBase.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-gstbase.cabal view
@@ -1,5 +1,5 @@ name:                 gi-gstbase-version:              1.0.18+version:              1.0.19 synopsis:             GStreamerBase bindings description:          Bindings for GStreamerBase, autogenerated by haskell-gi. homepage:             https://github.com/haskell-gi/haskell-gi@@ -43,6 +43,29 @@               build-depends: haskell-gi-overloading == 0.0        exposed-modules: GI.GstBase,+                       GI.GstBase.Callbacks,+                       GI.GstBase.Constants,+                       GI.GstBase.Flags,+                       GI.GstBase.Functions,+                       GI.GstBase.Objects,+                       GI.GstBase.Objects.Adapter,+                       GI.GstBase.Objects.Aggregator,+                       GI.GstBase.Objects.AggregatorPad,+                       GI.GstBase.Objects.BaseParse,+                       GI.GstBase.Objects.BaseSink,+                       GI.GstBase.Objects.BaseSrc,+                       GI.GstBase.Objects.BaseTransform,+                       GI.GstBase.Objects.CollectPads,+                       GI.GstBase.Objects.DataQueue,+                       GI.GstBase.Objects.PushSrc,+                       GI.GstBase.Structs,+                       GI.GstBase.Structs.BaseParseFrame,+                       GI.GstBase.Structs.BitReader,+                       GI.GstBase.Structs.BitWriter,+                       GI.GstBase.Structs.CollectData,+                       GI.GstBase.Structs.FlowCombiner++      autogen-modules: GI.GstBase,                        GI.GstBase.Callbacks,                        GI.GstBase.Constants,                        GI.GstBase.Flags,