#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.GstAudio.Structs.AudioRingBufferSpec
(
AudioRingBufferSpec(..) ,
newZeroAudioRingBufferSpec ,
noAudioRingBufferSpec ,
#if ENABLE_OVERLOADING
audioRingBufferSpec_bufferTime ,
#endif
getAudioRingBufferSpecBufferTime ,
setAudioRingBufferSpecBufferTime ,
#if ENABLE_OVERLOADING
audioRingBufferSpec_caps ,
#endif
clearAudioRingBufferSpecCaps ,
getAudioRingBufferSpecCaps ,
setAudioRingBufferSpecCaps ,
#if ENABLE_OVERLOADING
audioRingBufferSpec_info ,
#endif
getAudioRingBufferSpecInfo ,
#if ENABLE_OVERLOADING
audioRingBufferSpec_latencyTime ,
#endif
getAudioRingBufferSpecLatencyTime ,
setAudioRingBufferSpecLatencyTime ,
#if ENABLE_OVERLOADING
audioRingBufferSpec_seglatency ,
#endif
getAudioRingBufferSpecSeglatency ,
setAudioRingBufferSpecSeglatency ,
#if ENABLE_OVERLOADING
audioRingBufferSpec_segsize ,
#endif
getAudioRingBufferSpecSegsize ,
setAudioRingBufferSpecSegsize ,
#if ENABLE_OVERLOADING
audioRingBufferSpec_segtotal ,
#endif
getAudioRingBufferSpecSegtotal ,
setAudioRingBufferSpecSegtotal ,
#if ENABLE_OVERLOADING
audioRingBufferSpec_type ,
#endif
getAudioRingBufferSpecType ,
setAudioRingBufferSpecType ,
) 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.Gst.Structs.Caps as Gst.Caps
import {-# SOURCE #-} qualified GI.GstAudio.Enums as GstAudio.Enums
import {-# SOURCE #-} qualified GI.GstAudio.Structs.AudioInfo as GstAudio.AudioInfo
newtype AudioRingBufferSpec = AudioRingBufferSpec (ManagedPtr AudioRingBufferSpec)
instance WrappedPtr AudioRingBufferSpec where
wrappedPtrCalloc = callocBytes 400
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 400 >=> wrapPtr AudioRingBufferSpec)
wrappedPtrFree = Just ptr_to_g_free
newZeroAudioRingBufferSpec :: MonadIO m => m AudioRingBufferSpec
newZeroAudioRingBufferSpec = liftIO $ wrappedPtrCalloc >>= wrapPtr AudioRingBufferSpec
instance tag ~ 'AttrSet => Constructible AudioRingBufferSpec tag where
new _ attrs = do
o <- newZeroAudioRingBufferSpec
GI.Attributes.set o attrs
return o
noAudioRingBufferSpec :: Maybe AudioRingBufferSpec
noAudioRingBufferSpec = Nothing
getAudioRingBufferSpecCaps :: MonadIO m => AudioRingBufferSpec -> m (Maybe Gst.Caps.Caps)
getAudioRingBufferSpecCaps s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gst.Caps.Caps)
result <- SP.convertIfNonNull val $ \val' -> do
val'' <- (newBoxed Gst.Caps.Caps) val'
return val''
return result
setAudioRingBufferSpecCaps :: MonadIO m => AudioRingBufferSpec -> Ptr Gst.Caps.Caps -> m ()
setAudioRingBufferSpecCaps s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (val :: Ptr Gst.Caps.Caps)
clearAudioRingBufferSpecCaps :: MonadIO m => AudioRingBufferSpec -> m ()
clearAudioRingBufferSpecCaps s = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr Gst.Caps.Caps)
#if ENABLE_OVERLOADING
data AudioRingBufferSpecCapsFieldInfo
instance AttrInfo AudioRingBufferSpecCapsFieldInfo where
type AttrAllowedOps AudioRingBufferSpecCapsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint AudioRingBufferSpecCapsFieldInfo = (~) (Ptr Gst.Caps.Caps)
type AttrBaseTypeConstraint AudioRingBufferSpecCapsFieldInfo = (~) AudioRingBufferSpec
type AttrGetType AudioRingBufferSpecCapsFieldInfo = Maybe Gst.Caps.Caps
type AttrLabel AudioRingBufferSpecCapsFieldInfo = "caps"
type AttrOrigin AudioRingBufferSpecCapsFieldInfo = AudioRingBufferSpec
attrGet _ = getAudioRingBufferSpecCaps
attrSet _ = setAudioRingBufferSpecCaps
attrConstruct = undefined
attrClear _ = clearAudioRingBufferSpecCaps
audioRingBufferSpec_caps :: AttrLabelProxy "caps"
audioRingBufferSpec_caps = AttrLabelProxy
#endif
getAudioRingBufferSpecType :: MonadIO m => AudioRingBufferSpec -> m GstAudio.Enums.AudioRingBufferFormatType
getAudioRingBufferSpecType s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO CUInt
let val' = (toEnum . fromIntegral) val
return val'
setAudioRingBufferSpecType :: MonadIO m => AudioRingBufferSpec -> GstAudio.Enums.AudioRingBufferFormatType -> m ()
setAudioRingBufferSpecType s val = liftIO $ withManagedPtr s $ \ptr -> do
let val' = (fromIntegral . fromEnum) val
poke (ptr `plusPtr` 8) (val' :: CUInt)
#if ENABLE_OVERLOADING
data AudioRingBufferSpecTypeFieldInfo
instance AttrInfo AudioRingBufferSpecTypeFieldInfo where
type AttrAllowedOps AudioRingBufferSpecTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioRingBufferSpecTypeFieldInfo = (~) GstAudio.Enums.AudioRingBufferFormatType
type AttrBaseTypeConstraint AudioRingBufferSpecTypeFieldInfo = (~) AudioRingBufferSpec
type AttrGetType AudioRingBufferSpecTypeFieldInfo = GstAudio.Enums.AudioRingBufferFormatType
type AttrLabel AudioRingBufferSpecTypeFieldInfo = "type"
type AttrOrigin AudioRingBufferSpecTypeFieldInfo = AudioRingBufferSpec
attrGet _ = getAudioRingBufferSpecType
attrSet _ = setAudioRingBufferSpecType
attrConstruct = undefined
attrClear _ = undefined
audioRingBufferSpec_type :: AttrLabelProxy "type"
audioRingBufferSpec_type = AttrLabelProxy
#endif
getAudioRingBufferSpecInfo :: MonadIO m => AudioRingBufferSpec -> m GstAudio.AudioInfo.AudioInfo
getAudioRingBufferSpecInfo s = liftIO $ withManagedPtr s $ \ptr -> do
let val = ptr `plusPtr` 16 :: (Ptr GstAudio.AudioInfo.AudioInfo)
val' <- (newBoxed GstAudio.AudioInfo.AudioInfo) val
return val'
#if ENABLE_OVERLOADING
data AudioRingBufferSpecInfoFieldInfo
instance AttrInfo AudioRingBufferSpecInfoFieldInfo where
type AttrAllowedOps AudioRingBufferSpecInfoFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint AudioRingBufferSpecInfoFieldInfo = (~) (Ptr GstAudio.AudioInfo.AudioInfo)
type AttrBaseTypeConstraint AudioRingBufferSpecInfoFieldInfo = (~) AudioRingBufferSpec
type AttrGetType AudioRingBufferSpecInfoFieldInfo = GstAudio.AudioInfo.AudioInfo
type AttrLabel AudioRingBufferSpecInfoFieldInfo = "info"
type AttrOrigin AudioRingBufferSpecInfoFieldInfo = AudioRingBufferSpec
attrGet _ = getAudioRingBufferSpecInfo
attrSet _ = undefined
attrConstruct = undefined
attrClear _ = undefined
audioRingBufferSpec_info :: AttrLabelProxy "info"
audioRingBufferSpec_info = AttrLabelProxy
#endif
getAudioRingBufferSpecLatencyTime :: MonadIO m => AudioRingBufferSpec -> m Word64
getAudioRingBufferSpecLatencyTime s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 336) :: IO Word64
return val
setAudioRingBufferSpecLatencyTime :: MonadIO m => AudioRingBufferSpec -> Word64 -> m ()
setAudioRingBufferSpecLatencyTime s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 336) (val :: Word64)
#if ENABLE_OVERLOADING
data AudioRingBufferSpecLatencyTimeFieldInfo
instance AttrInfo AudioRingBufferSpecLatencyTimeFieldInfo where
type AttrAllowedOps AudioRingBufferSpecLatencyTimeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioRingBufferSpecLatencyTimeFieldInfo = (~) Word64
type AttrBaseTypeConstraint AudioRingBufferSpecLatencyTimeFieldInfo = (~) AudioRingBufferSpec
type AttrGetType AudioRingBufferSpecLatencyTimeFieldInfo = Word64
type AttrLabel AudioRingBufferSpecLatencyTimeFieldInfo = "latency_time"
type AttrOrigin AudioRingBufferSpecLatencyTimeFieldInfo = AudioRingBufferSpec
attrGet _ = getAudioRingBufferSpecLatencyTime
attrSet _ = setAudioRingBufferSpecLatencyTime
attrConstruct = undefined
attrClear _ = undefined
audioRingBufferSpec_latencyTime :: AttrLabelProxy "latencyTime"
audioRingBufferSpec_latencyTime = AttrLabelProxy
#endif
getAudioRingBufferSpecBufferTime :: MonadIO m => AudioRingBufferSpec -> m Word64
getAudioRingBufferSpecBufferTime s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 344) :: IO Word64
return val
setAudioRingBufferSpecBufferTime :: MonadIO m => AudioRingBufferSpec -> Word64 -> m ()
setAudioRingBufferSpecBufferTime s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 344) (val :: Word64)
#if ENABLE_OVERLOADING
data AudioRingBufferSpecBufferTimeFieldInfo
instance AttrInfo AudioRingBufferSpecBufferTimeFieldInfo where
type AttrAllowedOps AudioRingBufferSpecBufferTimeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioRingBufferSpecBufferTimeFieldInfo = (~) Word64
type AttrBaseTypeConstraint AudioRingBufferSpecBufferTimeFieldInfo = (~) AudioRingBufferSpec
type AttrGetType AudioRingBufferSpecBufferTimeFieldInfo = Word64
type AttrLabel AudioRingBufferSpecBufferTimeFieldInfo = "buffer_time"
type AttrOrigin AudioRingBufferSpecBufferTimeFieldInfo = AudioRingBufferSpec
attrGet _ = getAudioRingBufferSpecBufferTime
attrSet _ = setAudioRingBufferSpecBufferTime
attrConstruct = undefined
attrClear _ = undefined
audioRingBufferSpec_bufferTime :: AttrLabelProxy "bufferTime"
audioRingBufferSpec_bufferTime = AttrLabelProxy
#endif
getAudioRingBufferSpecSegsize :: MonadIO m => AudioRingBufferSpec -> m Int32
getAudioRingBufferSpecSegsize s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 352) :: IO Int32
return val
setAudioRingBufferSpecSegsize :: MonadIO m => AudioRingBufferSpec -> Int32 -> m ()
setAudioRingBufferSpecSegsize s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 352) (val :: Int32)
#if ENABLE_OVERLOADING
data AudioRingBufferSpecSegsizeFieldInfo
instance AttrInfo AudioRingBufferSpecSegsizeFieldInfo where
type AttrAllowedOps AudioRingBufferSpecSegsizeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioRingBufferSpecSegsizeFieldInfo = (~) Int32
type AttrBaseTypeConstraint AudioRingBufferSpecSegsizeFieldInfo = (~) AudioRingBufferSpec
type AttrGetType AudioRingBufferSpecSegsizeFieldInfo = Int32
type AttrLabel AudioRingBufferSpecSegsizeFieldInfo = "segsize"
type AttrOrigin AudioRingBufferSpecSegsizeFieldInfo = AudioRingBufferSpec
attrGet _ = getAudioRingBufferSpecSegsize
attrSet _ = setAudioRingBufferSpecSegsize
attrConstruct = undefined
attrClear _ = undefined
audioRingBufferSpec_segsize :: AttrLabelProxy "segsize"
audioRingBufferSpec_segsize = AttrLabelProxy
#endif
getAudioRingBufferSpecSegtotal :: MonadIO m => AudioRingBufferSpec -> m Int32
getAudioRingBufferSpecSegtotal s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 356) :: IO Int32
return val
setAudioRingBufferSpecSegtotal :: MonadIO m => AudioRingBufferSpec -> Int32 -> m ()
setAudioRingBufferSpecSegtotal s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 356) (val :: Int32)
#if ENABLE_OVERLOADING
data AudioRingBufferSpecSegtotalFieldInfo
instance AttrInfo AudioRingBufferSpecSegtotalFieldInfo where
type AttrAllowedOps AudioRingBufferSpecSegtotalFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioRingBufferSpecSegtotalFieldInfo = (~) Int32
type AttrBaseTypeConstraint AudioRingBufferSpecSegtotalFieldInfo = (~) AudioRingBufferSpec
type AttrGetType AudioRingBufferSpecSegtotalFieldInfo = Int32
type AttrLabel AudioRingBufferSpecSegtotalFieldInfo = "segtotal"
type AttrOrigin AudioRingBufferSpecSegtotalFieldInfo = AudioRingBufferSpec
attrGet _ = getAudioRingBufferSpecSegtotal
attrSet _ = setAudioRingBufferSpecSegtotal
attrConstruct = undefined
attrClear _ = undefined
audioRingBufferSpec_segtotal :: AttrLabelProxy "segtotal"
audioRingBufferSpec_segtotal = AttrLabelProxy
#endif
getAudioRingBufferSpecSeglatency :: MonadIO m => AudioRingBufferSpec -> m Int32
getAudioRingBufferSpecSeglatency s = liftIO $ withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 360) :: IO Int32
return val
setAudioRingBufferSpecSeglatency :: MonadIO m => AudioRingBufferSpec -> Int32 -> m ()
setAudioRingBufferSpecSeglatency s val = liftIO $ withManagedPtr s $ \ptr -> do
poke (ptr `plusPtr` 360) (val :: Int32)
#if ENABLE_OVERLOADING
data AudioRingBufferSpecSeglatencyFieldInfo
instance AttrInfo AudioRingBufferSpecSeglatencyFieldInfo where
type AttrAllowedOps AudioRingBufferSpecSeglatencyFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint AudioRingBufferSpecSeglatencyFieldInfo = (~) Int32
type AttrBaseTypeConstraint AudioRingBufferSpecSeglatencyFieldInfo = (~) AudioRingBufferSpec
type AttrGetType AudioRingBufferSpecSeglatencyFieldInfo = Int32
type AttrLabel AudioRingBufferSpecSeglatencyFieldInfo = "seglatency"
type AttrOrigin AudioRingBufferSpecSeglatencyFieldInfo = AudioRingBufferSpec
attrGet _ = getAudioRingBufferSpecSeglatency
attrSet _ = setAudioRingBufferSpecSeglatency
attrConstruct = undefined
attrClear _ = undefined
audioRingBufferSpec_seglatency :: AttrLabelProxy "seglatency"
audioRingBufferSpec_seglatency = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList AudioRingBufferSpec
type instance O.AttributeList AudioRingBufferSpec = AudioRingBufferSpecAttributeList
type AudioRingBufferSpecAttributeList = ('[ '("caps", AudioRingBufferSpecCapsFieldInfo), '("type", AudioRingBufferSpecTypeFieldInfo), '("info", AudioRingBufferSpecInfoFieldInfo), '("latencyTime", AudioRingBufferSpecLatencyTimeFieldInfo), '("bufferTime", AudioRingBufferSpecBufferTimeFieldInfo), '("segsize", AudioRingBufferSpecSegsizeFieldInfo), '("segtotal", AudioRingBufferSpecSegtotalFieldInfo), '("seglatency", AudioRingBufferSpecSeglatencyFieldInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
type family ResolveAudioRingBufferSpecMethod (t :: Symbol) (o :: *) :: * where
ResolveAudioRingBufferSpecMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAudioRingBufferSpecMethod t AudioRingBufferSpec, O.MethodInfo info AudioRingBufferSpec p) => OL.IsLabel t (AudioRingBufferSpec -> 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