#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstAudio.Callbacks
(
AudioBaseSinkCustomSlavingCallback ,
AudioBaseSinkCustomSlavingCallback_WithClosures,
C_AudioBaseSinkCustomSlavingCallback ,
drop_closures_AudioBaseSinkCustomSlavingCallback,
dynamic_AudioBaseSinkCustomSlavingCallback,
genClosure_AudioBaseSinkCustomSlavingCallback,
mk_AudioBaseSinkCustomSlavingCallback ,
noAudioBaseSinkCustomSlavingCallback ,
noAudioBaseSinkCustomSlavingCallback_WithClosures,
wrap_AudioBaseSinkCustomSlavingCallback ,
AudioClockGetTimeFunc ,
AudioClockGetTimeFunc_WithClosures ,
C_AudioClockGetTimeFunc ,
drop_closures_AudioClockGetTimeFunc ,
dynamic_AudioClockGetTimeFunc ,
genClosure_AudioClockGetTimeFunc ,
mk_AudioClockGetTimeFunc ,
noAudioClockGetTimeFunc ,
noAudioClockGetTimeFunc_WithClosures ,
wrap_AudioClockGetTimeFunc ,
AudioFormatPack ,
C_AudioFormatPack ,
dynamic_AudioFormatPack ,
genClosure_AudioFormatPack ,
mk_AudioFormatPack ,
noAudioFormatPack ,
wrap_AudioFormatPack ,
AudioFormatUnpack ,
C_AudioFormatUnpack ,
dynamic_AudioFormatUnpack ,
genClosure_AudioFormatUnpack ,
mk_AudioFormatUnpack ,
noAudioFormatUnpack ,
wrap_AudioFormatUnpack ,
AudioRingBufferCallback ,
AudioRingBufferCallback_WithClosures ,
C_AudioRingBufferCallback ,
drop_closures_AudioRingBufferCallback ,
dynamic_AudioRingBufferCallback ,
genClosure_AudioRingBufferCallback ,
mk_AudioRingBufferCallback ,
noAudioRingBufferCallback ,
noAudioRingBufferCallback_WithClosures ,
wrap_AudioRingBufferCallback ,
AudioSinkClassExtensionClearAllFieldCallback,
C_AudioSinkClassExtensionClearAllFieldCallback,
dynamic_AudioSinkClassExtensionClearAllFieldCallback,
genClosure_AudioSinkClassExtensionClearAllFieldCallback,
mk_AudioSinkClassExtensionClearAllFieldCallback,
noAudioSinkClassExtensionClearAllFieldCallback,
wrap_AudioSinkClassExtensionClearAllFieldCallback,
) 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.GArray as B.GArray
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.Coerce as Coerce
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 GHC.Records as R
import qualified GI.Gst.Objects.Clock as Gst.Clock
import {-# SOURCE #-} qualified GI.GstAudio.Enums as GstAudio.Enums
import {-# SOURCE #-} qualified GI.GstAudio.Flags as GstAudio.Flags
import {-# SOURCE #-} qualified GI.GstAudio.Objects.AudioBaseSink as GstAudio.AudioBaseSink
import {-# SOURCE #-} qualified GI.GstAudio.Objects.AudioRingBuffer as GstAudio.AudioRingBuffer
import {-# SOURCE #-} qualified GI.GstAudio.Objects.AudioSink as GstAudio.AudioSink
import {-# SOURCE #-} qualified GI.GstAudio.Structs.AudioFormatInfo as GstAudio.AudioFormatInfo
type C_AudioSinkClassExtensionClearAllFieldCallback =
Ptr GstAudio.AudioSink.AudioSink ->
IO ()
foreign import ccall "dynamic" __dynamic_C_AudioSinkClassExtensionClearAllFieldCallback :: FunPtr C_AudioSinkClassExtensionClearAllFieldCallback -> C_AudioSinkClassExtensionClearAllFieldCallback
dynamic_AudioSinkClassExtensionClearAllFieldCallback ::
(B.CallStack.HasCallStack, MonadIO m, GstAudio.AudioSink.IsAudioSink a) =>
FunPtr C_AudioSinkClassExtensionClearAllFieldCallback
-> a
-> m ()
dynamic_AudioSinkClassExtensionClearAllFieldCallback :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAudioSink a) =>
FunPtr C_AudioSinkClassExtensionClearAllFieldCallback -> a -> m ()
dynamic_AudioSinkClassExtensionClearAllFieldCallback FunPtr C_AudioSinkClassExtensionClearAllFieldCallback
__funPtr a
sink = 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 AudioSink
sink' <- a -> IO (Ptr AudioSink)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
sink
(FunPtr C_AudioSinkClassExtensionClearAllFieldCallback
-> C_AudioSinkClassExtensionClearAllFieldCallback
__dynamic_C_AudioSinkClassExtensionClearAllFieldCallback FunPtr C_AudioSinkClassExtensionClearAllFieldCallback
__funPtr) Ptr AudioSink
sink'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
sink
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "wrapper"
mk_AudioSinkClassExtensionClearAllFieldCallback :: C_AudioSinkClassExtensionClearAllFieldCallback -> IO (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback)
type AudioSinkClassExtensionClearAllFieldCallback =
GstAudio.AudioSink.AudioSink
-> IO ()
noAudioSinkClassExtensionClearAllFieldCallback :: Maybe AudioSinkClassExtensionClearAllFieldCallback
noAudioSinkClassExtensionClearAllFieldCallback :: Maybe AudioSinkClassExtensionClearAllFieldCallback
noAudioSinkClassExtensionClearAllFieldCallback = Maybe AudioSinkClassExtensionClearAllFieldCallback
forall a. Maybe a
Nothing
genClosure_AudioSinkClassExtensionClearAllFieldCallback :: MonadIO m => AudioSinkClassExtensionClearAllFieldCallback -> m (GClosure C_AudioSinkClassExtensionClearAllFieldCallback)
genClosure_AudioSinkClassExtensionClearAllFieldCallback :: forall (m :: * -> *).
MonadIO m =>
AudioSinkClassExtensionClearAllFieldCallback
-> m (GClosure C_AudioSinkClassExtensionClearAllFieldCallback)
genClosure_AudioSinkClassExtensionClearAllFieldCallback AudioSinkClassExtensionClearAllFieldCallback
cb = IO (GClosure C_AudioSinkClassExtensionClearAllFieldCallback)
-> m (GClosure C_AudioSinkClassExtensionClearAllFieldCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_AudioSinkClassExtensionClearAllFieldCallback)
-> m (GClosure C_AudioSinkClassExtensionClearAllFieldCallback))
-> IO (GClosure C_AudioSinkClassExtensionClearAllFieldCallback)
-> m (GClosure C_AudioSinkClassExtensionClearAllFieldCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_AudioSinkClassExtensionClearAllFieldCallback
cb' = Maybe (Ptr (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback))
-> AudioSinkClassExtensionClearAllFieldCallback
-> C_AudioSinkClassExtensionClearAllFieldCallback
wrap_AudioSinkClassExtensionClearAllFieldCallback Maybe (Ptr (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback))
forall a. Maybe a
Nothing AudioSinkClassExtensionClearAllFieldCallback
cb
C_AudioSinkClassExtensionClearAllFieldCallback
-> IO (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback)
mk_AudioSinkClassExtensionClearAllFieldCallback C_AudioSinkClassExtensionClearAllFieldCallback
cb' IO (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback)
-> (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback
-> IO (GClosure C_AudioSinkClassExtensionClearAllFieldCallback))
-> IO (GClosure C_AudioSinkClassExtensionClearAllFieldCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_AudioSinkClassExtensionClearAllFieldCallback
-> IO (GClosure C_AudioSinkClassExtensionClearAllFieldCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_AudioSinkClassExtensionClearAllFieldCallback ::
Maybe (Ptr (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback)) ->
AudioSinkClassExtensionClearAllFieldCallback ->
C_AudioSinkClassExtensionClearAllFieldCallback
wrap_AudioSinkClassExtensionClearAllFieldCallback :: Maybe (Ptr (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback))
-> AudioSinkClassExtensionClearAllFieldCallback
-> C_AudioSinkClassExtensionClearAllFieldCallback
wrap_AudioSinkClassExtensionClearAllFieldCallback Maybe (Ptr (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback))
gi'funptrptr AudioSinkClassExtensionClearAllFieldCallback
gi'cb Ptr AudioSink
sink = do
AudioSink
sink' <- ((ManagedPtr AudioSink -> AudioSink)
-> Ptr AudioSink -> IO AudioSink
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr AudioSink -> AudioSink
GstAudio.AudioSink.AudioSink) Ptr AudioSink
sink
AudioSinkClassExtensionClearAllFieldCallback
gi'cb AudioSink
sink'
Maybe (Ptr (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback))
-> IO ()
forall a. Maybe (Ptr (FunPtr a)) -> IO ()
maybeReleaseFunPtr Maybe (Ptr (FunPtr C_AudioSinkClassExtensionClearAllFieldCallback))
gi'funptrptr
type C_AudioRingBufferCallback =
Ptr GstAudio.AudioRingBuffer.AudioRingBuffer ->
Ptr Word8 ->
Word32 ->
Ptr () ->
IO ()
foreign import ccall "dynamic" __dynamic_C_AudioRingBufferCallback :: FunPtr C_AudioRingBufferCallback -> C_AudioRingBufferCallback
dynamic_AudioRingBufferCallback ::
(B.CallStack.HasCallStack, MonadIO m, GstAudio.AudioRingBuffer.IsAudioRingBuffer a) =>
FunPtr C_AudioRingBufferCallback
-> a
-> ByteString
-> Ptr ()
-> m ()
dynamic_AudioRingBufferCallback :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAudioRingBuffer a) =>
FunPtr C_AudioRingBufferCallback
-> a -> ByteString -> Ptr () -> m ()
dynamic_AudioRingBufferCallback FunPtr C_AudioRingBufferCallback
__funPtr a
rbuf ByteString
data_ Ptr ()
userData = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
let len :: Word32
len = Int -> Word32
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> Word32) -> Int -> Word32
forall a b. (a -> b) -> a -> b
$ ByteString -> Int
B.length ByteString
data_
Ptr AudioRingBuffer
rbuf' <- a -> IO (Ptr AudioRingBuffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
rbuf
Ptr Word8
data_' <- ByteString -> IO (Ptr Word8)
packByteString ByteString
data_
(FunPtr C_AudioRingBufferCallback -> C_AudioRingBufferCallback
__dynamic_C_AudioRingBufferCallback FunPtr C_AudioRingBufferCallback
__funPtr) Ptr AudioRingBuffer
rbuf' Ptr Word8
data_' Word32
len Ptr ()
userData
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
rbuf
Ptr Word8 -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr Word8
data_'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "wrapper"
mk_AudioRingBufferCallback :: C_AudioRingBufferCallback -> IO (FunPtr C_AudioRingBufferCallback)
type AudioRingBufferCallback =
GstAudio.AudioRingBuffer.AudioRingBuffer
-> ByteString
-> IO ()
noAudioRingBufferCallback :: Maybe AudioRingBufferCallback
noAudioRingBufferCallback :: Maybe AudioRingBufferCallback
noAudioRingBufferCallback = Maybe AudioRingBufferCallback
forall a. Maybe a
Nothing
type AudioRingBufferCallback_WithClosures =
GstAudio.AudioRingBuffer.AudioRingBuffer
-> ByteString
-> Ptr ()
-> IO ()
noAudioRingBufferCallback_WithClosures :: Maybe AudioRingBufferCallback_WithClosures
noAudioRingBufferCallback_WithClosures :: Maybe AudioRingBufferCallback_WithClosures
noAudioRingBufferCallback_WithClosures = Maybe AudioRingBufferCallback_WithClosures
forall a. Maybe a
Nothing
drop_closures_AudioRingBufferCallback :: AudioRingBufferCallback -> AudioRingBufferCallback_WithClosures
drop_closures_AudioRingBufferCallback :: AudioRingBufferCallback -> AudioRingBufferCallback_WithClosures
drop_closures_AudioRingBufferCallback AudioRingBufferCallback
_f AudioRingBuffer
rbuf ByteString
data_ Ptr ()
_ = AudioRingBufferCallback
_f AudioRingBuffer
rbuf ByteString
data_
genClosure_AudioRingBufferCallback :: MonadIO m => AudioRingBufferCallback -> m (GClosure C_AudioRingBufferCallback)
genClosure_AudioRingBufferCallback :: forall (m :: * -> *).
MonadIO m =>
AudioRingBufferCallback -> m (GClosure C_AudioRingBufferCallback)
genClosure_AudioRingBufferCallback AudioRingBufferCallback
cb = IO (GClosure C_AudioRingBufferCallback)
-> m (GClosure C_AudioRingBufferCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_AudioRingBufferCallback)
-> m (GClosure C_AudioRingBufferCallback))
-> IO (GClosure C_AudioRingBufferCallback)
-> m (GClosure C_AudioRingBufferCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: AudioRingBufferCallback_WithClosures
cb' = AudioRingBufferCallback -> AudioRingBufferCallback_WithClosures
drop_closures_AudioRingBufferCallback AudioRingBufferCallback
cb
let cb'' :: C_AudioRingBufferCallback
cb'' = Maybe (Ptr (FunPtr C_AudioRingBufferCallback))
-> AudioRingBufferCallback_WithClosures
-> C_AudioRingBufferCallback
wrap_AudioRingBufferCallback Maybe (Ptr (FunPtr C_AudioRingBufferCallback))
forall a. Maybe a
Nothing AudioRingBufferCallback_WithClosures
cb'
C_AudioRingBufferCallback -> IO (FunPtr C_AudioRingBufferCallback)
mk_AudioRingBufferCallback C_AudioRingBufferCallback
cb'' IO (FunPtr C_AudioRingBufferCallback)
-> (FunPtr C_AudioRingBufferCallback
-> IO (GClosure C_AudioRingBufferCallback))
-> IO (GClosure C_AudioRingBufferCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_AudioRingBufferCallback
-> IO (GClosure C_AudioRingBufferCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_AudioRingBufferCallback ::
Maybe (Ptr (FunPtr C_AudioRingBufferCallback)) ->
AudioRingBufferCallback_WithClosures ->
C_AudioRingBufferCallback
wrap_AudioRingBufferCallback :: Maybe (Ptr (FunPtr C_AudioRingBufferCallback))
-> AudioRingBufferCallback_WithClosures
-> C_AudioRingBufferCallback
wrap_AudioRingBufferCallback Maybe (Ptr (FunPtr C_AudioRingBufferCallback))
gi'funptrptr AudioRingBufferCallback_WithClosures
gi'cb Ptr AudioRingBuffer
rbuf Ptr Word8
data_ Word32
len Ptr ()
userData = do
AudioRingBuffer
rbuf' <- ((ManagedPtr AudioRingBuffer -> AudioRingBuffer)
-> Ptr AudioRingBuffer -> IO AudioRingBuffer
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr AudioRingBuffer -> AudioRingBuffer
GstAudio.AudioRingBuffer.AudioRingBuffer) Ptr AudioRingBuffer
rbuf
ByteString
data_' <- (Word32 -> Ptr Word8 -> IO ByteString
forall a. Integral a => a -> Ptr Word8 -> IO ByteString
unpackByteStringWithLength Word32
len) Ptr Word8
data_
AudioRingBufferCallback_WithClosures
gi'cb AudioRingBuffer
rbuf' ByteString
data_' Ptr ()
userData
Maybe (Ptr (FunPtr C_AudioRingBufferCallback)) -> IO ()
forall a. Maybe (Ptr (FunPtr a)) -> IO ()
maybeReleaseFunPtr Maybe (Ptr (FunPtr C_AudioRingBufferCallback))
gi'funptrptr
type C_AudioFormatUnpack =
Ptr GstAudio.AudioFormatInfo.AudioFormatInfo ->
CUInt ->
Ptr Word8 ->
Ptr Word8 ->
Int32 ->
IO ()
foreign import ccall "dynamic" __dynamic_C_AudioFormatUnpack :: FunPtr C_AudioFormatUnpack -> C_AudioFormatUnpack
dynamic_AudioFormatUnpack ::
(B.CallStack.HasCallStack, MonadIO m) =>
FunPtr C_AudioFormatUnpack
-> GstAudio.AudioFormatInfo.AudioFormatInfo
-> [GstAudio.Flags.AudioPackFlags]
-> Ptr Word8
-> Ptr Word8
-> Int32
-> m ()
dynamic_AudioFormatUnpack :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_AudioFormatUnpack
-> AudioFormatInfo
-> [AudioPackFlags]
-> Ptr Word8
-> Ptr Word8
-> Int32
-> m ()
dynamic_AudioFormatUnpack FunPtr C_AudioFormatUnpack
__funPtr AudioFormatInfo
info [AudioPackFlags]
flags Ptr Word8
dest Ptr Word8
data_ Int32
length_ = 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 AudioFormatInfo
info' <- AudioFormatInfo -> IO (Ptr AudioFormatInfo)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioFormatInfo
info
let flags' :: CUInt
flags' = [AudioPackFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [AudioPackFlags]
flags
(FunPtr C_AudioFormatUnpack -> C_AudioFormatUnpack
__dynamic_C_AudioFormatUnpack FunPtr C_AudioFormatUnpack
__funPtr) Ptr AudioFormatInfo
info' CUInt
flags' Ptr Word8
dest Ptr Word8
data_ Int32
length_
AudioFormatInfo -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioFormatInfo
info
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "wrapper"
mk_AudioFormatUnpack :: C_AudioFormatUnpack -> IO (FunPtr C_AudioFormatUnpack)
type AudioFormatUnpack =
GstAudio.AudioFormatInfo.AudioFormatInfo
-> [GstAudio.Flags.AudioPackFlags]
-> Ptr Word8
-> Ptr Word8
-> Int32
-> IO ()
noAudioFormatUnpack :: Maybe AudioFormatUnpack
noAudioFormatUnpack :: Maybe AudioFormatUnpack
noAudioFormatUnpack = Maybe AudioFormatUnpack
forall a. Maybe a
Nothing
genClosure_AudioFormatUnpack :: MonadIO m => AudioFormatUnpack -> m (GClosure C_AudioFormatUnpack)
genClosure_AudioFormatUnpack :: forall (m :: * -> *).
MonadIO m =>
AudioFormatUnpack -> m (GClosure C_AudioFormatUnpack)
genClosure_AudioFormatUnpack AudioFormatUnpack
cb = IO (GClosure C_AudioFormatUnpack)
-> m (GClosure C_AudioFormatUnpack)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_AudioFormatUnpack)
-> m (GClosure C_AudioFormatUnpack))
-> IO (GClosure C_AudioFormatUnpack)
-> m (GClosure C_AudioFormatUnpack)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_AudioFormatUnpack
cb' = Maybe (Ptr (FunPtr C_AudioFormatUnpack))
-> AudioFormatUnpack -> C_AudioFormatUnpack
wrap_AudioFormatUnpack Maybe (Ptr (FunPtr C_AudioFormatUnpack))
forall a. Maybe a
Nothing AudioFormatUnpack
cb
C_AudioFormatUnpack -> IO (FunPtr C_AudioFormatUnpack)
mk_AudioFormatUnpack C_AudioFormatUnpack
cb' IO (FunPtr C_AudioFormatUnpack)
-> (FunPtr C_AudioFormatUnpack
-> IO (GClosure C_AudioFormatUnpack))
-> IO (GClosure C_AudioFormatUnpack)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_AudioFormatUnpack -> IO (GClosure C_AudioFormatUnpack)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_AudioFormatUnpack ::
Maybe (Ptr (FunPtr C_AudioFormatUnpack)) ->
AudioFormatUnpack ->
C_AudioFormatUnpack
wrap_AudioFormatUnpack :: Maybe (Ptr (FunPtr C_AudioFormatUnpack))
-> AudioFormatUnpack -> C_AudioFormatUnpack
wrap_AudioFormatUnpack Maybe (Ptr (FunPtr C_AudioFormatUnpack))
gi'funptrptr AudioFormatUnpack
gi'cb Ptr AudioFormatInfo
info CUInt
flags Ptr Word8
dest Ptr Word8
data_ Int32
length_ = do
AudioFormatInfo
info' <- ((ManagedPtr AudioFormatInfo -> AudioFormatInfo)
-> Ptr AudioFormatInfo -> IO AudioFormatInfo
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr AudioFormatInfo -> AudioFormatInfo
GstAudio.AudioFormatInfo.AudioFormatInfo) Ptr AudioFormatInfo
info
let flags' :: [AudioPackFlags]
flags' = CUInt -> [AudioPackFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
flags
AudioFormatUnpack
gi'cb AudioFormatInfo
info' [AudioPackFlags]
flags' Ptr Word8
dest Ptr Word8
data_ Int32
length_
Maybe (Ptr (FunPtr C_AudioFormatUnpack)) -> IO ()
forall a. Maybe (Ptr (FunPtr a)) -> IO ()
maybeReleaseFunPtr Maybe (Ptr (FunPtr C_AudioFormatUnpack))
gi'funptrptr
type C_AudioFormatPack =
Ptr GstAudio.AudioFormatInfo.AudioFormatInfo ->
CUInt ->
Ptr Word8 ->
Ptr Word8 ->
Int32 ->
IO ()
foreign import ccall "dynamic" __dynamic_C_AudioFormatPack :: FunPtr C_AudioFormatPack -> C_AudioFormatPack
dynamic_AudioFormatPack ::
(B.CallStack.HasCallStack, MonadIO m) =>
FunPtr C_AudioFormatPack
-> GstAudio.AudioFormatInfo.AudioFormatInfo
-> [GstAudio.Flags.AudioPackFlags]
-> Ptr Word8
-> Ptr Word8
-> Int32
-> m ()
dynamic_AudioFormatPack :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_AudioFormatUnpack
-> AudioFormatInfo
-> [AudioPackFlags]
-> Ptr Word8
-> Ptr Word8
-> Int32
-> m ()
dynamic_AudioFormatPack FunPtr C_AudioFormatUnpack
__funPtr AudioFormatInfo
info [AudioPackFlags]
flags Ptr Word8
src Ptr Word8
data_ Int32
length_ = 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 AudioFormatInfo
info' <- AudioFormatInfo -> IO (Ptr AudioFormatInfo)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr AudioFormatInfo
info
let flags' :: CUInt
flags' = [AudioPackFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [AudioPackFlags]
flags
(FunPtr C_AudioFormatUnpack -> C_AudioFormatUnpack
__dynamic_C_AudioFormatPack FunPtr C_AudioFormatUnpack
__funPtr) Ptr AudioFormatInfo
info' CUInt
flags' Ptr Word8
src Ptr Word8
data_ Int32
length_
AudioFormatInfo -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr AudioFormatInfo
info
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "wrapper"
mk_AudioFormatPack :: C_AudioFormatPack -> IO (FunPtr C_AudioFormatPack)
type AudioFormatPack =
GstAudio.AudioFormatInfo.AudioFormatInfo
-> [GstAudio.Flags.AudioPackFlags]
-> Ptr Word8
-> Ptr Word8
-> Int32
-> IO ()
noAudioFormatPack :: Maybe AudioFormatPack
noAudioFormatPack :: Maybe AudioFormatUnpack
noAudioFormatPack = Maybe AudioFormatUnpack
forall a. Maybe a
Nothing
genClosure_AudioFormatPack :: MonadIO m => AudioFormatPack -> m (GClosure C_AudioFormatPack)
genClosure_AudioFormatPack :: forall (m :: * -> *).
MonadIO m =>
AudioFormatUnpack -> m (GClosure C_AudioFormatUnpack)
genClosure_AudioFormatPack AudioFormatUnpack
cb = IO (GClosure C_AudioFormatUnpack)
-> m (GClosure C_AudioFormatUnpack)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_AudioFormatUnpack)
-> m (GClosure C_AudioFormatUnpack))
-> IO (GClosure C_AudioFormatUnpack)
-> m (GClosure C_AudioFormatUnpack)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: C_AudioFormatUnpack
cb' = Maybe (Ptr (FunPtr C_AudioFormatUnpack))
-> AudioFormatUnpack -> C_AudioFormatUnpack
wrap_AudioFormatPack Maybe (Ptr (FunPtr C_AudioFormatUnpack))
forall a. Maybe a
Nothing AudioFormatUnpack
cb
C_AudioFormatUnpack -> IO (FunPtr C_AudioFormatUnpack)
mk_AudioFormatPack C_AudioFormatUnpack
cb' IO (FunPtr C_AudioFormatUnpack)
-> (FunPtr C_AudioFormatUnpack
-> IO (GClosure C_AudioFormatUnpack))
-> IO (GClosure C_AudioFormatUnpack)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_AudioFormatUnpack -> IO (GClosure C_AudioFormatUnpack)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_AudioFormatPack ::
Maybe (Ptr (FunPtr C_AudioFormatPack)) ->
AudioFormatPack ->
C_AudioFormatPack
wrap_AudioFormatPack :: Maybe (Ptr (FunPtr C_AudioFormatUnpack))
-> AudioFormatUnpack -> C_AudioFormatUnpack
wrap_AudioFormatPack Maybe (Ptr (FunPtr C_AudioFormatUnpack))
gi'funptrptr AudioFormatUnpack
gi'cb Ptr AudioFormatInfo
info CUInt
flags Ptr Word8
src Ptr Word8
data_ Int32
length_ = do
AudioFormatInfo
info' <- ((ManagedPtr AudioFormatInfo -> AudioFormatInfo)
-> Ptr AudioFormatInfo -> IO AudioFormatInfo
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr AudioFormatInfo -> AudioFormatInfo
GstAudio.AudioFormatInfo.AudioFormatInfo) Ptr AudioFormatInfo
info
let flags' :: [AudioPackFlags]
flags' = CUInt -> [AudioPackFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
flags
AudioFormatUnpack
gi'cb AudioFormatInfo
info' [AudioPackFlags]
flags' Ptr Word8
src Ptr Word8
data_ Int32
length_
Maybe (Ptr (FunPtr C_AudioFormatUnpack)) -> IO ()
forall a. Maybe (Ptr (FunPtr a)) -> IO ()
maybeReleaseFunPtr Maybe (Ptr (FunPtr C_AudioFormatUnpack))
gi'funptrptr
type C_AudioClockGetTimeFunc =
Ptr Gst.Clock.Clock ->
Ptr () ->
IO Word64
foreign import ccall "dynamic" __dynamic_C_AudioClockGetTimeFunc :: FunPtr C_AudioClockGetTimeFunc -> C_AudioClockGetTimeFunc
dynamic_AudioClockGetTimeFunc ::
(B.CallStack.HasCallStack, MonadIO m, Gst.Clock.IsClock a) =>
FunPtr C_AudioClockGetTimeFunc
-> a
-> Ptr ()
-> m Word64
dynamic_AudioClockGetTimeFunc :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsClock a) =>
FunPtr C_AudioClockGetTimeFunc -> a -> Ptr () -> m Word64
dynamic_AudioClockGetTimeFunc FunPtr C_AudioClockGetTimeFunc
__funPtr a
clock Ptr ()
userData = 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 Clock
clock' <- a -> IO (Ptr Clock)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
clock
Word64
result <- (FunPtr C_AudioClockGetTimeFunc -> C_AudioClockGetTimeFunc
__dynamic_C_AudioClockGetTimeFunc FunPtr C_AudioClockGetTimeFunc
__funPtr) Ptr Clock
clock' Ptr ()
userData
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
clock
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
foreign import ccall "wrapper"
mk_AudioClockGetTimeFunc :: C_AudioClockGetTimeFunc -> IO (FunPtr C_AudioClockGetTimeFunc)
type AudioClockGetTimeFunc =
Gst.Clock.Clock
-> IO Word64
noAudioClockGetTimeFunc :: Maybe AudioClockGetTimeFunc
noAudioClockGetTimeFunc :: Maybe AudioClockGetTimeFunc
noAudioClockGetTimeFunc = Maybe AudioClockGetTimeFunc
forall a. Maybe a
Nothing
type AudioClockGetTimeFunc_WithClosures =
Gst.Clock.Clock
-> Ptr ()
-> IO Word64
noAudioClockGetTimeFunc_WithClosures :: Maybe AudioClockGetTimeFunc_WithClosures
noAudioClockGetTimeFunc_WithClosures :: Maybe AudioClockGetTimeFunc_WithClosures
noAudioClockGetTimeFunc_WithClosures = Maybe AudioClockGetTimeFunc_WithClosures
forall a. Maybe a
Nothing
drop_closures_AudioClockGetTimeFunc :: AudioClockGetTimeFunc -> AudioClockGetTimeFunc_WithClosures
drop_closures_AudioClockGetTimeFunc :: AudioClockGetTimeFunc -> AudioClockGetTimeFunc_WithClosures
drop_closures_AudioClockGetTimeFunc AudioClockGetTimeFunc
_f Clock
clock Ptr ()
_ = AudioClockGetTimeFunc
_f Clock
clock
genClosure_AudioClockGetTimeFunc :: MonadIO m => AudioClockGetTimeFunc -> m (GClosure C_AudioClockGetTimeFunc)
genClosure_AudioClockGetTimeFunc :: forall (m :: * -> *).
MonadIO m =>
AudioClockGetTimeFunc -> m (GClosure C_AudioClockGetTimeFunc)
genClosure_AudioClockGetTimeFunc AudioClockGetTimeFunc
cb = IO (GClosure C_AudioClockGetTimeFunc)
-> m (GClosure C_AudioClockGetTimeFunc)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_AudioClockGetTimeFunc)
-> m (GClosure C_AudioClockGetTimeFunc))
-> IO (GClosure C_AudioClockGetTimeFunc)
-> m (GClosure C_AudioClockGetTimeFunc)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: AudioClockGetTimeFunc_WithClosures
cb' = AudioClockGetTimeFunc -> AudioClockGetTimeFunc_WithClosures
drop_closures_AudioClockGetTimeFunc AudioClockGetTimeFunc
cb
let cb'' :: C_AudioClockGetTimeFunc
cb'' = Maybe (Ptr (FunPtr C_AudioClockGetTimeFunc))
-> AudioClockGetTimeFunc_WithClosures -> C_AudioClockGetTimeFunc
wrap_AudioClockGetTimeFunc Maybe (Ptr (FunPtr C_AudioClockGetTimeFunc))
forall a. Maybe a
Nothing AudioClockGetTimeFunc_WithClosures
cb'
C_AudioClockGetTimeFunc -> IO (FunPtr C_AudioClockGetTimeFunc)
mk_AudioClockGetTimeFunc C_AudioClockGetTimeFunc
cb'' IO (FunPtr C_AudioClockGetTimeFunc)
-> (FunPtr C_AudioClockGetTimeFunc
-> IO (GClosure C_AudioClockGetTimeFunc))
-> IO (GClosure C_AudioClockGetTimeFunc)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_AudioClockGetTimeFunc
-> IO (GClosure C_AudioClockGetTimeFunc)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_AudioClockGetTimeFunc ::
Maybe (Ptr (FunPtr C_AudioClockGetTimeFunc)) ->
AudioClockGetTimeFunc_WithClosures ->
C_AudioClockGetTimeFunc
wrap_AudioClockGetTimeFunc :: Maybe (Ptr (FunPtr C_AudioClockGetTimeFunc))
-> AudioClockGetTimeFunc_WithClosures -> C_AudioClockGetTimeFunc
wrap_AudioClockGetTimeFunc Maybe (Ptr (FunPtr C_AudioClockGetTimeFunc))
gi'funptrptr AudioClockGetTimeFunc_WithClosures
gi'cb Ptr Clock
clock Ptr ()
userData = do
Clock
clock' <- ((ManagedPtr Clock -> Clock) -> Ptr Clock -> IO Clock
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Clock -> Clock
Gst.Clock.Clock) Ptr Clock
clock
Word64
result <- AudioClockGetTimeFunc_WithClosures
gi'cb Clock
clock' Ptr ()
userData
Maybe (Ptr (FunPtr C_AudioClockGetTimeFunc)) -> IO ()
forall a. Maybe (Ptr (FunPtr a)) -> IO ()
maybeReleaseFunPtr Maybe (Ptr (FunPtr C_AudioClockGetTimeFunc))
gi'funptrptr
Word64 -> IO Word64
forall (m :: * -> *) a. Monad m => a -> m a
return Word64
result
type C_AudioBaseSinkCustomSlavingCallback =
Ptr GstAudio.AudioBaseSink.AudioBaseSink ->
Word64 ->
Word64 ->
Int64 ->
CUInt ->
Ptr () ->
IO ()
foreign import ccall "dynamic" __dynamic_C_AudioBaseSinkCustomSlavingCallback :: FunPtr C_AudioBaseSinkCustomSlavingCallback -> C_AudioBaseSinkCustomSlavingCallback
dynamic_AudioBaseSinkCustomSlavingCallback ::
(B.CallStack.HasCallStack, MonadIO m, GstAudio.AudioBaseSink.IsAudioBaseSink a) =>
FunPtr C_AudioBaseSinkCustomSlavingCallback
-> a
-> Word64
-> Word64
-> Int64
-> GstAudio.Enums.AudioBaseSinkDiscontReason
-> Ptr ()
-> m ()
dynamic_AudioBaseSinkCustomSlavingCallback :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsAudioBaseSink a) =>
FunPtr C_AudioBaseSinkCustomSlavingCallback
-> a
-> Word64
-> Word64
-> Int64
-> AudioBaseSinkDiscontReason
-> Ptr ()
-> m ()
dynamic_AudioBaseSinkCustomSlavingCallback FunPtr C_AudioBaseSinkCustomSlavingCallback
__funPtr a
sink Word64
etime Word64
itime Int64
requestedSkew AudioBaseSinkDiscontReason
discontReason Ptr ()
userData = 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 AudioBaseSink
sink' <- a -> IO (Ptr AudioBaseSink)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
sink
let discontReason' :: CUInt
discontReason' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (AudioBaseSinkDiscontReason -> Int)
-> AudioBaseSinkDiscontReason
-> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AudioBaseSinkDiscontReason -> Int
forall a. Enum a => a -> Int
fromEnum) AudioBaseSinkDiscontReason
discontReason
(FunPtr C_AudioBaseSinkCustomSlavingCallback
-> C_AudioBaseSinkCustomSlavingCallback
__dynamic_C_AudioBaseSinkCustomSlavingCallback FunPtr C_AudioBaseSinkCustomSlavingCallback
__funPtr) Ptr AudioBaseSink
sink' Word64
etime Word64
itime Int64
requestedSkew CUInt
discontReason' Ptr ()
userData
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
sink
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "wrapper"
mk_AudioBaseSinkCustomSlavingCallback :: C_AudioBaseSinkCustomSlavingCallback -> IO (FunPtr C_AudioBaseSinkCustomSlavingCallback)
type AudioBaseSinkCustomSlavingCallback =
GstAudio.AudioBaseSink.AudioBaseSink
-> Word64
-> Word64
-> Int64
-> GstAudio.Enums.AudioBaseSinkDiscontReason
-> IO ()
noAudioBaseSinkCustomSlavingCallback :: Maybe AudioBaseSinkCustomSlavingCallback
noAudioBaseSinkCustomSlavingCallback :: Maybe AudioBaseSinkCustomSlavingCallback
noAudioBaseSinkCustomSlavingCallback = Maybe AudioBaseSinkCustomSlavingCallback
forall a. Maybe a
Nothing
type AudioBaseSinkCustomSlavingCallback_WithClosures =
GstAudio.AudioBaseSink.AudioBaseSink
-> Word64
-> Word64
-> Int64
-> GstAudio.Enums.AudioBaseSinkDiscontReason
-> Ptr ()
-> IO ()
noAudioBaseSinkCustomSlavingCallback_WithClosures :: Maybe AudioBaseSinkCustomSlavingCallback_WithClosures
noAudioBaseSinkCustomSlavingCallback_WithClosures :: Maybe AudioBaseSinkCustomSlavingCallback_WithClosures
noAudioBaseSinkCustomSlavingCallback_WithClosures = Maybe AudioBaseSinkCustomSlavingCallback_WithClosures
forall a. Maybe a
Nothing
drop_closures_AudioBaseSinkCustomSlavingCallback :: AudioBaseSinkCustomSlavingCallback -> AudioBaseSinkCustomSlavingCallback_WithClosures
drop_closures_AudioBaseSinkCustomSlavingCallback :: AudioBaseSinkCustomSlavingCallback
-> AudioBaseSinkCustomSlavingCallback_WithClosures
drop_closures_AudioBaseSinkCustomSlavingCallback AudioBaseSinkCustomSlavingCallback
_f AudioBaseSink
sink Word64
etime Word64
itime Int64
requestedSkew AudioBaseSinkDiscontReason
discontReason Ptr ()
_ = AudioBaseSinkCustomSlavingCallback
_f AudioBaseSink
sink Word64
etime Word64
itime Int64
requestedSkew AudioBaseSinkDiscontReason
discontReason
genClosure_AudioBaseSinkCustomSlavingCallback :: MonadIO m => AudioBaseSinkCustomSlavingCallback -> m (GClosure C_AudioBaseSinkCustomSlavingCallback)
genClosure_AudioBaseSinkCustomSlavingCallback :: forall (m :: * -> *).
MonadIO m =>
AudioBaseSinkCustomSlavingCallback
-> m (GClosure C_AudioBaseSinkCustomSlavingCallback)
genClosure_AudioBaseSinkCustomSlavingCallback AudioBaseSinkCustomSlavingCallback
cb = IO (GClosure C_AudioBaseSinkCustomSlavingCallback)
-> m (GClosure C_AudioBaseSinkCustomSlavingCallback)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (GClosure C_AudioBaseSinkCustomSlavingCallback)
-> m (GClosure C_AudioBaseSinkCustomSlavingCallback))
-> IO (GClosure C_AudioBaseSinkCustomSlavingCallback)
-> m (GClosure C_AudioBaseSinkCustomSlavingCallback)
forall a b. (a -> b) -> a -> b
$ do
let cb' :: AudioBaseSinkCustomSlavingCallback_WithClosures
cb' = AudioBaseSinkCustomSlavingCallback
-> AudioBaseSinkCustomSlavingCallback_WithClosures
drop_closures_AudioBaseSinkCustomSlavingCallback AudioBaseSinkCustomSlavingCallback
cb
let cb'' :: C_AudioBaseSinkCustomSlavingCallback
cb'' = Maybe (Ptr (FunPtr C_AudioBaseSinkCustomSlavingCallback))
-> AudioBaseSinkCustomSlavingCallback_WithClosures
-> C_AudioBaseSinkCustomSlavingCallback
wrap_AudioBaseSinkCustomSlavingCallback Maybe (Ptr (FunPtr C_AudioBaseSinkCustomSlavingCallback))
forall a. Maybe a
Nothing AudioBaseSinkCustomSlavingCallback_WithClosures
cb'
C_AudioBaseSinkCustomSlavingCallback
-> IO (FunPtr C_AudioBaseSinkCustomSlavingCallback)
mk_AudioBaseSinkCustomSlavingCallback C_AudioBaseSinkCustomSlavingCallback
cb'' IO (FunPtr C_AudioBaseSinkCustomSlavingCallback)
-> (FunPtr C_AudioBaseSinkCustomSlavingCallback
-> IO (GClosure C_AudioBaseSinkCustomSlavingCallback))
-> IO (GClosure C_AudioBaseSinkCustomSlavingCallback)
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= FunPtr C_AudioBaseSinkCustomSlavingCallback
-> IO (GClosure C_AudioBaseSinkCustomSlavingCallback)
forall (m :: * -> *) a. MonadIO m => FunPtr a -> m (GClosure a)
B.GClosure.newGClosure
wrap_AudioBaseSinkCustomSlavingCallback ::
Maybe (Ptr (FunPtr C_AudioBaseSinkCustomSlavingCallback)) ->
AudioBaseSinkCustomSlavingCallback_WithClosures ->
C_AudioBaseSinkCustomSlavingCallback
wrap_AudioBaseSinkCustomSlavingCallback :: Maybe (Ptr (FunPtr C_AudioBaseSinkCustomSlavingCallback))
-> AudioBaseSinkCustomSlavingCallback_WithClosures
-> C_AudioBaseSinkCustomSlavingCallback
wrap_AudioBaseSinkCustomSlavingCallback Maybe (Ptr (FunPtr C_AudioBaseSinkCustomSlavingCallback))
gi'funptrptr AudioBaseSinkCustomSlavingCallback_WithClosures
gi'cb Ptr AudioBaseSink
sink Word64
etime Word64
itime Int64
requestedSkew CUInt
discontReason Ptr ()
userData = do
AudioBaseSink
sink' <- ((ManagedPtr AudioBaseSink -> AudioBaseSink)
-> Ptr AudioBaseSink -> IO AudioBaseSink
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr AudioBaseSink -> AudioBaseSink
GstAudio.AudioBaseSink.AudioBaseSink) Ptr AudioBaseSink
sink
let discontReason' :: AudioBaseSinkDiscontReason
discontReason' = (Int -> AudioBaseSinkDiscontReason
forall a. Enum a => Int -> a
toEnum (Int -> AudioBaseSinkDiscontReason)
-> (CUInt -> Int) -> CUInt -> AudioBaseSinkDiscontReason
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
discontReason
AudioBaseSinkCustomSlavingCallback_WithClosures
gi'cb AudioBaseSink
sink' Word64
etime Word64
itime Int64
requestedSkew AudioBaseSinkDiscontReason
discontReason' Ptr ()
userData
Maybe (Ptr (FunPtr C_AudioBaseSinkCustomSlavingCallback)) -> IO ()
forall a. Maybe (Ptr (FunPtr a)) -> IO ()
maybeReleaseFunPtr Maybe (Ptr (FunPtr C_AudioBaseSinkCustomSlavingCallback))
gi'funptrptr