{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstAudio.Structs.AudioStreamAlign
(
AudioStreamAlign(..) ,
noAudioStreamAlign ,
#if defined(ENABLE_OVERLOADING)
ResolveAudioStreamAlignMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignCopyMethodInfo ,
#endif
audioStreamAlignCopy ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignFreeMethodInfo ,
#endif
audioStreamAlignFree ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignGetAlignmentThresholdMethodInfo,
#endif
audioStreamAlignGetAlignmentThreshold ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignGetDiscontWaitMethodInfo,
#endif
audioStreamAlignGetDiscontWait ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignGetRateMethodInfo ,
#endif
audioStreamAlignGetRate ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignGetSamplesSinceDiscontMethodInfo,
#endif
audioStreamAlignGetSamplesSinceDiscont ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignGetTimestampAtDiscontMethodInfo,
#endif
audioStreamAlignGetTimestampAtDiscont ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignMarkDiscontMethodInfo ,
#endif
audioStreamAlignMarkDiscont ,
audioStreamAlignNew ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignProcessMethodInfo ,
#endif
audioStreamAlignProcess ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignSetAlignmentThresholdMethodInfo,
#endif
audioStreamAlignSetAlignmentThreshold ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignSetDiscontWaitMethodInfo,
#endif
audioStreamAlignSetDiscontWait ,
#if defined(ENABLE_OVERLOADING)
AudioStreamAlignSetRateMethodInfo ,
#endif
audioStreamAlignSetRate ,
) 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
newtype AudioStreamAlign = AudioStreamAlign (ManagedPtr AudioStreamAlign)
deriving (AudioStreamAlign -> AudioStreamAlign -> Bool
(AudioStreamAlign -> AudioStreamAlign -> Bool)
-> (AudioStreamAlign -> AudioStreamAlign -> Bool)
-> Eq AudioStreamAlign
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AudioStreamAlign -> AudioStreamAlign -> Bool
$c/= :: AudioStreamAlign -> AudioStreamAlign -> Bool
== :: AudioStreamAlign -> AudioStreamAlign -> Bool
$c== :: AudioStreamAlign -> AudioStreamAlign -> Bool
Eq)
foreign import ccall "gst_audio_stream_align_get_type" c_gst_audio_stream_align_get_type ::
IO GType
instance BoxedObject AudioStreamAlign where
boxedType :: AudioStreamAlign -> IO GType
boxedType _ = IO GType
c_gst_audio_stream_align_get_type
instance B.GValue.IsGValue AudioStreamAlign where
toGValue :: AudioStreamAlign -> IO GValue
toGValue o :: AudioStreamAlign
o = do
GType
gtype <- IO GType
c_gst_audio_stream_align_get_type
AudioStreamAlign
-> (Ptr AudioStreamAlign -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr AudioStreamAlign
o (GType
-> (GValue -> Ptr AudioStreamAlign -> IO ())
-> Ptr AudioStreamAlign
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr AudioStreamAlign -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
fromGValue :: GValue -> IO AudioStreamAlign
fromGValue gv :: GValue
gv = do
Ptr AudioStreamAlign
ptr <- GValue -> IO (Ptr AudioStreamAlign)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr AudioStreamAlign)
(ManagedPtr AudioStreamAlign -> AudioStreamAlign)
-> Ptr AudioStreamAlign -> IO AudioStreamAlign
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr AudioStreamAlign -> AudioStreamAlign
AudioStreamAlign Ptr AudioStreamAlign
ptr
noAudioStreamAlign :: Maybe AudioStreamAlign
noAudioStreamAlign :: Maybe AudioStreamAlign
noAudioStreamAlign = Maybe AudioStreamAlign
forall a. Maybe a
Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList AudioStreamAlign
type instance O.AttributeList AudioStreamAlign = AudioStreamAlignAttributeList
type AudioStreamAlignAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "gst_audio_stream_align_new" gst_audio_stream_align_new ::
Int32 ->
Word64 ->
Word64 ->
IO (Ptr AudioStreamAlign)
audioStreamAlignNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Int32
-> Word64
-> Word64
-> m AudioStreamAlign
audioStreamAlignNew :: Int32 -> Word64 -> Word64 -> m AudioStreamAlign
audioStreamAlignNew rate :: Int32
rate alignmentThreshold :: Word64
alignmentThreshold discontWait :: Word64
discontWait = IO AudioStreamAlign -> m AudioStreamAlign
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AudioStreamAlign -> m AudioStreamAlign)
-> IO AudioStreamAlign -> m AudioStreamAlign
forall a b. (a -> b) -> a -> b
$ do
Ptr AudioStreamAlign
result <- Int32 -> Word64 -> Word64 -> IO (Ptr AudioStreamAlign)
gst_audio_stream_align_new Int32
rate Word64
alignmentThreshold Word64
discontWait
Text -> Ptr AudioStreamAlign -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "audioStreamAlignNew" Ptr AudioStreamAlign
result
AudioStreamAlign
result' <- ((ManagedPtr AudioStreamAlign -> AudioStreamAlign)
-> Ptr AudioStreamAlign -> IO AudioStreamAlign
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr AudioStreamAlign -> AudioStreamAlign
AudioStreamAlign) Ptr AudioStreamAlign
result
AudioStreamAlign -> IO AudioStreamAlign
forall (m :: * -> *) a. Monad m => a -> m a
return AudioStreamAlign
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_audio_stream_align_copy" gst_audio_stream_align_copy ::
Ptr AudioStreamAlign ->
IO (Ptr AudioStreamAlign)
audioStreamAlignCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> m AudioStreamAlign
audioStreamAlignCopy :: AudioStreamAlign -> m AudioStreamAlign
audioStreamAlignCopy align :: AudioStreamAlign
align = IO AudioStreamAlign -> m AudioStreamAlign
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO AudioStreamAlign -> m AudioStreamAlign)
-> IO AudioStreamAlign -> m AudioStreamAlign
forall a b. (a -> b) -> a -> b
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Ptr AudioStreamAlign
result <- Ptr AudioStreamAlign -> IO (Ptr AudioStreamAlign)
gst_audio_stream_align_copy Ptr AudioStreamAlign
align'
Text -> Ptr AudioStreamAlign -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "audioStreamAlignCopy" Ptr AudioStreamAlign
result
AudioStreamAlign
result' <- ((ManagedPtr AudioStreamAlign -> AudioStreamAlign)
-> Ptr AudioStreamAlign -> IO AudioStreamAlign
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr AudioStreamAlign -> AudioStreamAlign
AudioStreamAlign) Ptr AudioStreamAlign
result
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
AudioStreamAlign -> IO AudioStreamAlign
forall (m :: * -> *) a. Monad m => a -> m a
return AudioStreamAlign
result'
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignCopyMethodInfo
instance (signature ~ (m AudioStreamAlign), MonadIO m) => O.MethodInfo AudioStreamAlignCopyMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignCopy
#endif
foreign import ccall "gst_audio_stream_align_free" gst_audio_stream_align_free ::
Ptr AudioStreamAlign ->
IO ()
audioStreamAlignFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> m ()
audioStreamAlignFree :: AudioStreamAlign -> m ()
audioStreamAlignFree align :: AudioStreamAlign
align = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Ptr AudioStreamAlign -> IO ()
gst_audio_stream_align_free Ptr AudioStreamAlign
align'
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AudioStreamAlignFreeMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignFree
#endif
foreign import ccall "gst_audio_stream_align_get_alignment_threshold" gst_audio_stream_align_get_alignment_threshold ::
Ptr AudioStreamAlign ->
IO Word64
audioStreamAlignGetAlignmentThreshold ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> m Word64
audioStreamAlignGetAlignmentThreshold :: AudioStreamAlign -> m Word64
audioStreamAlignGetAlignmentThreshold align :: AudioStreamAlign
align = 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
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Word64
result <- Ptr AudioStreamAlign -> IO Word64
gst_audio_stream_align_get_alignment_threshold Ptr AudioStreamAlign
align'
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignGetAlignmentThresholdMethodInfo
instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo AudioStreamAlignGetAlignmentThresholdMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignGetAlignmentThreshold
#endif
foreign import ccall "gst_audio_stream_align_get_discont_wait" gst_audio_stream_align_get_discont_wait ::
Ptr AudioStreamAlign ->
IO Word64
audioStreamAlignGetDiscontWait ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> m Word64
audioStreamAlignGetDiscontWait :: AudioStreamAlign -> m Word64
audioStreamAlignGetDiscontWait align :: AudioStreamAlign
align = 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
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Word64
result <- Ptr AudioStreamAlign -> IO Word64
gst_audio_stream_align_get_discont_wait Ptr AudioStreamAlign
align'
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignGetDiscontWaitMethodInfo
instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo AudioStreamAlignGetDiscontWaitMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignGetDiscontWait
#endif
foreign import ccall "gst_audio_stream_align_get_rate" gst_audio_stream_align_get_rate ::
Ptr AudioStreamAlign ->
IO Int32
audioStreamAlignGetRate ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> m Int32
audioStreamAlignGetRate :: AudioStreamAlign -> m Int32
audioStreamAlignGetRate align :: AudioStreamAlign
align = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Int32
result <- Ptr AudioStreamAlign -> IO Int32
gst_audio_stream_align_get_rate Ptr AudioStreamAlign
align'
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignGetRateMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo AudioStreamAlignGetRateMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignGetRate
#endif
foreign import ccall "gst_audio_stream_align_get_samples_since_discont" gst_audio_stream_align_get_samples_since_discont ::
Ptr AudioStreamAlign ->
IO Word64
audioStreamAlignGetSamplesSinceDiscont ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> m Word64
audioStreamAlignGetSamplesSinceDiscont :: AudioStreamAlign -> m Word64
audioStreamAlignGetSamplesSinceDiscont align :: AudioStreamAlign
align = 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
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Word64
result <- Ptr AudioStreamAlign -> IO Word64
gst_audio_stream_align_get_samples_since_discont Ptr AudioStreamAlign
align'
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignGetSamplesSinceDiscontMethodInfo
instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo AudioStreamAlignGetSamplesSinceDiscontMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignGetSamplesSinceDiscont
#endif
foreign import ccall "gst_audio_stream_align_get_timestamp_at_discont" gst_audio_stream_align_get_timestamp_at_discont ::
Ptr AudioStreamAlign ->
IO Word64
audioStreamAlignGetTimestampAtDiscont ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> m Word64
audioStreamAlignGetTimestampAtDiscont :: AudioStreamAlign -> m Word64
audioStreamAlignGetTimestampAtDiscont align :: AudioStreamAlign
align = 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
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Word64
result <- Ptr AudioStreamAlign -> IO Word64
gst_audio_stream_align_get_timestamp_at_discont Ptr AudioStreamAlign
align'
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignGetTimestampAtDiscontMethodInfo
instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo AudioStreamAlignGetTimestampAtDiscontMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignGetTimestampAtDiscont
#endif
foreign import ccall "gst_audio_stream_align_mark_discont" gst_audio_stream_align_mark_discont ::
Ptr AudioStreamAlign ->
IO ()
audioStreamAlignMarkDiscont ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> m ()
audioStreamAlignMarkDiscont :: AudioStreamAlign -> m ()
audioStreamAlignMarkDiscont align :: AudioStreamAlign
align = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Ptr AudioStreamAlign -> IO ()
gst_audio_stream_align_mark_discont Ptr AudioStreamAlign
align'
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignMarkDiscontMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AudioStreamAlignMarkDiscontMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignMarkDiscont
#endif
foreign import ccall "gst_audio_stream_align_process" gst_audio_stream_align_process ::
Ptr AudioStreamAlign ->
CInt ->
Word64 ->
Word32 ->
Ptr Word64 ->
Ptr Word64 ->
Ptr Word64 ->
IO CInt
audioStreamAlignProcess ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> Bool
-> Word64
-> Word32
-> m ((Bool, Word64, Word64, Word64))
audioStreamAlignProcess :: AudioStreamAlign
-> Bool -> Word64 -> Word32 -> m (Bool, Word64, Word64, Word64)
audioStreamAlignProcess align :: AudioStreamAlign
align discont :: Bool
discont timestamp :: Word64
timestamp nSamples :: Word32
nSamples = IO (Bool, Word64, Word64, Word64)
-> m (Bool, Word64, Word64, Word64)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Word64, Word64, Word64)
-> m (Bool, Word64, Word64, Word64))
-> IO (Bool, Word64, Word64, Word64)
-> m (Bool, Word64, Word64, Word64)
forall a b. (a -> b) -> a -> b
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
let discont' :: CInt
discont' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
discont
Ptr Word64
outTimestamp <- IO (Ptr Word64)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word64)
Ptr Word64
outDuration <- IO (Ptr Word64)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word64)
Ptr Word64
outSamplePosition <- IO (Ptr Word64)
forall a. Storable a => IO (Ptr a)
allocMem :: IO (Ptr Word64)
CInt
result <- Ptr AudioStreamAlign
-> CInt
-> Word64
-> Word32
-> Ptr Word64
-> Ptr Word64
-> Ptr Word64
-> IO CInt
gst_audio_stream_align_process Ptr AudioStreamAlign
align' CInt
discont' Word64
timestamp Word32
nSamples Ptr Word64
outTimestamp Ptr Word64
outDuration Ptr Word64
outSamplePosition
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
Word64
outTimestamp' <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek Ptr Word64
outTimestamp
Word64
outDuration' <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek Ptr Word64
outDuration
Word64
outSamplePosition' <- Ptr Word64 -> IO Word64
forall a. Storable a => Ptr a -> IO a
peek Ptr Word64
outSamplePosition
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
Ptr Word64 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word64
outTimestamp
Ptr Word64 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word64
outDuration
Ptr Word64 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word64
outSamplePosition
(Bool, Word64, Word64, Word64) -> IO (Bool, Word64, Word64, Word64)
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Word64
outTimestamp', Word64
outDuration', Word64
outSamplePosition')
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignProcessMethodInfo
instance (signature ~ (Bool -> Word64 -> Word32 -> m ((Bool, Word64, Word64, Word64))), MonadIO m) => O.MethodInfo AudioStreamAlignProcessMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignProcess
#endif
foreign import ccall "gst_audio_stream_align_set_alignment_threshold" gst_audio_stream_align_set_alignment_threshold ::
Ptr AudioStreamAlign ->
Word64 ->
IO ()
audioStreamAlignSetAlignmentThreshold ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> Word64
-> m ()
audioStreamAlignSetAlignmentThreshold :: AudioStreamAlign -> Word64 -> m ()
audioStreamAlignSetAlignmentThreshold align :: AudioStreamAlign
align alignmentThreshold :: Word64
alignmentThreshold = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Ptr AudioStreamAlign -> Word64 -> IO ()
gst_audio_stream_align_set_alignment_threshold Ptr AudioStreamAlign
align' Word64
alignmentThreshold
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignSetAlignmentThresholdMethodInfo
instance (signature ~ (Word64 -> m ()), MonadIO m) => O.MethodInfo AudioStreamAlignSetAlignmentThresholdMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignSetAlignmentThreshold
#endif
foreign import ccall "gst_audio_stream_align_set_discont_wait" gst_audio_stream_align_set_discont_wait ::
Ptr AudioStreamAlign ->
Word64 ->
IO ()
audioStreamAlignSetDiscontWait ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> Word64
-> m ()
audioStreamAlignSetDiscontWait :: AudioStreamAlign -> Word64 -> m ()
audioStreamAlignSetDiscontWait align :: AudioStreamAlign
align discontWait :: Word64
discontWait = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Ptr AudioStreamAlign -> Word64 -> IO ()
gst_audio_stream_align_set_discont_wait Ptr AudioStreamAlign
align' Word64
discontWait
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignSetDiscontWaitMethodInfo
instance (signature ~ (Word64 -> m ()), MonadIO m) => O.MethodInfo AudioStreamAlignSetDiscontWaitMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignSetDiscontWait
#endif
foreign import ccall "gst_audio_stream_align_set_rate" gst_audio_stream_align_set_rate ::
Ptr AudioStreamAlign ->
Int32 ->
IO ()
audioStreamAlignSetRate ::
(B.CallStack.HasCallStack, MonadIO m) =>
AudioStreamAlign
-> Int32
-> m ()
audioStreamAlignSetRate :: AudioStreamAlign -> Int32 -> m ()
audioStreamAlignSetRate align :: AudioStreamAlign
align rate :: Int32
rate = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr AudioStreamAlign
align' <- AudioStreamAlign -> IO (Ptr AudioStreamAlign)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioStreamAlign
align
Ptr AudioStreamAlign -> Int32 -> IO ()
gst_audio_stream_align_set_rate Ptr AudioStreamAlign
align' Int32
rate
AudioStreamAlign -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioStreamAlign
align
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data AudioStreamAlignSetRateMethodInfo
instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo AudioStreamAlignSetRateMethodInfo AudioStreamAlign signature where
overloadedMethod = audioStreamAlignSetRate
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveAudioStreamAlignMethod (t :: Symbol) (o :: *) :: * where
ResolveAudioStreamAlignMethod "copy" o = AudioStreamAlignCopyMethodInfo
ResolveAudioStreamAlignMethod "free" o = AudioStreamAlignFreeMethodInfo
ResolveAudioStreamAlignMethod "markDiscont" o = AudioStreamAlignMarkDiscontMethodInfo
ResolveAudioStreamAlignMethod "process" o = AudioStreamAlignProcessMethodInfo
ResolveAudioStreamAlignMethod "getAlignmentThreshold" o = AudioStreamAlignGetAlignmentThresholdMethodInfo
ResolveAudioStreamAlignMethod "getDiscontWait" o = AudioStreamAlignGetDiscontWaitMethodInfo
ResolveAudioStreamAlignMethod "getRate" o = AudioStreamAlignGetRateMethodInfo
ResolveAudioStreamAlignMethod "getSamplesSinceDiscont" o = AudioStreamAlignGetSamplesSinceDiscontMethodInfo
ResolveAudioStreamAlignMethod "getTimestampAtDiscont" o = AudioStreamAlignGetTimestampAtDiscontMethodInfo
ResolveAudioStreamAlignMethod "setAlignmentThreshold" o = AudioStreamAlignSetAlignmentThresholdMethodInfo
ResolveAudioStreamAlignMethod "setDiscontWait" o = AudioStreamAlignSetDiscontWaitMethodInfo
ResolveAudioStreamAlignMethod "setRate" o = AudioStreamAlignSetRateMethodInfo
ResolveAudioStreamAlignMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveAudioStreamAlignMethod t AudioStreamAlign, O.MethodInfo info AudioStreamAlign p) => OL.IsLabel t (AudioStreamAlign -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif