{-# 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 ,
noReferenceTimestampMeta ,
#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.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 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 (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 WrappedPtr ReferenceTimestampMeta where
wrappedPtrCalloc :: IO (Ptr ReferenceTimestampMeta)
wrappedPtrCalloc = Int -> IO (Ptr ReferenceTimestampMeta)
forall a. Int -> IO (Ptr a)
callocBytes 40
wrappedPtrCopy :: ReferenceTimestampMeta -> IO ReferenceTimestampMeta
wrappedPtrCopy = \p :: ReferenceTimestampMeta
p -> ReferenceTimestampMeta
-> (Ptr ReferenceTimestampMeta -> IO ReferenceTimestampMeta)
-> IO ReferenceTimestampMeta
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr ReferenceTimestampMeta
p (Int
-> Ptr ReferenceTimestampMeta -> IO (Ptr ReferenceTimestampMeta)
forall a. WrappedPtr a => Int -> Ptr a -> IO (Ptr a)
copyBytes 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, WrappedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr ReferenceTimestampMeta -> ReferenceTimestampMeta
ReferenceTimestampMeta)
wrappedPtrFree :: Maybe (GDestroyNotify ReferenceTimestampMeta)
wrappedPtrFree = GDestroyNotify ReferenceTimestampMeta
-> Maybe (GDestroyNotify ReferenceTimestampMeta)
forall a. a -> Maybe a
Just GDestroyNotify ReferenceTimestampMeta
forall a. FunPtr (Ptr a -> IO ())
ptr_to_g_free
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. WrappedPtr a => IO (Ptr a)
wrappedPtrCalloc 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, WrappedPtr 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 _ attrs :: [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
noReferenceTimestampMeta :: Maybe ReferenceTimestampMeta
noReferenceTimestampMeta :: Maybe ReferenceTimestampMeta
noReferenceTimestampMeta = Maybe ReferenceTimestampMeta
forall a. Maybe a
Nothing
getReferenceTimestampMetaParent :: MonadIO m => ReferenceTimestampMeta -> m Gst.Meta.Meta
getReferenceTimestampMetaParent :: ReferenceTimestampMeta -> m Meta
getReferenceTimestampMetaParent s :: 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 :: 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` 0 :: (Ptr Gst.Meta.Meta)
Meta
val' <- ((ManagedPtr Meta -> Meta) -> Ptr Meta -> IO Meta
forall a.
(HasCallStack, WrappedPtr 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 s :: 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 :: 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` 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
$ \val' :: Ptr Caps
val' -> do
Caps
val'' <- ((ManagedPtr Caps -> Caps) -> Ptr Caps -> IO Caps
forall a.
(HasCallStack, BoxedObject 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 s :: ReferenceTimestampMeta
s val :: 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 :: 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` 16) (Ptr Caps
val :: Ptr Gst.Caps.Caps)
clearReferenceTimestampMetaReference :: MonadIO m => ReferenceTimestampMeta -> m ()
clearReferenceTimestampMetaReference :: ReferenceTimestampMeta -> m ()
clearReferenceTimestampMetaReference s :: 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 :: 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` 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 s :: 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 :: 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` 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 s :: ReferenceTimestampMeta
s val :: 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 :: 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` 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 s :: 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 :: 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` 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 s :: ReferenceTimestampMeta
s val :: 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 :: 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` 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 "referenceTimestampMetaGetInfo" Ptr MetaInfo
result
MetaInfo
result' <- ((ManagedPtr MetaInfo -> MetaInfo) -> Ptr MetaInfo -> IO MetaInfo
forall a.
(HasCallStack, WrappedPtr 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