{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Structs.ReferenceTimestampMeta
(
ReferenceTimestampMeta(..) ,
newZeroReferenceTimestampMeta ,
#if defined(ENABLE_OVERLOADING)
ResolveReferenceTimestampMetaMethod ,
#endif
referenceTimestampMetaGetInfo ,
getReferenceTimestampMetaDuration ,
#if defined(ENABLE_OVERLOADING)
referenceTimestampMeta_duration ,
#endif
setReferenceTimestampMetaDuration ,
getReferenceTimestampMetaParent ,
#if defined(ENABLE_OVERLOADING)
referenceTimestampMeta_parent ,
#endif
clearReferenceTimestampMetaReference ,
getReferenceTimestampMetaReference ,
#if defined(ENABLE_OVERLOADING)
referenceTimestampMeta_reference ,
#endif
setReferenceTimestampMetaReference ,
getReferenceTimestampMetaTimestamp ,
#if defined(ENABLE_OVERLOADING)
referenceTimestampMeta_timestamp ,
#endif
setReferenceTimestampMetaTimestamp ,
) 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.BasicTypes as B.Types
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
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.Caps as Gst.Caps
import {-# SOURCE #-} qualified GI.Gst.Structs.Meta as Gst.Meta
import {-# SOURCE #-} qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo
newtype ReferenceTimestampMeta = ReferenceTimestampMeta (SP.ManagedPtr ReferenceTimestampMeta)
deriving (ReferenceTimestampMeta -> ReferenceTimestampMeta -> Bool
(ReferenceTimestampMeta -> ReferenceTimestampMeta -> Bool)
-> (ReferenceTimestampMeta -> ReferenceTimestampMeta -> Bool)
-> Eq ReferenceTimestampMeta
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ReferenceTimestampMeta -> ReferenceTimestampMeta -> Bool
$c/= :: ReferenceTimestampMeta -> ReferenceTimestampMeta -> Bool
== :: ReferenceTimestampMeta -> ReferenceTimestampMeta -> Bool
$c== :: ReferenceTimestampMeta -> ReferenceTimestampMeta -> Bool
Eq)
instance SP.ManagedPtrNewtype ReferenceTimestampMeta where
toManagedPtr :: ReferenceTimestampMeta -> ManagedPtr ReferenceTimestampMeta
toManagedPtr (ReferenceTimestampMeta ManagedPtr ReferenceTimestampMeta
p) = ManagedPtr ReferenceTimestampMeta
p
instance BoxedPtr ReferenceTimestampMeta where
boxedPtrCopy :: ReferenceTimestampMeta -> IO ReferenceTimestampMeta
boxedPtrCopy = \ReferenceTimestampMeta
p -> ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO ReferenceTimestampMeta)
-> IO ReferenceTimestampMeta
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr ReferenceTimestampMeta
p (Int
-> Ptr ReferenceTimestampMeta -> IO (Ptr ReferenceTimestampMeta)
forall a. (HasCallStack, CallocPtr a) => Int -> Ptr a -> IO (Ptr a)
copyBytes Int
40 (Ptr ReferenceTimestampMeta -> IO (Ptr ReferenceTimestampMeta))
-> (Ptr ReferenceTimestampMeta -> IO ReferenceTimestampMeta)
-> Ptr ReferenceTimestampMeta
-> IO ReferenceTimestampMeta
forall (m :: * -> *) a b c.
Monad m =>
(a -> m b) -> (b -> m c) -> a -> m c
>=> (ManagedPtr ReferenceTimestampMeta -> ReferenceTimestampMeta)
-> Ptr ReferenceTimestampMeta -> IO ReferenceTimestampMeta
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.wrapPtr ManagedPtr ReferenceTimestampMeta -> ReferenceTimestampMeta
ReferenceTimestampMeta)
boxedPtrFree :: ReferenceTimestampMeta -> IO ()
boxedPtrFree = \ReferenceTimestampMeta
x -> ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
SP.withManagedPtr ReferenceTimestampMeta
x Ptr ReferenceTimestampMeta -> IO ()
forall a. Ptr a -> IO ()
SP.freeMem
instance CallocPtr ReferenceTimestampMeta where
boxedPtrCalloc :: IO (Ptr ReferenceTimestampMeta)
boxedPtrCalloc = Int -> IO (Ptr ReferenceTimestampMeta)
forall a. Int -> IO (Ptr a)
callocBytes Int
40
newZeroReferenceTimestampMeta :: MonadIO m => m ReferenceTimestampMeta
newZeroReferenceTimestampMeta :: m ReferenceTimestampMeta
newZeroReferenceTimestampMeta = IO ReferenceTimestampMeta -> m ReferenceTimestampMeta
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ReferenceTimestampMeta -> m ReferenceTimestampMeta)
-> IO ReferenceTimestampMeta -> m ReferenceTimestampMeta
forall a b. (a -> b) -> a -> b
$ IO (Ptr ReferenceTimestampMeta)
forall a. CallocPtr a => IO (Ptr a)
boxedPtrCalloc IO (Ptr ReferenceTimestampMeta)
-> (Ptr ReferenceTimestampMeta -> IO ReferenceTimestampMeta)
-> IO ReferenceTimestampMeta
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr ReferenceTimestampMeta -> ReferenceTimestampMeta)
-> Ptr ReferenceTimestampMeta -> IO ReferenceTimestampMeta
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr ReferenceTimestampMeta -> ReferenceTimestampMeta
ReferenceTimestampMeta
instance tag ~ 'AttrSet => Constructible ReferenceTimestampMeta tag where
new :: (ManagedPtr ReferenceTimestampMeta -> ReferenceTimestampMeta)
-> [AttrOp ReferenceTimestampMeta tag] -> m ReferenceTimestampMeta
new ManagedPtr ReferenceTimestampMeta -> ReferenceTimestampMeta
_ [AttrOp ReferenceTimestampMeta tag]
attrs = do
ReferenceTimestampMeta
o <- m ReferenceTimestampMeta
forall (m :: * -> *). MonadIO m => m ReferenceTimestampMeta
newZeroReferenceTimestampMeta
ReferenceTimestampMeta
-> [AttrOp ReferenceTimestampMeta 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set ReferenceTimestampMeta
o [AttrOp ReferenceTimestampMeta tag]
[AttrOp ReferenceTimestampMeta 'AttrSet]
attrs
ReferenceTimestampMeta -> m ReferenceTimestampMeta
forall (m :: * -> *) a. Monad m => a -> m a
return ReferenceTimestampMeta
o
getReferenceTimestampMetaParent :: MonadIO m => ReferenceTimestampMeta -> m Gst.Meta.Meta
getReferenceTimestampMetaParent :: ReferenceTimestampMeta -> m Meta
getReferenceTimestampMetaParent ReferenceTimestampMeta
s = IO Meta -> m Meta
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Meta -> m Meta) -> IO Meta -> m Meta
forall a b. (a -> b) -> a -> b
$ ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO Meta) -> IO Meta
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ReferenceTimestampMeta
s ((Ptr ReferenceTimestampMeta -> IO Meta) -> IO Meta)
-> (Ptr ReferenceTimestampMeta -> IO Meta) -> IO Meta
forall a b. (a -> b) -> a -> b
$ \Ptr ReferenceTimestampMeta
ptr -> do
let val :: Ptr Meta
val = Ptr ReferenceTimestampMeta
ptr Ptr ReferenceTimestampMeta -> Int -> Ptr Meta
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0 :: (Ptr Gst.Meta.Meta)
Meta
val' <- ((ManagedPtr Meta -> Meta) -> Ptr Meta -> IO Meta
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr Meta -> Meta
Gst.Meta.Meta) Ptr Meta
val
Meta -> IO Meta
forall (m :: * -> *) a. Monad m => a -> m a
return Meta
val'
#if defined(ENABLE_OVERLOADING)
data ReferenceTimestampMetaParentFieldInfo
instance AttrInfo ReferenceTimestampMetaParentFieldInfo where
type AttrBaseTypeConstraint ReferenceTimestampMetaParentFieldInfo = (~) ReferenceTimestampMeta
type AttrAllowedOps ReferenceTimestampMetaParentFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint ReferenceTimestampMetaParentFieldInfo = (~) (Ptr Gst.Meta.Meta)
type AttrTransferTypeConstraint ReferenceTimestampMetaParentFieldInfo = (~)(Ptr Gst.Meta.Meta)
type AttrTransferType ReferenceTimestampMetaParentFieldInfo = (Ptr Gst.Meta.Meta)
type AttrGetType ReferenceTimestampMetaParentFieldInfo = Gst.Meta.Meta
type AttrLabel ReferenceTimestampMetaParentFieldInfo = "parent"
type AttrOrigin ReferenceTimestampMetaParentFieldInfo = ReferenceTimestampMeta
attrGet = getReferenceTimestampMetaParent
attrSet = undefined
attrConstruct = undefined
attrClear = undefined
attrTransfer = undefined
referenceTimestampMeta_parent :: AttrLabelProxy "parent"
referenceTimestampMeta_parent = AttrLabelProxy
#endif
getReferenceTimestampMetaReference :: MonadIO m => ReferenceTimestampMeta -> m (Maybe Gst.Caps.Caps)
getReferenceTimestampMetaReference :: ReferenceTimestampMeta -> m (Maybe Caps)
getReferenceTimestampMetaReference ReferenceTimestampMeta
s = IO (Maybe Caps) -> m (Maybe Caps)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Caps) -> m (Maybe Caps))
-> IO (Maybe Caps) -> m (Maybe Caps)
forall a b. (a -> b) -> a -> b
$ ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO (Maybe Caps))
-> IO (Maybe Caps)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ReferenceTimestampMeta
s ((Ptr ReferenceTimestampMeta -> IO (Maybe Caps))
-> IO (Maybe Caps))
-> (Ptr ReferenceTimestampMeta -> IO (Maybe Caps))
-> IO (Maybe Caps)
forall a b. (a -> b) -> a -> b
$ \Ptr ReferenceTimestampMeta
ptr -> do
Ptr Caps
val <- Ptr (Ptr Caps) -> IO (Ptr Caps)
forall a. Storable a => Ptr a -> IO a
peek (Ptr ReferenceTimestampMeta
ptr Ptr ReferenceTimestampMeta -> Int -> Ptr (Ptr Caps)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO (Ptr Gst.Caps.Caps)
Maybe Caps
result <- Ptr Caps -> (Ptr Caps -> IO Caps) -> IO (Maybe Caps)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr Caps
val ((Ptr Caps -> IO Caps) -> IO (Maybe Caps))
-> (Ptr Caps -> IO Caps) -> IO (Maybe Caps)
forall a b. (a -> b) -> a -> b
$ \Ptr Caps
val' -> do
Caps
val'' <- ((ManagedPtr Caps -> Caps) -> Ptr Caps -> IO Caps
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Caps -> Caps
Gst.Caps.Caps) Ptr Caps
val'
Caps -> IO Caps
forall (m :: * -> *) a. Monad m => a -> m a
return Caps
val''
Maybe Caps -> IO (Maybe Caps)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Caps
result
setReferenceTimestampMetaReference :: MonadIO m => ReferenceTimestampMeta -> Ptr Gst.Caps.Caps -> m ()
setReferenceTimestampMetaReference :: ReferenceTimestampMeta -> Ptr Caps -> m ()
setReferenceTimestampMetaReference ReferenceTimestampMeta
s Ptr Caps
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ReferenceTimestampMeta
s ((Ptr ReferenceTimestampMeta -> IO ()) -> IO ())
-> (Ptr ReferenceTimestampMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ReferenceTimestampMeta
ptr -> do
Ptr (Ptr Caps) -> Ptr Caps -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ReferenceTimestampMeta
ptr Ptr ReferenceTimestampMeta -> Int -> Ptr (Ptr Caps)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Ptr Caps
val :: Ptr Gst.Caps.Caps)
clearReferenceTimestampMetaReference :: MonadIO m => ReferenceTimestampMeta -> m ()
clearReferenceTimestampMetaReference :: ReferenceTimestampMeta -> m ()
clearReferenceTimestampMetaReference ReferenceTimestampMeta
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ReferenceTimestampMeta
s ((Ptr ReferenceTimestampMeta -> IO ()) -> IO ())
-> (Ptr ReferenceTimestampMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ReferenceTimestampMeta
ptr -> do
Ptr (Ptr Caps) -> Ptr Caps -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ReferenceTimestampMeta
ptr Ptr ReferenceTimestampMeta -> Int -> Ptr (Ptr Caps)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Ptr Caps
forall a. Ptr a
FP.nullPtr :: Ptr Gst.Caps.Caps)
#if defined(ENABLE_OVERLOADING)
data ReferenceTimestampMetaReferenceFieldInfo
instance AttrInfo ReferenceTimestampMetaReferenceFieldInfo where
type AttrBaseTypeConstraint ReferenceTimestampMetaReferenceFieldInfo = (~) ReferenceTimestampMeta
type AttrAllowedOps ReferenceTimestampMetaReferenceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ReferenceTimestampMetaReferenceFieldInfo = (~) (Ptr Gst.Caps.Caps)
type AttrTransferTypeConstraint ReferenceTimestampMetaReferenceFieldInfo = (~)(Ptr Gst.Caps.Caps)
type AttrTransferType ReferenceTimestampMetaReferenceFieldInfo = (Ptr Gst.Caps.Caps)
type AttrGetType ReferenceTimestampMetaReferenceFieldInfo = Maybe Gst.Caps.Caps
type AttrLabel ReferenceTimestampMetaReferenceFieldInfo = "reference"
type AttrOrigin ReferenceTimestampMetaReferenceFieldInfo = ReferenceTimestampMeta
attrGet = getReferenceTimestampMetaReference
attrSet = setReferenceTimestampMetaReference
attrConstruct = undefined
attrClear = clearReferenceTimestampMetaReference
attrTransfer _ v = do
return v
referenceTimestampMeta_reference :: AttrLabelProxy "reference"
referenceTimestampMeta_reference = AttrLabelProxy
#endif
getReferenceTimestampMetaTimestamp :: MonadIO m => ReferenceTimestampMeta -> m Word64
getReferenceTimestampMetaTimestamp :: ReferenceTimestampMeta -> m Word64
getReferenceTimestampMetaTimestamp ReferenceTimestampMeta
s = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO Word64) -> IO Word64
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ReferenceTimestampMeta
s ((Ptr ReferenceTimestampMeta -> IO Word64) -> IO Word64)
-> (Ptr ReferenceTimestampMeta -> IO Word64) -> IO Word64
forall a b. (a -> b) -> a -> b
$ \Ptr ReferenceTimestampMeta
ptr -> do
Word64
val <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek (Ptr ReferenceTimestampMeta
ptr Ptr ReferenceTimestampMeta -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) :: IO Word64
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
val
setReferenceTimestampMetaTimestamp :: MonadIO m => ReferenceTimestampMeta -> Word64 -> m ()
setReferenceTimestampMetaTimestamp :: ReferenceTimestampMeta -> Word64 -> m ()
setReferenceTimestampMetaTimestamp ReferenceTimestampMeta
s Word64
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ReferenceTimestampMeta
s ((Ptr ReferenceTimestampMeta -> IO ()) -> IO ())
-> (Ptr ReferenceTimestampMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ReferenceTimestampMeta
ptr -> do
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ReferenceTimestampMeta
ptr Ptr ReferenceTimestampMeta -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (Word64
val :: Word64)
#if defined(ENABLE_OVERLOADING)
data ReferenceTimestampMetaTimestampFieldInfo
instance AttrInfo ReferenceTimestampMetaTimestampFieldInfo where
type AttrBaseTypeConstraint ReferenceTimestampMetaTimestampFieldInfo = (~) ReferenceTimestampMeta
type AttrAllowedOps ReferenceTimestampMetaTimestampFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ReferenceTimestampMetaTimestampFieldInfo = (~) Word64
type AttrTransferTypeConstraint ReferenceTimestampMetaTimestampFieldInfo = (~)Word64
type AttrTransferType ReferenceTimestampMetaTimestampFieldInfo = Word64
type AttrGetType ReferenceTimestampMetaTimestampFieldInfo = Word64
type AttrLabel ReferenceTimestampMetaTimestampFieldInfo = "timestamp"
type AttrOrigin ReferenceTimestampMetaTimestampFieldInfo = ReferenceTimestampMeta
attrGet = getReferenceTimestampMetaTimestamp
attrSet = setReferenceTimestampMetaTimestamp
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
referenceTimestampMeta_timestamp :: AttrLabelProxy "timestamp"
referenceTimestampMeta_timestamp = AttrLabelProxy
#endif
getReferenceTimestampMetaDuration :: MonadIO m => ReferenceTimestampMeta -> m Word64
getReferenceTimestampMetaDuration :: ReferenceTimestampMeta -> m Word64
getReferenceTimestampMetaDuration ReferenceTimestampMeta
s = IO Word64 -> m Word64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word64 -> m Word64) -> IO Word64 -> m Word64
forall a b. (a -> b) -> a -> b
$ ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO Word64) -> IO Word64
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ReferenceTimestampMeta
s ((Ptr ReferenceTimestampMeta -> IO Word64) -> IO Word64)
-> (Ptr ReferenceTimestampMeta -> IO Word64) -> IO Word64
forall a b. (a -> b) -> a -> b
$ \Ptr ReferenceTimestampMeta
ptr -> do
Word64
val <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek (Ptr ReferenceTimestampMeta
ptr Ptr ReferenceTimestampMeta -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) :: IO Word64
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
val
setReferenceTimestampMetaDuration :: MonadIO m => ReferenceTimestampMeta -> Word64 -> m ()
setReferenceTimestampMetaDuration :: ReferenceTimestampMeta -> Word64 -> m ()
setReferenceTimestampMetaDuration ReferenceTimestampMeta
s Word64
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ReferenceTimestampMeta
s ((Ptr ReferenceTimestampMeta -> IO ()) -> IO ())
-> (Ptr ReferenceTimestampMeta -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr ReferenceTimestampMeta
ptr -> do
Ptr Word64 -> Word64 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr ReferenceTimestampMeta
ptr Ptr ReferenceTimestampMeta -> Int -> Ptr Word64
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32) (Word64
val :: Word64)
#if defined(ENABLE_OVERLOADING)
data ReferenceTimestampMetaDurationFieldInfo
instance AttrInfo ReferenceTimestampMetaDurationFieldInfo where
type AttrBaseTypeConstraint ReferenceTimestampMetaDurationFieldInfo = (~) ReferenceTimestampMeta
type AttrAllowedOps ReferenceTimestampMetaDurationFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint ReferenceTimestampMetaDurationFieldInfo = (~) Word64
type AttrTransferTypeConstraint ReferenceTimestampMetaDurationFieldInfo = (~)Word64
type AttrTransferType ReferenceTimestampMetaDurationFieldInfo = Word64
type AttrGetType ReferenceTimestampMetaDurationFieldInfo = Word64
type AttrLabel ReferenceTimestampMetaDurationFieldInfo = "duration"
type AttrOrigin ReferenceTimestampMetaDurationFieldInfo = ReferenceTimestampMeta
attrGet = getReferenceTimestampMetaDuration
attrSet = setReferenceTimestampMetaDuration
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
referenceTimestampMeta_duration :: AttrLabelProxy "duration"
referenceTimestampMeta_duration = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ReferenceTimestampMeta
type instance O.AttributeList ReferenceTimestampMeta = ReferenceTimestampMetaAttributeList
type ReferenceTimestampMetaAttributeList = ('[ '("parent", ReferenceTimestampMetaParentFieldInfo), '("reference", ReferenceTimestampMetaReferenceFieldInfo), '("timestamp", ReferenceTimestampMetaTimestampFieldInfo), '("duration", ReferenceTimestampMetaDurationFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_reference_timestamp_meta_get_info" gst_reference_timestamp_meta_get_info ::
IO (Ptr Gst.MetaInfo.MetaInfo)
referenceTimestampMetaGetInfo ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gst.MetaInfo.MetaInfo
referenceTimestampMetaGetInfo :: m MetaInfo
referenceTimestampMetaGetInfo = IO MetaInfo -> m MetaInfo
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO MetaInfo -> m MetaInfo) -> IO MetaInfo -> m MetaInfo
forall a b. (a -> b) -> a -> b
$ do
Ptr MetaInfo
result <- IO (Ptr MetaInfo)
gst_reference_timestamp_meta_get_info
Text -> Ptr MetaInfo -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"referenceTimestampMetaGetInfo" Ptr MetaInfo
result
MetaInfo
result' <- ((ManagedPtr MetaInfo -> MetaInfo) -> Ptr MetaInfo -> IO MetaInfo
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr MetaInfo -> MetaInfo
Gst.MetaInfo.MetaInfo) Ptr MetaInfo
result
MetaInfo -> IO MetaInfo
forall (m :: * -> *) a. Monad m => a -> m a
return MetaInfo
result'
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveReferenceTimestampMetaMethod (t :: Symbol) (o :: *) :: * where
ResolveReferenceTimestampMetaMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveReferenceTimestampMetaMethod t ReferenceTimestampMeta, O.MethodInfo info ReferenceTimestampMeta p) => OL.IsLabel t (ReferenceTimestampMeta -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif