{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) A 'GI.Gst.Structs.Sample.Sample' is a small object containing data, a type, timing and extra arbitrary information. -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.Gst.Structs.Sample ( -- * Exported types Sample(..) , noSample , -- * Methods -- ** getBuffer #method:getBuffer# #if ENABLE_OVERLOADING SampleGetBufferMethodInfo , #endif sampleGetBuffer , -- ** getBufferList #method:getBufferList# #if ENABLE_OVERLOADING SampleGetBufferListMethodInfo , #endif sampleGetBufferList , -- ** getCaps #method:getCaps# #if ENABLE_OVERLOADING SampleGetCapsMethodInfo , #endif sampleGetCaps , -- ** getInfo #method:getInfo# #if ENABLE_OVERLOADING SampleGetInfoMethodInfo , #endif sampleGetInfo , -- ** getSegment #method:getSegment# #if ENABLE_OVERLOADING SampleGetSegmentMethodInfo , #endif sampleGetSegment , -- ** new #method:new# sampleNew , -- ** setBuffer #method:setBuffer# #if ENABLE_OVERLOADING SampleSetBufferMethodInfo , #endif sampleSetBuffer , -- ** setBufferList #method:setBufferList# #if ENABLE_OVERLOADING SampleSetBufferListMethodInfo , #endif sampleSetBufferList , -- ** setCaps #method:setCaps# #if ENABLE_OVERLOADING SampleSetCapsMethodInfo , #endif sampleSetCaps , -- ** setInfo #method:setInfo# #if ENABLE_OVERLOADING SampleSetInfoMethodInfo , #endif sampleSetInfo , -- ** setSegment #method:setSegment# #if ENABLE_OVERLOADING SampleSetSegmentMethodInfo , #endif sampleSetSegment , ) where import Data.GI.Base.ShortPrelude import qualified Data.GI.Base.ShortPrelude as SP import qualified Data.GI.Base.Overloading as O import qualified Prelude as P import qualified Data.GI.Base.Attributes as GI.Attributes import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr import qualified Data.GI.Base.GClosure as B.GClosure import qualified Data.GI.Base.GError as B.GError import qualified Data.GI.Base.GVariant as B.GVariant import qualified Data.GI.Base.GValue as B.GValue import qualified Data.GI.Base.GParamSpec as B.GParamSpec import qualified Data.GI.Base.CallStack as B.CallStack import qualified Data.GI.Base.Properties as B.Properties import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import qualified Foreign.Ptr as FP import qualified GHC.OverloadedLabels as OL import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer import {-# SOURCE #-} qualified GI.Gst.Structs.BufferList as Gst.BufferList import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps import {-# SOURCE #-} qualified GI.Gst.Structs.Segment as Gst.Segment import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure -- | Memory-managed wrapper type. newtype Sample = Sample (ManagedPtr Sample) foreign import ccall "gst_sample_get_type" c_gst_sample_get_type :: IO GType instance BoxedObject Sample where boxedType _ = c_gst_sample_get_type -- | A convenience alias for `Nothing` :: `Maybe` `Sample`. noSample :: Maybe Sample noSample = Nothing #if ENABLE_OVERLOADING instance O.HasAttributeList Sample type instance O.AttributeList Sample = SampleAttributeList type SampleAttributeList = ('[ ] :: [(Symbol, *)]) #endif -- method Sample::new -- method type : Constructor -- Args : [Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstBuffer, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstCaps, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstSegment, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GstStructure, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "Sample"})) -- throws : False -- Skip return : False foreign import ccall "gst_sample_new" gst_sample_new :: Ptr Gst.Buffer.Buffer -> -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"}) Ptr Gst.Caps.Caps -> -- caps : TInterface (Name {namespace = "Gst", name = "Caps"}) Ptr Gst.Segment.Segment -> -- segment : TInterface (Name {namespace = "Gst", name = "Segment"}) Ptr Gst.Structure.Structure -> -- info : TInterface (Name {namespace = "Gst", name = "Structure"}) IO (Ptr Sample) {- | Create a new 'GI.Gst.Structs.Sample.Sample' with the provided details. Free-function: gst_sample_unref -} sampleNew :: (B.CallStack.HasCallStack, MonadIO m) => Maybe (Gst.Buffer.Buffer) {- ^ /@buffer@/: a 'GI.Gst.Structs.Buffer.Buffer', or 'Nothing' -} -> Maybe (Gst.Caps.Caps) {- ^ /@caps@/: a 'GI.Gst.Structs.Caps.Caps', or 'Nothing' -} -> Maybe (Gst.Segment.Segment) {- ^ /@segment@/: a 'GI.Gst.Structs.Segment.Segment', or 'Nothing' -} -> Maybe (Gst.Structure.Structure) {- ^ /@info@/: a 'GI.Gst.Structs.Structure.Structure', or 'Nothing' -} -> m Sample {- ^ __Returns:__ the new 'GI.Gst.Structs.Sample.Sample'. @/gst_sample_unref()/@ after usage. -} sampleNew buffer caps segment info = liftIO $ do maybeBuffer <- case buffer of Nothing -> return nullPtr Just jBuffer -> do jBuffer' <- unsafeManagedPtrGetPtr jBuffer return jBuffer' maybeCaps <- case caps of Nothing -> return nullPtr Just jCaps -> do jCaps' <- unsafeManagedPtrGetPtr jCaps return jCaps' maybeSegment <- case segment of Nothing -> return nullPtr Just jSegment -> do jSegment' <- unsafeManagedPtrGetPtr jSegment return jSegment' maybeInfo <- case info of Nothing -> return nullPtr Just jInfo -> do jInfo' <- B.ManagedPtr.disownBoxed jInfo return jInfo' result <- gst_sample_new maybeBuffer maybeCaps maybeSegment maybeInfo checkUnexpectedReturnNULL "sampleNew" result result' <- (wrapBoxed Sample) result whenJust buffer touchManagedPtr whenJust caps touchManagedPtr whenJust segment touchManagedPtr whenJust info touchManagedPtr return result' #if ENABLE_OVERLOADING #endif -- method Sample::get_buffer -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "Buffer"})) -- throws : False -- Skip return : False foreign import ccall "gst_sample_get_buffer" gst_sample_get_buffer :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) IO (Ptr Gst.Buffer.Buffer) {- | Get the buffer associated with /@sample@/ -} sampleGetBuffer :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -} -> m (Maybe Gst.Buffer.Buffer) {- ^ __Returns:__ the buffer of /@sample@/ or 'Nothing' when there is no buffer. The buffer remains valid as long as /@sample@/ is valid. If you need to hold on to it for longer than that, take a ref to the buffer with @/gst_buffer_ref()/@. -} sampleGetBuffer sample = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample result <- gst_sample_get_buffer sample' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newBoxed Gst.Buffer.Buffer) result' return result'' touchManagedPtr sample return maybeResult #if ENABLE_OVERLOADING data SampleGetBufferMethodInfo instance (signature ~ (m (Maybe Gst.Buffer.Buffer)), MonadIO m) => O.MethodInfo SampleGetBufferMethodInfo Sample signature where overloadedMethod _ = sampleGetBuffer #endif -- method Sample::get_buffer_list -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "BufferList"})) -- throws : False -- Skip return : False foreign import ccall "gst_sample_get_buffer_list" gst_sample_get_buffer_list :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) IO (Ptr Gst.BufferList.BufferList) {- | Get the buffer list associated with /@sample@/ /Since: 1.6/ -} sampleGetBufferList :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -} -> m (Maybe Gst.BufferList.BufferList) {- ^ __Returns:__ the buffer list of /@sample@/ or 'Nothing' when there is no buffer list. The buffer list remains valid as long as /@sample@/ is valid. If you need to hold on to it for longer than that, take a ref to the buffer list with gst_mini_object_ref (). -} sampleGetBufferList sample = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample result <- gst_sample_get_buffer_list sample' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newBoxed Gst.BufferList.BufferList) result' return result'' touchManagedPtr sample return maybeResult #if ENABLE_OVERLOADING data SampleGetBufferListMethodInfo instance (signature ~ (m (Maybe Gst.BufferList.BufferList)), MonadIO m) => O.MethodInfo SampleGetBufferListMethodInfo Sample signature where overloadedMethod _ = sampleGetBufferList #endif -- method Sample::get_caps -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "Caps"})) -- throws : False -- Skip return : False foreign import ccall "gst_sample_get_caps" gst_sample_get_caps :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) IO (Ptr Gst.Caps.Caps) {- | Get the caps associated with /@sample@/ -} sampleGetCaps :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -} -> m (Maybe Gst.Caps.Caps) {- ^ __Returns:__ the caps of /@sample@/ or 'Nothing' when there is no caps. The caps remain valid as long as /@sample@/ is valid. If you need to hold on to the caps for longer than that, take a ref to the caps with @/gst_caps_ref()/@. -} sampleGetCaps sample = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample result <- gst_sample_get_caps sample' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newBoxed Gst.Caps.Caps) result' return result'' touchManagedPtr sample return maybeResult #if ENABLE_OVERLOADING data SampleGetCapsMethodInfo instance (signature ~ (m (Maybe Gst.Caps.Caps)), MonadIO m) => O.MethodInfo SampleGetCapsMethodInfo Sample signature where overloadedMethod _ = sampleGetCaps #endif -- method Sample::get_info -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "Structure"})) -- throws : False -- Skip return : False foreign import ccall "gst_sample_get_info" gst_sample_get_info :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) IO (Ptr Gst.Structure.Structure) {- | Get extra information associated with /@sample@/. -} sampleGetInfo :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -} -> m (Maybe Gst.Structure.Structure) {- ^ __Returns:__ the extra info of /@sample@/. The info remains valid as long as /@sample@/ is valid. -} sampleGetInfo sample = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample result <- gst_sample_get_info sample' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newBoxed Gst.Structure.Structure) result' return result'' touchManagedPtr sample return maybeResult #if ENABLE_OVERLOADING data SampleGetInfoMethodInfo instance (signature ~ (m (Maybe Gst.Structure.Structure)), MonadIO m) => O.MethodInfo SampleGetInfoMethodInfo Sample signature where overloadedMethod _ = sampleGetInfo #endif -- method Sample::get_segment -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "Segment"})) -- throws : False -- Skip return : False foreign import ccall "gst_sample_get_segment" gst_sample_get_segment :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) IO (Ptr Gst.Segment.Segment) {- | Get the segment associated with /@sample@/ -} sampleGetSegment :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -} -> m Gst.Segment.Segment {- ^ __Returns:__ the segment of /@sample@/. The segment remains valid as long as /@sample@/ is valid. -} sampleGetSegment sample = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample result <- gst_sample_get_segment sample' checkUnexpectedReturnNULL "sampleGetSegment" result result' <- (newBoxed Gst.Segment.Segment) result touchManagedPtr sample return result' #if ENABLE_OVERLOADING data SampleGetSegmentMethodInfo instance (signature ~ (m Gst.Segment.Segment), MonadIO m) => O.MethodInfo SampleGetSegmentMethodInfo Sample signature where overloadedMethod _ = sampleGetSegment #endif -- method Sample::set_buffer -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TInterface (Name {namespace = "Gst", name = "Buffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstBuffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_sample_set_buffer" gst_sample_set_buffer :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) Ptr Gst.Buffer.Buffer -> -- buffer : TInterface (Name {namespace = "Gst", name = "Buffer"}) IO () {- | Set the buffer associated with /@sample@/. /@sample@/ must be writable. /Since: 1.16/ -} sampleSetBuffer :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: A 'GI.Gst.Structs.Sample.Sample' -} -> Gst.Buffer.Buffer {- ^ /@buffer@/: A 'GI.Gst.Structs.Buffer.Buffer' -} -> m () sampleSetBuffer sample buffer = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample buffer' <- unsafeManagedPtrGetPtr buffer gst_sample_set_buffer sample' buffer' touchManagedPtr sample touchManagedPtr buffer return () #if ENABLE_OVERLOADING data SampleSetBufferMethodInfo instance (signature ~ (Gst.Buffer.Buffer -> m ()), MonadIO m) => O.MethodInfo SampleSetBufferMethodInfo Sample signature where overloadedMethod _ = sampleSetBuffer #endif -- method Sample::set_buffer_list -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer_list", argType = TInterface (Name {namespace = "Gst", name = "BufferList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstBufferList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_sample_set_buffer_list" gst_sample_set_buffer_list :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) Ptr Gst.BufferList.BufferList -> -- buffer_list : TInterface (Name {namespace = "Gst", name = "BufferList"}) IO () {- | Set the buffer list associated with /@sample@/. /@sample@/ must be writable. /Since: 1.6/ -} sampleSetBufferList :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: a 'GI.Gst.Structs.Sample.Sample' -} -> Gst.BufferList.BufferList {- ^ /@bufferList@/: a 'GI.Gst.Structs.BufferList.BufferList' -} -> m () sampleSetBufferList sample bufferList = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample bufferList' <- unsafeManagedPtrGetPtr bufferList gst_sample_set_buffer_list sample' bufferList' touchManagedPtr sample touchManagedPtr bufferList return () #if ENABLE_OVERLOADING data SampleSetBufferListMethodInfo instance (signature ~ (Gst.BufferList.BufferList -> m ()), MonadIO m) => O.MethodInfo SampleSetBufferListMethodInfo Sample signature where overloadedMethod _ = sampleSetBufferList #endif -- method Sample::set_caps -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "caps", argType = TInterface (Name {namespace = "Gst", name = "Caps"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstCaps", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_sample_set_caps" gst_sample_set_caps :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) Ptr Gst.Caps.Caps -> -- caps : TInterface (Name {namespace = "Gst", name = "Caps"}) IO () {- | Set the caps associated with /@sample@/. /@sample@/ must be writable. /Since: 1.16/ -} sampleSetCaps :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: A 'GI.Gst.Structs.Sample.Sample' -} -> Gst.Caps.Caps {- ^ /@caps@/: A 'GI.Gst.Structs.Caps.Caps' -} -> m () sampleSetCaps sample caps = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample caps' <- unsafeManagedPtrGetPtr caps gst_sample_set_caps sample' caps' touchManagedPtr sample touchManagedPtr caps return () #if ENABLE_OVERLOADING data SampleSetCapsMethodInfo instance (signature ~ (Gst.Caps.Caps -> m ()), MonadIO m) => O.MethodInfo SampleSetCapsMethodInfo Sample signature where overloadedMethod _ = sampleSetCaps #endif -- method Sample::set_info -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gst", name = "Structure"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstStructure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gst_sample_set_info" gst_sample_set_info :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) Ptr Gst.Structure.Structure -> -- info : TInterface (Name {namespace = "Gst", name = "Structure"}) IO CInt {- | Set the info structure associated with /@sample@/. /@sample@/ must be writable, and /@info@/ must not have a parent set already. /Since: 1.16/ -} sampleSetInfo :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: A 'GI.Gst.Structs.Sample.Sample' -} -> Gst.Structure.Structure {- ^ /@info@/: A 'GI.Gst.Structs.Structure.Structure' -} -> m Bool sampleSetInfo sample info = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample info' <- B.ManagedPtr.disownBoxed info result <- gst_sample_set_info sample' info' let result' = (/= 0) result touchManagedPtr sample touchManagedPtr info return result' #if ENABLE_OVERLOADING data SampleSetInfoMethodInfo instance (signature ~ (Gst.Structure.Structure -> m Bool), MonadIO m) => O.MethodInfo SampleSetInfoMethodInfo Sample signature where overloadedMethod _ = sampleSetInfo #endif -- method Sample::set_segment -- method type : OrdinaryMethod -- Args : [Arg {argCName = "sample", argType = TInterface (Name {namespace = "Gst", name = "Sample"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSample", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "segment", argType = TInterface (Name {namespace = "Gst", name = "Segment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstSegment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_sample_set_segment" gst_sample_set_segment :: Ptr Sample -> -- sample : TInterface (Name {namespace = "Gst", name = "Sample"}) Ptr Gst.Segment.Segment -> -- segment : TInterface (Name {namespace = "Gst", name = "Segment"}) IO () {- | Set the segment associated with /@sample@/. /@sample@/ must be writable. /Since: 1.16/ -} sampleSetSegment :: (B.CallStack.HasCallStack, MonadIO m) => Sample {- ^ /@sample@/: A 'GI.Gst.Structs.Sample.Sample' -} -> Gst.Segment.Segment {- ^ /@segment@/: A 'GI.Gst.Structs.Segment.Segment' -} -> m () sampleSetSegment sample segment = liftIO $ do sample' <- unsafeManagedPtrGetPtr sample segment' <- unsafeManagedPtrGetPtr segment gst_sample_set_segment sample' segment' touchManagedPtr sample touchManagedPtr segment return () #if ENABLE_OVERLOADING data SampleSetSegmentMethodInfo instance (signature ~ (Gst.Segment.Segment -> m ()), MonadIO m) => O.MethodInfo SampleSetSegmentMethodInfo Sample signature where overloadedMethod _ = sampleSetSegment #endif #if ENABLE_OVERLOADING type family ResolveSampleMethod (t :: Symbol) (o :: *) :: * where ResolveSampleMethod "getBuffer" o = SampleGetBufferMethodInfo ResolveSampleMethod "getBufferList" o = SampleGetBufferListMethodInfo ResolveSampleMethod "getCaps" o = SampleGetCapsMethodInfo ResolveSampleMethod "getInfo" o = SampleGetInfoMethodInfo ResolveSampleMethod "getSegment" o = SampleGetSegmentMethodInfo ResolveSampleMethod "setBuffer" o = SampleSetBufferMethodInfo ResolveSampleMethod "setBufferList" o = SampleSetBufferListMethodInfo ResolveSampleMethod "setCaps" o = SampleSetCapsMethodInfo ResolveSampleMethod "setInfo" o = SampleSetInfoMethodInfo ResolveSampleMethod "setSegment" o = SampleSetSegmentMethodInfo ResolveSampleMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveSampleMethod t Sample, O.MethodInfo info Sample p) => OL.IsLabel t (Sample -> p) where #if MIN_VERSION_base(4,10,0) fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #else fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif #endif