{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) Extra buffer metadata describing image overlay data. -} module GI.GstVideo.Structs.VideoOverlayCompositionMeta ( -- * Exported types VideoOverlayCompositionMeta(..) , newZeroVideoOverlayCompositionMeta , noVideoOverlayCompositionMeta , -- * Methods -- ** videoOverlayCompositionMetaGetInfo videoOverlayCompositionMetaGetInfo , -- * Properties -- ** Meta videoOverlayCompositionMetaReadMeta , -- ** Overlay videoOverlayCompositionMetaReadOverlay , ) where import Prelude () import Data.GI.Base.ShortPrelude import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import GI.GstVideo.Types import GI.GstVideo.Callbacks import qualified GI.Gst as Gst newtype VideoOverlayCompositionMeta = VideoOverlayCompositionMeta (ForeignPtr VideoOverlayCompositionMeta) -- | Construct a `VideoOverlayCompositionMeta` struct initialized to zero. newZeroVideoOverlayCompositionMeta :: MonadIO m => m VideoOverlayCompositionMeta newZeroVideoOverlayCompositionMeta = liftIO $ callocBytes 24 >>= wrapPtr VideoOverlayCompositionMeta noVideoOverlayCompositionMeta :: Maybe VideoOverlayCompositionMeta noVideoOverlayCompositionMeta = Nothing videoOverlayCompositionMetaReadMeta :: VideoOverlayCompositionMeta -> IO Gst.Meta videoOverlayCompositionMetaReadMeta s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gst.Meta) val' <- (newPtr 16 Gst.Meta) val return val' videoOverlayCompositionMetaReadOverlay :: VideoOverlayCompositionMeta -> IO VideoOverlayComposition videoOverlayCompositionMetaReadOverlay s = withManagedPtr s $ \ptr -> do val <- peek (ptr `plusPtr` 16) :: IO (Ptr VideoOverlayComposition) val' <- (newBoxed VideoOverlayComposition) val return val' -- method VideoOverlayCompositionMeta::get_info -- method type : MemberFunction -- Args : [] -- Lengths : [] -- returnType : TInterface "Gst" "MetaInfo" -- throws : False -- Skip return : False foreign import ccall "gst_video_overlay_composition_meta_get_info" gst_video_overlay_composition_meta_get_info :: IO (Ptr Gst.MetaInfo) videoOverlayCompositionMetaGetInfo :: (MonadIO m) => m Gst.MetaInfo -- result videoOverlayCompositionMetaGetInfo = liftIO $ do result <- gst_video_overlay_composition_meta_get_info checkUnexpectedReturnNULL "gst_video_overlay_composition_meta_get_info" result result' <- (newPtr 80 Gst.MetaInfo) result return result' type family ResolveVideoOverlayCompositionMetaMethod (t :: Symbol) (o :: *) :: * where ResolveVideoOverlayCompositionMetaMethod l o = MethodResolutionFailed l o instance (info ~ ResolveVideoOverlayCompositionMetaMethod t VideoOverlayCompositionMeta, MethodInfo info VideoOverlayCompositionMeta p) => IsLabelProxy t (VideoOverlayCompositionMeta -> p) where fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info) #if MIN_VERSION_base(4,9,0) instance (info ~ ResolveVideoOverlayCompositionMetaMethod t VideoOverlayCompositionMeta, MethodInfo info VideoOverlayCompositionMeta p) => IsLabel t (VideoOverlayCompositionMeta -> p) where fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info) #endif