gi-gstvideo-1.0.18: GI/GstVideo/Objects/VideoBufferPool.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
/No description available in the introspection data./
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstVideo.Objects.VideoBufferPool
(
-- * Exported types
VideoBufferPool(..) ,
IsVideoBufferPool ,
toVideoBufferPool ,
noVideoBufferPool ,
-- * Methods
-- ** new #method:new#
videoBufferPoolNew ,
) 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.BufferPool as Gst.BufferPool
import qualified GI.Gst.Objects.Object as Gst.Object
-- | Memory-managed wrapper type.
newtype VideoBufferPool = VideoBufferPool (ManagedPtr VideoBufferPool)
foreign import ccall "gst_video_buffer_pool_get_type"
c_gst_video_buffer_pool_get_type :: IO GType
instance GObject VideoBufferPool where
gobjectType = c_gst_video_buffer_pool_get_type
-- | Type class for types which can be safely cast to `VideoBufferPool`, for instance with `toVideoBufferPool`.
class (GObject o, O.IsDescendantOf VideoBufferPool o) => IsVideoBufferPool o
instance (GObject o, O.IsDescendantOf VideoBufferPool o) => IsVideoBufferPool o
instance O.HasParentTypes VideoBufferPool
type instance O.ParentTypes VideoBufferPool = '[Gst.BufferPool.BufferPool, Gst.Object.Object, GObject.Object.Object]
-- | Cast to `VideoBufferPool`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toVideoBufferPool :: (MonadIO m, IsVideoBufferPool o) => o -> m VideoBufferPool
toVideoBufferPool = liftIO . unsafeCastTo VideoBufferPool
-- | A convenience alias for `Nothing` :: `Maybe` `VideoBufferPool`.
noVideoBufferPool :: Maybe VideoBufferPool
noVideoBufferPool = Nothing
#if ENABLE_OVERLOADING
type family ResolveVideoBufferPoolMethod (t :: Symbol) (o :: *) :: * where
ResolveVideoBufferPoolMethod "acquireBuffer" o = Gst.BufferPool.BufferPoolAcquireBufferMethodInfo
ResolveVideoBufferPoolMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveVideoBufferPoolMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveVideoBufferPoolMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveVideoBufferPoolMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveVideoBufferPoolMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveVideoBufferPoolMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveVideoBufferPoolMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveVideoBufferPoolMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveVideoBufferPoolMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveVideoBufferPoolMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveVideoBufferPoolMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveVideoBufferPoolMethod "hasOption" o = Gst.BufferPool.BufferPoolHasOptionMethodInfo
ResolveVideoBufferPoolMethod "isActive" o = Gst.BufferPool.BufferPoolIsActiveMethodInfo
ResolveVideoBufferPoolMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveVideoBufferPoolMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveVideoBufferPoolMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveVideoBufferPoolMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveVideoBufferPoolMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveVideoBufferPoolMethod "releaseBuffer" o = Gst.BufferPool.BufferPoolReleaseBufferMethodInfo
ResolveVideoBufferPoolMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveVideoBufferPoolMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveVideoBufferPoolMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveVideoBufferPoolMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveVideoBufferPoolMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveVideoBufferPoolMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveVideoBufferPoolMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveVideoBufferPoolMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveVideoBufferPoolMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveVideoBufferPoolMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveVideoBufferPoolMethod "getConfig" o = Gst.BufferPool.BufferPoolGetConfigMethodInfo
ResolveVideoBufferPoolMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveVideoBufferPoolMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveVideoBufferPoolMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveVideoBufferPoolMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveVideoBufferPoolMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveVideoBufferPoolMethod "getOptions" o = Gst.BufferPool.BufferPoolGetOptionsMethodInfo
ResolveVideoBufferPoolMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveVideoBufferPoolMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveVideoBufferPoolMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveVideoBufferPoolMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveVideoBufferPoolMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveVideoBufferPoolMethod "setActive" o = Gst.BufferPool.BufferPoolSetActiveMethodInfo
ResolveVideoBufferPoolMethod "setConfig" o = Gst.BufferPool.BufferPoolSetConfigMethodInfo
ResolveVideoBufferPoolMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveVideoBufferPoolMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveVideoBufferPoolMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveVideoBufferPoolMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveVideoBufferPoolMethod "setFlushing" o = Gst.BufferPool.BufferPoolSetFlushingMethodInfo
ResolveVideoBufferPoolMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveVideoBufferPoolMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveVideoBufferPoolMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveVideoBufferPoolMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveVideoBufferPoolMethod t VideoBufferPool, O.MethodInfo info VideoBufferPool p) => OL.IsLabel t (VideoBufferPool -> 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 VideoBufferPool
type instance O.AttributeList VideoBufferPool = VideoBufferPoolAttributeList
type VideoBufferPoolAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList VideoBufferPool = VideoBufferPoolSignalList
type VideoBufferPoolSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
-- method VideoBufferPool::new
-- method type : Constructor
-- Args : []
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GstVideo", name = "VideoBufferPool"}))
-- throws : False
-- Skip return : False
foreign import ccall "gst_video_buffer_pool_new" gst_video_buffer_pool_new ::
IO (Ptr VideoBufferPool)
{- |
Create a new bufferpool that can allocate video frames. This bufferpool
supports all the video bufferpool options.
-}
videoBufferPoolNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m VideoBufferPool
{- ^ __Returns:__ a new 'GI.Gst.Objects.BufferPool.BufferPool' to allocate video frames -}
videoBufferPoolNew = liftIO $ do
result <- gst_video_buffer_pool_new
checkUnexpectedReturnNULL "videoBufferPoolNew" result
result' <- (wrapObject VideoBufferPool) result
return result'
#if ENABLE_OVERLOADING
#endif