{- | 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